System Design интервью | Заметки Вячеслава Арапова

System Design интервью

System Design

На этом этапе нужно спроектировать гипотетическую систему. Без опыта очень сложно или невозможно.

Подготовка

Егор Бирюков предлагаетоткрыть в новом окне оптимизировать следующие умения:

  • понимать задачу
  • уточняющими вопросами и предположениями определять скоуп и функциональные и не очень требования
  • набросать от руки нагрузку и требования к технологиям
  • набросать быстро высокоуровневую архитектуру, не погружаясь в детали
  • понять, где нас ожидает главная сложность, определить возможные решения
  • (самое главное) вслух, громко и четко говорить о трейд-оффах.

В процессе подготовки важно:

  • Научиться вмещать процесс в 45-55 минут
  • Научиться соблюдать определённый порядок
  • Научиться для больших задач отделять важное от неважного
  • Научиться брать на себя и проявлять инициативу

Подготовка происходит так:

План интервью с таймером:

  • Требования и вопросы: задача, пользователи, нагрузка и т.д. — 5-10 минут
  • Estimations: storage, нагрузка на сеть и т.д. — 5 минут - Высокоуровневый дизайн: квадраты со стрелками. Цели, результаты, потенциально узкие места, трейд-оффы — 10 минут
  • Глубокое погружение: некоторые части системы — 20 минут
  • Завершение: что получилось, как расти, как запускать — 5-10 минут

СОВЕТ

Постоянно показывать «инженерное мышление»: минусы, трейдофы, решения в терминах требований. Минимум конкретных технологий, можно упомянуть опыт.

Ссылки