Какие оптимистические и пессимистические блокировки вы использовали? Может ли блокироваться вся таблица? Что такое SELECT FOR UPDATE?

Оптимистический контроль обычно проверяет version при обновлении; пессимистический заранее удерживает lock. SELECT FOR UPDATE блокирует выбранные строки для конфликтующих изменений до конца транзакции.

Короткий ответ

Что ответить на собеседовании

Оптимистический контроль обычно проверяет version при обновлении; пессимистический заранее удерживает lock. SELECT FOR UPDATE блокирует выбранные строки для конфликтующих изменений до конца транзакции.

Подробный разбор

Ответ с пояснениями

Оптимистический контроль обычно проверяет version при обновлении; пессимистический заранее удерживает lock. SELECT FOR UPDATE блокирует выбранные строки для конфликтующих изменений до конца транзакции.

Типы и совместимость locks зависят от СУБД. Помимо строк могут захватываться табличные или диапазонные блокировки; некоторые системы поддерживают escalation. Для PostgreSQL FOR UPDATE не означает запрета обычного чтения всей таблицы. В ответе о личном опыте приведите реальный инвариант, длительность транзакции и способ обработки конфликтов.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее