Встречается на собеседованиях • сегодня
Работал ли с транзакциями
Да, работал с транзакциями в контексте баз данных. В 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()
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы