Встречается на собеседованиях • сегодня
Что блокируется при Pessimistic Locking
При Pessimistic Locking блокируется доступ к конкретной записи в БД для других транзакций до завершения текущей.
Что блокируется:
- SELECT FOR UPDATE – строка или диапазон строк (в зависимости от СУБД)
- INSERT/UPDATE/DELETE – другие транзакции не могут изменять заблокированные данные
- Оптимистичные блокировки – игнорируются, так как пессимистичная блокировка физическая
Пример (JPA/Hibernate):
java
EntityManager em = ...;
em.getTransaction().begin();
Product product = em.find(Product.class, 1L, LockModeType.PESSIMISTIC_WRITE);
product.setStock(product.getStock() - 1); // Другие транзакции ждут разблокировки
em.getTransaction().commit();Нюансы:
- Может привести к deadlock, если блокировки запрашиваются в разном порядке
- Влияет на масштабируемость (долгие транзакции = очередь запросов)
- Поддерживается не всеми БД одинаково (например, MySQL блокирует индексные записи)

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