System Design — senior интервью

60 минут, senior. Проектирование на доске: масштаб, надёжность, trade-offs. Без live-coding.

Questions
14

Разогрев: опыт и контекст

  1. Недавний проект

    BehavioralEasy

    Расскажите о недавнем проекте, где вы были ключевым разработчиком. Что делали вы лично?

    Scoring rubric (0–10)
    3–5: Описывает проект общими словами, свою роль называет расплывчато («участвовал в команде»).
    6–8: Конкретная задача, стек, результат; понятна личная зона ответственности.
    9–10: Контекст бизнеса, trade-offs, метрики успеха; честно говорит, что делали другие.
    Красный флаг: не может назвать ни одного решения, которое принимал сам.
    Interviewer notes
    Follow-up: что бы сделали иначе? 3–4 минуты.
  2. Мотивация смены

    BehavioralEasy

    Почему сейчас рассматриваете новые возможности? Что ищете в следующей роли?

    Scoring rubric (0–10)
    3–5: «Хочу роста / денег» без конкретики.
    6–8: Понятные критерии (стек, продукт, процессы); не toxic про текущего работодателя.
    9–10: Осознанный fit: что даст компания кандидату и наоборот.
    Красный флаг: только негатив про прошлые команды, обвиняет всех кроме себя.
    Interviewer notes
    Не давить — достаточно 2–3 минут.
  3. Опыт проектирования

    BehavioralMedium

    Расскажите о системе, которую проектировали или существенно меняли. Какой был масштаб (RPS, data size, team)?

    Scoring rubric (0–10)
    3–5: «Участвовал в обсуждениях» без своих решений.
    6–8: Конкретный сервис; bottlenecks; что выбрали и почему.
    9–10: Metrics before/after; failed alternatives; cross-team alignment.
    Красный флаг: не может назвать ни одного trade-off.
    Interviewer notes
    5 минут — не съедать время основных задач.

Базовые концепции

  1. Масштабирование чтения

    WhiteboardMedium

    Как масштабируете read-heavy API? Cache, replica, CDN — когда что?

    Scoring rubric (0–10)
    3–5: «Добавим cache everywhere».
    6–8: Read replicas; cache-aside; TTL; invalidation basics; CDN for static.
    9–10: Consistency models; stampede protection; regional caches.
    Красный флаг: cache without invalidation strategy.
    Interviewer notes
    5 минут на доске: Client → API → Cache → DB.
  2. Масштабирование записи

    TheoryHard

    Write-heavy workload (логи, events). Sharding vs queue vs batch — ваш подход?

    Scoring rubric (0–10)
    3–5: «Vertical scale DB».
    6–8: Partition by key; async ingest queue; idempotent consumers.
    9–10: Hot shard mitigation; ordering guarantees; compaction/archival.
    Красный флаг: synchronous write to single master at 100k RPS fantasy.
    Interviewer notes
    5 минут.
  3. CAP и consistency

    TheoryMedium

    Объясните eventual consistency на примере. Когда strong consistency обязательна?

    Scoring rubric (0–10)
    3–5: «CAP — выбираем два» без примера.
    6–8: Eventual in social feed OK; money transfer needs strong/isolation.
    9–10: PACELC; read-your-writes; quorum (Raft) on high level.
    Красный флаг: «всегда strong» или «всегда eventual» без context.
    Interviewer notes
    4 минуты.
  4. Надёжность

    TheoryMedium

    Как проектируете retry, timeout и circuit breaker между сервисами?

    Scoring rubric (0–10)
    3–5: «Retry 3 раза» без jitter.
    6–8: Exponential backoff; idempotency; timeout budgets; circuit breaker states.
    9–10: Bulkhead; hedging cautions; distributed tracing for cascade failures.
    Красный флаг: infinite retry on 500.
    Interviewer notes
    4 минуты.

Проектирование на доске

  1. URL shortener

    WhiteboardMedium

    Спроектируйте сервис коротких ссылок (bit.ly). API, хранение, редирект, аналитика кликов.

    Scoring rubric (0–10)
    3–5: Одна таблица id→url без capacity estimate.
    6–8: Base62 id; redirect 301/302; read-heavy cache; write path; rough QPS/storage math.
    9–10: Custom domains; rate limit; analytics pipeline async; collision handling.
    Красный флаг: sequential DB id exposed without discussion.
    Interviewer notes
    20 минут на доске. Дать: 100M URLs, 10:1 read/write.
  2. Distributed rate limiter

    WhiteboardHard

    Rate limiter для API gateway: 1000 req/min per API key, кластер из N нод.

    Scoring rubric (0–10)
    3–5: In-memory counter on one node.
    6–8: Redis sliding window / token bucket; sync vs local approximate; 429 response.
    9–10: Race conditions; Redis failure mode; global vs per-region; cost.
    Красный флаг: sticky sessions as only solution without fallback.
    Interviewer notes
    15 минут.
  3. Realtime chat

    WhiteboardHard

    Чат 1:1 и группы: доставка сообщений, online status, history.

    Scoring rubric (0–10)
    3–5: WebSocket only, no persistence.
    6–8: WS gateway; message store; fan-out; last seen; pagination.
    9–10: Delivery guarantees; conflict resolution; multi-device sync; push notifications.
    Красный флаг: single giant WebSocket server.
    Interviewer notes
    20 минут если осталось время; иначе сократить до high-level.

Углубление и ops

  1. Выбор БД

    TheoryMedium

    PostgreSQL vs Mongo vs Redis vs Kafka — как выбираете для нового сервиса?

    Scoring rubric (0–10)
    3–5: «Postgres для всего» или fashion-driven choice.
    6–8: Relational for transactions; document for flexible schema; Redis cache; Kafka log.
    9–10: Operational cost; team expertise; migration path; multi-model pitfalls.
    Красный флаг: Kafka as primary database.
    Interviewer notes
    4 минуты.
  2. Observability в design

    TheoryMedium

    Какие метрики, логи и traces заложите в новый микросервис с первого дня?

    Scoring rubric (0–10)
    3–5: «Логи ошибок».
    6–8: RED metrics; structured logs with traceId; health endpoints.
    9–10: SLO dashboards; sampling; alert routing; runbooks linked.
    Красный флаг: metrics added «потом когда упадёт».
    Interviewer notes
    4 минуты.

Инженерная культура и вопросы

  1. Конфликт в команде

    BehavioralMedium

    Был ли случай технического или процессного конфликта в команде? Как разрешили?

    Scoring rubric (0–10)
    3–5: «Конфликтов не было» или история без своих действий.
    6–8: Описывает ситуацию, свою позицию, итог; без обвинений.
    9–10: Фокус на данных/компромиссе; что изменил в процессе после.
    Красный флаг: «я был прав, они нет» без рефлексии.
    Interviewer notes
    Follow-up: чему научились? 4 минуты.
  2. Вопросы к нам

    BehavioralEasy

    Какие вопросы у вас к нам про команду, продукт или процессы?

    Scoring rubric (0–10)
    3–5: «Нет вопросов» или только про отпуск/ЗП.
    6–8: 2–3 содержательных вопроса про продукт, команду, релизы.
    9–10: Вопросы показывают, что изучил компанию; уточняет ожидания от роли.
    Красный флаг: нулевой интерес к продукту на middle+.
    Interviewer notes
    Оставить 3–5 минут в конце интервью.

Run an interview with this template

Sign up free: copy the template to your org, schedule an interview, and run it in a room with live coding.

Get started in FlashTalk