КАК ПРОЙТИ SYSTEM DESIGN INTERVIEW И НЕ ОБОСРАТЬСЯ???

В первую очерез, сис диз - это проверка, как ты думаешь под стрессом, когда времени мало, а инфы по задаче еще меньше. Поэтому нужен фреймворк. Простой, проверенный, рабочий. Типикал собес длится 45-60 минут. Из них:

  • 5 мин интро
  • 35-45 минут чистого дизайна
  • 5 мин Q&A

1️⃣ ❗ Самый частый ред флаг - сразу лезть рисовать архитектуру. Надо сначала понять задачу и зафиксировать скоуп. Например, задача Спроектируй ватсап🤡 Вопросы, которые НУЖНО задать:

  • сколько MAU/DAU?
  • пиковый RPS на отправку сообщений
  • география? (один регион/весь мир)
  • какие фичи важны в первую очередь?
  • только чаты 1:1 или группы тоже?
  • нужны голосовые, видео, кружки, статусы, реакции, редактирование сообщений, файлы и их максимальный размер? Часто чел отвечает типа: Предлагаю сфокусироваться на 1:1 чатах + группах до N человек.

2️⃣ Дальше high-левел дизайн + согласование (~25 мин) Начинаем с API:

  • REST выбираем по умолчанию
  • Если нужен real-time, выбираем WebSocket
  • Четкие input/output
  • Никаких API "на будущее"
  • Все сервисы должны быть без состояния, иначе их оч больно масштабировать Теперь рисуем схему:
  • Load balancer / API Gateway
  • Сервисы под фичи
  • Хранилки данных ❌ Не надо сразу выбирать конкретные технологии, это потом.

3️⃣ И теперь уже погружаемся в детали (~20 мин)

  • Находим узкие места
  • Предлагаем несколько решений
  • Обсуждаем трейд-офы Например, формулируем проблему: 1 млн/сек сообщений на запись - одна БД не вывезет
  • Предлагаем >= 2 решений
  • Сравниваем (задержка, стоимость, сложность) Выбираем одно и аргументируем.

4️⃣ Закругляемся:

  • Коротко резюмируем дизайн
  • Подсвечиваем уникальные решения
  • Оставлям время задать вопросы интервьюеру

Твоя задача - НЕ сделать идеальную архитектуру. А скорее показать структуру мышления, приоритеты, умение говорить о компромисах.

А как вы готовитесь к system design интервью?

КАК ПРОЙТИ SYSTEM DESIGN INTERVIEW И НЕ ОБОСРАТЬСЯ??? | Сетка — социальная сеть от hh.ru