Встречается на 1% собеседований по Python
Был ли опыт работы с транзакциями в базах данных
Да, работал с транзакциями в SQL и ORM (Django, SQLAlchemy). Основные моменты:
- ACID-свойства: атомарность, согласованность, изоляция, долговечность
- Уровни изоляции: read uncommitted, read committed, repeatable read, serializable
- Пример с SQLAlchemy:
python
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
engine = create_engine('postgresql://user:pass@localhost/db')
Session = sessionmaker(bind=engine)
session = Session()
try:
# Начало транзакции
session.begin()
# Операции
session.add(User(name='John'))
session.commit()
except Exception as e:
session.rollback()
print(f"Error: {e}")
finally:
session.close()
text
В Django используется декоратор `@transaction.atomic`:
```python
from django.db import transaction
@transaction.atomic
def transfer_funds():
# Операции выполняются в одной транзакции
acc1.withdraw(100)
acc2.deposit(100)Важно учитывать deadlocks, длительные транзакции и правильно выбирать уровень изоляции под конкретную задачу.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы