Фреймворк ответа на System Design интервью

↑ 8.4 Backend System Design · → Следующая

Обязательно~3 мин чтенияУровень: senior

Зачем это на собесе

Структура ответа важнее конкретной технологии: интервьюер оценивает ход мысли, компромиссы и умение общаться.

Объяснение

Порядок ответа на 45–60 минут:

ШагВремяЧто делать
1. Требования5–8 минфункциональные (что делает система), нефункциональные (нагрузка, задержка, доступность, согласованность, безопасность); что вне рамок
2. Оценка нагрузки3–5 минпользователи, RPS, объём данных, соотношение чтение/запись (см. Оценка нагрузки: RPS, объём данных, back-of-the-envelope)
3. API и модель данных5–8 миносновные эндпоинты/события, сущности, ключи, индексы
4. Верхнеуровневая схема8–10 минклиенты → балансировщик → сервисы → хранилища/кэш/очередь
5. Углубление10–15 минузкие места: масштабирование БД, кэш, очереди, согласованность
6. Надёжность и наблюдаемость3–5 минотказы, репликация, мониторинг, деградация, безопасность
7. Компромиссы2–3 минчто выбрали и почему, альтернативы, что улучшить

Правила общения:

  • Уточняйте требования, не начинайте рисовать сразу.
  • Проговаривайте допущения и цифры.
  • Начинайте с простого решения и итеративно усложняйте под нагрузку.
  • Для каждого выбора называйте компромисс («Kafka даёт replay, но сложнее в эксплуатации»).
  • Управляйте временем и вовлекайте интервьюера в выбор глубины.

Типовые «кирпичики»: DNS, CDN, балансировщик (L4/L7), API Gateway, stateless-сервисы, кэш (Redis), реляционная БД + реплики, шардирование, NoSQL, очереди/потоки, объектное хранилище, поиск, аналитическое хранилище, планировщик, наблюдаемость.

Нюансы и подводные камни

  • Погружение в технологию вместо требований.
  • Переусложнение (микросервисы и Kafka «для красоты»).
  • Молчание при размышлении: говорите вслух.
  • Игнорирование нефункциональных требований и сбоев.
  • Отсутствие итогового резюме решения.

Практика

  1. Проведите пробное интервью на тему «URL shortener» на 45 минут с таймером.
  2. Составьте свой шаблон ответа и чек-лист нефункциональных вопросов.
  3. Запишите ответ голосом и оцените структуру.

Вопросы с ответами

Связанные темы