Кейс: статусная модель заявки на кредит
Вопрос
Спроектируй статусную модель онлайн-заявки на потребительский кредит: от заполнения до выдачи денег.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Состояния: черновик, отправлена, на скоринге, на ручной проверке, одобрена, отказ, подписан договор, выдан, отозвана клиентом, истекла
События и условия: результат скоринга, решение андеррайтера, подпись, таймауты
Конечные состояния и запрет возврата из них
Таймеры: истечение одобрения, если клиент не подписал
Кто инициирует каждый переход и что уведомляется
Что могут спросить следом
- Нужно ли хранить историю переходов?
- Как показать клиенту статус, если внутренних статусов больше, чем ему нужно?
Разбор
Начинаю с черновика: клиент заполняет анкету, может бросить. По событию «отправить» заявка уходит в «Отправлена», затем автоматически «На скоринге». По результату скоринга три ветки: «Одобрена», «Отказ» или «На ручной проверке», где андеррайтер принимает решение. Из «Одобрена» по подписанию договора переход в «Договор подписан», затем после перевода денег в «Выдан». Таймер: если одобрение не подписано за 30 дней, заявка переходит в «Истекла». Клиент может отозвать заявку из любого незавершённого статуса. Конечные: Выдан, Отказ, Отозвана, Истекла, из них переходов нет. Историю переходов храню отдельно с временем и инициатором: это нужно для аудита и сроков. Клиенту показываю упрощённые статусы: «Рассматриваем», «Одобрено», «Отказ», чтобы не раскрывать внутреннюю кухню.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.