Войти Регистрация
System design

4. Перевод по номеру телефона через СБП

Сложная

Формат — секция system design на 60 минут: API, нагрузка, модели данных. Сценарий наш. Пройдите шаги: уточните требования, оцените нагрузку, выберите решения, нарисуйте схему.

Клиент вводит номер, выбирает банк получателя и сумму, например 5 000 ₽. Перевод идёт через СБП, оператор — НСПК.

Для расчёта: 15 млн исходящих переводов в сутки, в пик зарплатных дней в 4 раза больше среднего. Ответ НСПК обычно за 1–3 секунды, но бывают таймауты.

Мобильная сеть рвётся: приложение может отправить один и тот же запрос несколько раз.

В работе: Двойное списание 5 000 ₽ — жалоба в ЦБ, а зависший перевод — звонок в поддержку.

Как проверяем Шаги с вариантами и расчётами проверяем автоматически: число засчитано, если оно в пределах допуска от эталона. Схему вы оцениваете сами по чек-листу. Зачёт — схема набрала 60 % чек-листа и верны 70 % остальных пунктов. Ответ один на подход: после него показываем разбор.
идемпотентностьмашина состоянийoutboxвнешние системы

Источник: Т‑Банк: секция system design (API, оценка нагрузки, модели данных). Условие пересказано своими словами.

Давали на собеседовании? Ответов пока мало — ваш поможет.
  1. Уточнить требования — Что спросить у интервьюера?
  2. Оценить нагрузку
  3. Идемпотентность — Как не провести перевод дважды при повторе запроса?
  4. Таймаут НСПК — НСПК не ответила за 10 секунд. Что делаем?
  5. Схема — Опишите API, модель данных и путь перевода.