Ответ вслух Middle Как вести секцию спрашивают часто обновлено

Как вы ведёте секцию system design

Вопрос

Расскажите, по какому плану вы будете вести секцию system design на 60 минут.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Я веду секцию сам и проговариваю шаги. Первые 5-7 минут трачу на требования: 3-5 главных сценариев и то, что сознательно не делаем, затем масштаб, задержку, доступность и консистентность.

Что должно прозвучать в ответе

  • Начинаю с уточнения функциональных требований и явно фиксирую, что не делаем

  • Уточняю нефункциональные требования: масштаб, задержка, доступность, консистентность

  • Делаю грубую оценку RPS и объёмов и использую её в решениях

  • Описываю API и модель данных, выбираю хранилище под паттерн доступа

  • Рисую высокоуровневую схему и прохожу по ней путь запроса

  • Оставляю время на узкие места, отказы, масштабирование и мониторинг

Что могут спросить следом

  • Сколько времени вы отведёте на требования?
  • Что делать, если интервьюер торопит сразу к схеме?
  • Как выбираете, где углубиться?

Разбор

Я веду секцию сам и проговариваю шаги. Первые 5-7 минут трачу на требования: 3-5 главных сценариев и то, что сознательно не делаем, затем масштаб, задержку, доступность и консистентность. Потом за пару минут считаю нагрузку порядками: RPS на чтение и запись, объём за несколько лет. Эти числа дальше обосновывают решения. Затем ключевые эндпоинты API и модель данных, хранилище выбираю под паттерн доступа. Дальше высокоуровневая схема: клиент, балансировщик, сервисы, кеш, БД, очередь, и прохожу по ней путь главного запроса. Последние 15 минут на узкие места: что упадёт при росте в 10 раз, что будет при отказе узла, горячие ключи, мониторинг. Если интервьюер тянет в конкретную сторону, иду за ним: это сигнал, что ему важно.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.