Ctrl K
Backend · Middle · Теория

Консьюмер очереди обрабатывает сообщения «начислить бонусы», и иногда пользователи получают бонусы дважды. Почему так бывает и как это исправить?

~4 мин голосом

Как подойти

Проверяют, понимает ли кандидат семантику доставки at-least-once и умеет ли проектировать идемпотентный консьюмер, а не искать «баг продюсера» или надеяться на exactly-once в брокере.

Встречал этот вопрос на настоящем собесе?
Ответов0
Средний балл—
Сильных—
Тренировали0
Темы
Похожие вопросыСервис заказов после оплаты кладёт событие в очередь, а сервис уведомлений его читает и отправляет пользователю пуш. Какие гарантии доставки бывают, почему пользователь может получить пуш дважды или не получить вовсе, и как это чинить? И как вы гарантируете порядок событий одного заказа? MiddleНапишите обработчик создания платежа, который принимает ключ идемпотентности и данные платежа и возвращает результат. Повторный запрос с тем же ключом не должен списать деньги второй раз, даже если два одинаковых запроса пришли одновременно на разные инстансы сервиса; у вас есть база данных и внешний платёжный провайдер. SeniorЧто такое очередь сообщений, и в каких случаях обработку на бэкенде стоит вынести в асинхронную очередь? JuniorСпроектируйте сервис уведомлений: push, email и SMS, около пятидесяти миллионов уведомлений в сутки, с пиками во время маркетинговых рассылок. SeniorКак вы тестируете сервис, который обрабатывает события из очереди, например из Kafka, и как справляетесь с асинхронностью в автотестах? Senior

Ответь голосом

Интервьюер задаст этот вопрос и послушает. Думай вслух, проси подсказку, если нужно. Закончил — пауза или «Я ответил», через минуту здесь балл и какие пункты закрыты.

Войти, чтобы ответить

Лучше в наушниках · ~4 мин