Встречается на собеседованиях • сегодня
С какой самой сложной задачей столкнулся в рабочем проекте
Одна из самых сложных задач - оптимизация системы обработки платежей с высокой нагрузкой (10k+ транзакций/мин). Основная проблема - race condition при списании баланса. Решение:
java
// Использование пессимистичной блокировки
@Transactional
public void processPayment(Long accountId, BigDecimal amount) {
Account account = entityManager.find(
Account.class,
accountId,
LockModeType.PESSIMISTIC_WRITE
);
if (account.getBalance().compareTo(amount) >= 0) {
account.setBalance(account.getBalance().subtract(amount));
} else {
throw new InsufficientFundsException();
}
}Дополнительно пришлось:
- Настроить пул соединений HikariCP
- Оптимизировать индексы в БД
- Реализовать retry механизм для deadlock'ов
- Добавить кеширование через Redis для часто читаемых данных

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