Клиент отправляет POST-запрос на создание платежа, ответ не доходит из-за таймаута, и клиент повторяет запрос. Как сделать так, чтобы деньги не списались дважды?
~4 мин голосом
Как подойти
Проверяют, понимает ли кандидат, как сделать неидемпотентную операцию безопасной для повторов: ключ идемпотентности, атомарная фиксация ключа в БД, обработка гонок и запросов «в процессе», а также идемпотентность по всей цепочке до платёжного провайдера.
Интервьюер задаст этот вопрос и послушает. Думай вслух, проси подсказку, если нужно. Закончил — пауза или «Я ответил», через минуту здесь балл и какие пункты закрыты.