Встречается на собеседованиях • сегодня

Расскажи про интересную задачу на прошлой работе

Разрабатывали систему для обработки событий с высокой нагрузкой (~10K событий/сек). Основная сложность - обеспечить атомарность обработки и гарантированную доставку при сбоях.

Решение:

  1. Использовали Kafka как брокер сообщений
  2. Реализовали паттерн "Transactional Outbox" для синхронизации БД и отправки событий
  3. Добавили механизм идемпотентности обработчиков
java
// Пример обработчика с идемпотентностью
@KafkaListener
public void handleEvent(Event event) {
    if (eventService.isProcessed(event.id())) {
        return; // уже обработано
    }
    transactionTemplate.execute(status -> {
        processBusinessLogic(event);
        eventService.markProcessed(event.id());
        return null;
    });
}

Результат: система устойчива к повторным обработкам и гарантирует доставку при рестартах.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы