Пройдите шаги: уточните требования, оцените нагрузку, выберите решения, нарисуйте схему.
Подписчик платит 399 ₽ в месяц. В день продления биллинг списывает деньги с привязанной карты и продлевает доступ к сервисам партнёров.
Для расчёта: 10 млн подписчиков. Продления размазаны по дням месяца, но 20 % подключились по акции первого числа, и все они продлеваются в одну ночь. Списания идут с 00:00 до 08:00.
У 7 % списаний не хватает денег на карте. Человек получает зарплату 5-го или 20-го и ждёт, что подписка не пропадёт на эти дни.
В работе: Подписка даёт кино, музыку и скидки на доставку, и каждый месяц банк должен продлить её списанием с карты.
Как проверяем
Шаги с вариантами и расчётами проверяем автоматически: число засчитано, если оно в пределах допуска от эталона. Схему вы оцениваете сами по чек-листу. Зачёт — схема набрала 60 % чек-листа и верны 70 % остальных пунктов. Ответ один на подход: после него показываем разбор.
Источник: на задачах Сбера: подписка с ежемесячным списанием. Условие пересказано своими словами.
Давали на собеседовании?
- Уточнить требования — Что выяснить до схемы?
- Оценить нагрузку
- Двойное списание — Задача продления упала после запроса в процессинг, ответ не получен. Как не списать дважды?
- Недостаточно средств — Как повторять списание, если на карте не хватило денег?
- Схема — Опишите хранение подписок, планировщик продлений и машину состояний.