Подготовка к распродаже
Вопрос
Интервьюер: «Через месяц распродажа, маркетинг обещает в 5 раз больше трафика, чем обычный пик. Как вы подготовите систему?»
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Модель нагрузки: прошлые события, сценарии пользователей, пик в RPS по сервисам
Нагрузочные тесты по реальному профилю: найти предел каждого компонента и узкие места
Масштабирование заранее: база, кеши, очереди, квоты облака, лимиты партнёров
Запас на отказ зоны и деградация: что отключаем при перегрузке, лимиты и очереди на вход
Заморозка релизов, усиленные дежурства, раннбуки, готовые дашборды
Разбор после: прогноз против факта
Что могут спросить следом
- Что делать, если база не тянет пятикратную нагрузку?
- Как защититься, если трафик окажется в 10 раз больше?
Разбор
Образцовый ответ: «Начну с модели: по прошлой распродаже смотрю, как распределялась нагрузка по сервисам, и умножаю пик на 5 с запасом. Затем нагрузочные тесты в открытой модели по реальному профилю: каталог, корзина, оплата. Нахожу, что первым упирается: обычно база и внешние лимиты платёжки. Для базы добавляю реплики чтения, кеширую каталог, заранее поднимаю класс инстанса, проверяю пулы соединений по закону Литтла. Заранее масштабирую то, что не умеет быстро: базы, Kafka, квоты облака, согласую лимиты с партнёрами. Готовлю деградацию: отключение рекомендаций и тяжёлых фильтров по флагу, очередь ожидания на входе, rate limiting. Заморозка релизов за неделю, усиленное дежурство, дашборд распродажи. Если придёт десятикратная нагрузка, работает деградация, а не падение. После события сравниваю прогноз с фактом».
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.