Обзор фреймворка для прохождения интервью из книги “System Design Interview: An Insider’s Guide”

Back-of-the-envelope estimation

Эта глава совсем мала, так как в ней автор приводит всего три таблички и один пример приблизительного расчета нагрузки на Twitter в виде query per second и storage, необходимого для хранения твитов и медиа.

Рис. “Latency Numbers Everyone Should Know”

A framework for system design interviews

Фреймворк, который предлагает автор состоит из четырех шагов, что приведены на рисунке ниже.

Рис. “Four step process for effective system design interview”
  1. Понять проблему и ограничить то, что именно мы должны спроектировать . Здесь надо задавать правильные вопросы для того, чтобы понять что входит в scope задачи и, что важнее, что в него не входит. По итогам этого шага мы должны четко понимать что должна уметь делать наша система и как ее будут использовать (сколько людей и насколько интенсивно)
  2. Предложить высокоуровневый дизайн и согласовать его с интервьюером. На этом шаге можно пойти от конкретных сценариев системы и нарисовать ее верхнеуровневую схему и обсудить ее с интервьюером. Здесь же можно приблизительно прикинуть нагрузку, используя подходы из предыдущей главы. По итогам этого шага у нас будет упрощенная архитектура системы, где видны ее основные компоненты.
  3. Провести полноценный дизайн нашей системы. На этом шаге происходит самое интересное. Тут важнее всего понять какие части системы стоит рассмотреть глубоко, а какие не столь интересны. У вас могут быть свое мнение, но хорошо его проверить об интервьюера. Эта часть сильно зависит от уровня кандидата — например, с senior кандидатами интервьюеры могут обсудить тут bottlenecks и performance issues. В любом случае здесь важно четко идти по определенным темам и не отвлекаться на второстепенные детали.
  4. Завершение интервью. В последней части интервьюер может задать дополнительные вопросы или дать кандидату самому сделать финальные ремарки по получившемуся дизайну.

P.S.

Наше обсуждение глав этой книги можно посмотреть в представленном ниже видео.

P.P.S.

Автор книги рассказал про свой четырехшаговый процесс для прохождения интервью, который является достаточно простым и общим. Если интересно посмотреть как этот процесс выглядит в Tinkoff, то можно почитать мои статьи, где я подробно про это рассказываю:

  1. В общем про System Design Interview в Tinkoff
  2. Как готовиться к System Design Interview
  3. System Design Interview на конференции C++ Russia 2022
  4. Обзор первой половины “System Design Interview: An Insider’s Guide”
  5. Обзор второй половины “System Design Interview: An Insider’s Guide”

--

--

Director of digital ecosystem development department at Tinkoff. Bachelor at applied math, Master at system analysis, Postgraduate studies at economics.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alexander Polomodov

Alexander Polomodov

Director of digital ecosystem development department at Tinkoff. Bachelor at applied math, Master at system analysis, Postgraduate studies at economics.