Встречается на собеседованиях • сегодня

Работал ли с транзакциями

Да, работал с транзакциями в контексте баз данных. В Python чаще всего использую транзакции при работе с ORM (например, SQLAlchemy) или напрямую через DB-API (psycopg2 для PostgreSQL, sqlite3 и т.д.).

Основные принципы:

  • ACID (атомарность, согласованность, изолированность, долговечность)
  • Использование commit() и rollback()
  • Контекстные менеджеры для автоматического управления

Пример с SQLAlchemy:

python
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

engine = create_engine('sqlite:///mydb.db')
Session = sessionmaker(bind=engine)

try:
    session = Session()
    # Операции внутри транзакции
    session.add(some_object)
    session.commit()
except Exception as e:
    session.rollback()
    print(f"Error: {e}")
finally:
    session.close()

Пример с psycopg2:

python
import psycopg2

conn = psycopg2.connect("dbname=test user=postgres")
try:
    with conn:
        with conn.cursor() as cursor:
            cursor.execute("INSERT INTO table VALUES (%s)", (value,))
            # Автоматический commit при успехе или rollback при ошибке
except Exception as e:
    print(f"Transaction failed: {e}")
finally:
    conn.close()
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы