Встречается на 2% собеседований по Python
Работал ли с транзакциями
Да, работал с транзакциями в контексте баз данных. В 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
интервью вопросы и ответы