Формат — секция system design. Сценарий наш: партнёрское API банка. Пройдите шаги: уточните требования, оцените нагрузку, выберите решения, нарисуйте схему.
2000 партнёров (интернет-магазины, бухгалтерские сервисы) ходят в API выставления счетов. По договору — 50 запросов в секунду на партнёра.
Запросы распределяются между 20 экземплярами API-шлюза. Лимит должен считаться общий на партнёра, а не 50 на каждый экземпляр.
В работе: Один партнёр с ошибкой в цикле повторов может положить API для остальных 1999.
Как проверяем
Шаги с вариантами и расчётами проверяем автоматически: число засчитано, если оно в пределах допуска от эталона. Схему вы оцениваете сами по чек-листу. Зачёт — схема набрала 60 % чек-листа и верны 70 % остальных пунктов. Ответ один на подход: после него показываем разбор.
Источник: Т‑Банк: секция system design (API, оценка нагрузки). Условие пересказано своими словами.
Давали на собеседовании?
Ответов пока мало — ваш поможет.
- Уточнить требования — Что уточнить?
- Оценить нагрузку
- Алгоритм — Как считать лимит?
- Ответ при превышении — Что вернуть партнёру при превышении лимита?
- Схема — Опишите место лимитера и поведение при сбоях.