advanced

High-level design

Show major clients, edge, services, data stores, queues, caches, and external dependencies before deep-diving. Объясняйте это как practical interview step, not a memorized checklist.

High-level design показывает ключевые компоненты и поток данных: клиенты, CDN, балансировщики, API gateway, сервисы, БД, кеши, очереди, object storage и внешние интеграции. Прорисуйте пути для двух главных use case до оптимизации внутренностей.

Пометьте sync и async границы и где source of truth. Держите число сервисов разумным — делите при необходимости масштаба, команд или изоляции сбоев, а не по умолчанию.

На интервью: проговорите read path и write path по схеме; укажите, куда углубились бы по запросу.

Типовые ошибки: стрелки без подписей; microservice на каждую фичу; нет async для тяжёлой работы.

Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.

Чеклист:

  • Нарисуйте путь от клиентов к хранилищам.
  • Пройдите основные read и write path.
  • Отметьте кеши, очереди и внешние зависимости.
  • Обоснуйте каждую границу сервиса.