Встречается на собеседованиях • сегодня
Как пользуешься понятием транзакция в контексте операций записи обновления
Транзакция в Python (особенно при работе с БД) - это атомарная группа операций, которая либо выполняется целиком, либо не выполняется вообще. Основные принципы:
- Используется для обеспечения целостности данных
- Поддерживается ACID (Atomicity, Consistency, Isolation, Durability)
- В SQL-базах обычно реализуется через BEGIN/COMMIT/ROLLBACK
Пример с SQLite:
python
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
try:
conn.execute("BEGIN TRANSACTION") # Начало транзакции
text
# Операции записи/обновления
cursor.execute("UPDATE accounts SET balance = balance - 100 WHERE id = 1")
cursor.execute("UPDATE accounts SET balance = balance + 100 WHERE id = 2")
conn.commit() # Фиксация измененийexcept Exception as e:
conn.rollback() # Откат при ошибке
print(f"Error occurred: {e}")
finally:
conn.close()
text
Для NoSQL (например, MongoDB) транзакции появились в версии 4.0+:
```python
with client.start_session() as session:
session.start_transaction()
try:
db.accounts.update_one({'_id': 1}, {'$inc': {'balance': -100}}, session=session)
db.accounts.update_one({'_id': 2}, {'$inc': {'balance': 100}}, session=session)
session.commit_transaction()
except Exception:
session.abort_transaction()
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы