Встречается на собеседованиях • сегодня
Знаком ли с паттерном оптимистическая блокировка
Да, знаком. Оптимистическая блокировка — это стратегия управления конкурентным доступом без явных блокировок. Основана на предположении, что конфликты редки.
Как работает:
- Запись имеет версию (timestamp, число)
- При чтении сохраняем версию
- При обновлении проверяем, что версия не изменилась
- Если версия изменилась — откатываем транзакцию
Пример с JPA/Hibernate:
java
@Entity
public class Account {
@Id
private Long id;
private BigDecimal balance;
@Version
private int version; // автоматически инкрементится при обновлении
}
// В сервисе:
@Transactional
public void transfer(Long accountId, BigDecimal amount) {
Account account = accountRepository.findById(accountId);
account.setBalance(account.getBalance().add(amount));
// При коммите Hibernate проверит version
}Плюсы:
- Нет блокировок → лучше масштабируемость
- Подходит для редких конфликтов
Минусы:
- При конфликте нужно повторять операцию
- Не подходит для частых конкурентных изменений

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