— Точный ноль: на счете ровно сумма автоплатежа. В 9:59 произошло списание комиссии за обслуживание карты (еще -100р). Денег стало меньше. Джоб в 10:00 видит недостачу — ок, уведомление. В 10:05 пришла зарплата. Повторится ли попытка списания? (По условию — нет, попытка не повторяется до следующего периода, это важно проверить).
— Блокировки: на счете достаточно денег, но они заблокированы другим спорным списанием (холд). Автоплатеж должен провалиться (нельзя тратить заблокированные средства).
— Частичное списание: на счете 1500р, а автоплатеж на 2000р. Списание не происходит. Не должно списаться 1500р "в счет долга", сумма должна быть неизменна.
🎯Цель данной задачи — проверить, умеет ли кандидат быстро разложить фичу на критические сценарии, учесть риски денег/времени и продумать проверки параллельных операций (гонки, идемпотентность, консистентность).
🗣Комментарий эксперта.
В финтех-задачах нет "идеального чек-листа", но есть мышление рисками и правильная расстановка приоритетов. Как интервьюер, я смотрю не на количество тестов, а на умение идти вглубь механизмов. Важно, выделены ли критические сценарии, учтены ли риски денег и времени, продумано ли поведение системы на границах, при смене дат, при редактировании или отключении автоплатежа в момент срабатывания фоновой джобы. Хороший кандидат должен проверить не только "успешный сценарий", но и, что не произойдет двойного списания при сбое, что баланс корректно учитывает холды и комиссии, что ручные действия пользователя не конфликтуют с автоматикой. Если вместо этого кандидат углубляется в проверку полей ввода — это важный показатель его готовности к работе в банке. В финтехе любая ошибка — это реальные деньги, поэтому приоритет всегда один: исключить финансовые потери и защитить средства клиента.
#Задача_от_эксперта