Встречается на 1% собеседований по Python
Какие знаешь типы блокировок бд
В Python при работе с базами данных (например, PostgreSQL, MySQL) используются следующие типы блокировок:
- Эксклюзивные (Exclusive Locks) – блокируют запись/таблицу для любых других операций (SELECT FOR UPDATE).
- Разделяемые (Shared Locks) – разрешают чтение, но запрещают изменение (LOCK IN SHARE MODE).
- Оптимистичные (Optimistic Locks) – проверяют конфликты при коммите (версионирование).
- Пессимистичные (Pessimistic Locks) – блокируют данные заранее.
- Явные (Explicit Locks) – ручное управление (BEGIN; LOCK TABLE).
Пример пессимистичной блокировки в SQLAlchemy:
python
with session.begin():
user = session.query(User).with_for_update().filter_by(id=1).first()
user.balance += 100Пример оптимистичной блокировки через версию:
python
class User(Base):
__versioned__ = {}
id = Column(Integer, primary_key=True)
version_id = Column(Integer)Выбор типа зависит от уровня изоляции транзакций и требований к параллелизму.

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