Встречается на собеседованиях • сегодня
Приведи пример изоляции транзакции
В Python с использованием SQLAlchemy можно изолировать транзакцию с помощью уровней изоляции. Например, уровень REPEATABLE READ гарантирует, что данные, прочитанные в транзакции, не изменятся другими транзакциями до её завершения:
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()
session.connection(execution_options={'isolation_level': 'REPEATABLE READ'})
try:
# Операции в транзакции
session.execute("UPDATE accounts SET balance = balance - 100 WHERE id = 1")
session.execute("UPDATE accounts SET balance = balance + 100 WHERE id = 2")
session.commit()
except:
session.rollback()
raise
finally:
session.close()
text
Другие уровни изоляции: `READ UNCOMMITTED`, `READ COMMITTED`, `SERIALIZABLE`. Выбор зависит от требований к согласованности данных и производительности.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы