Перейти к содержимому

Ранний доступ. Тестовая версия — возможны сбои и странности. Обо всех странностях можно сообщить на support@offerwhelmed.com или через «Обратную связь» после входа.

Гайды

System Design для middle: как готовиться

На middle ждут не «нарисовать Netflix с нуля», а умение уточнить требования, набросать границы системы, данные и узкие места. Тренажёр ведёт по этапам одного кейса — как на проектировочном раунде.

Чем middle отличается от senior на design

Senior чаще тянут глубокую деградацию, мультирегион и орг-ограничения. Middle обычно хватает: ясная постановка, адекватные требования и ограничения, схема компонентов, хранение данных, базовое масштабирование и явные trade-offs.

Провал на middle чаще не в «не знаю Kafka», а в том, что кандидат молча рисует кучу сервисов без нагрузки, SLA и данных. Или наоборот — уходит в детали кода, забыв про систему.

Что проверяют на middle

Обычно: постановка задачи, функциональные и нефункциональные требования, высокий уровень архитектуры, модель данных, узкие места и масштабирование в разумных рамках. Важно задавать уточняющие вопросы и называть компромиссы вслух.

  • Один связный кейс на интервью
  • Этапы: знакомство → требования → архитектура → данные → масштаб
  • Явные trade-offs (consistency, latency, cost, complexity)
  • Отчёт с баллами по этапам, а не одна «оценка из воздуха»

Типичные ошибки

Сразу прыгать в технологии без требований. Игнорировать read/write ratio и размер данных. Рисовать «идеальную» схему без failure modes. Не уметь упростить: middle-уровень ценит ясность сильнее, чем модный стек.

Ещё одна ловушка — учить чужие разборы Habr/YouTube как сценарий. На собесе кейс другой, и шаблон «как у всех» ломается на первом уточнении. Нужна практика ведения разговора по шагам.

Как тренироваться эффективно

Лучше прогнать полный кейс end-to-end, чем читать десяток чужих решений. Засеките время, проговорите требования вслух, затем архитектуру. После — сравните, какие этапы вы пропустили.

В Offerwhelmed формат System Design уже собран: вы отвечаете по шагам одного кейса, получаете оценку и видите, где просели — требования, данные или масштаб.

  • Всегда начинайте с уточнений и ограничений
  • Фиксируйте оценки нагрузки (порядок величин)
  • Рисуйте поток данных, не только «коробочки»
  • Назовите 2–3 trade-off явно