Встречается на собеседованиях • сегодня
В чем разница между оптимистической и пессимистической блокировками
Оптимистическая блокировка предполагает, что конфликты редки. Данные читаются без блокировки, но перед записью проверяется, что их не изменили (например, через версию или timestamp). Если данные изменились — транзакция откатывается.
Пессимистическая блокировка блокирует данные при чтении, предотвращая изменения другими транзакциями до завершения текущей.
Пример оптимистической:
java
@Entity
public class Account {
@Version
private int version;
// поля + геттеры/сеттеры
}При обновлении Hibernate проверит version.
Пример пессимистической:
java
entityManager.find(Account.class, id, LockModeType.PESSIMISTIC_WRITE);Блокирует запись для других транзакций.
Оптимистическая — меньше накладных расходов, но требует обработки конфликтов. Пессимистическая — гарантирует целостность, но может снижать производительность.

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