Встречается на собеседованиях • сегодня
Какие знаешь типы блокировок бд
В 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
интервью вопросы и ответы