Talanto
For recruiters
PlansCV Review
Login

Categories

  • All articles
  • Job Search
  • Resume & CV
  • Cover Letters & Applications
  • Interviews
  • Salary & Offers
  • Job Reviews & Roundups
  • Remote Work
  • Career
  • Career Growth
  • Market Trends
  • Onboarding
  • Tips

Related articles

  • Как отвечать на вопрос о зарплатных ожиданиях

    57d ago

  • Тестовое задание при найме: как оценить объём, выполнить и представить результат

    57d ago

  • Как ответить на вопрос «Почему вы хотите работать у нас?»

    57d ago

  • Как рассказать о сильных сторонах на собеседовании

    57d ago

  • Как говорить о слабых сторонах на собеседовании

    57d ago

Looking for a job?

IT roles with remote and relocation options.

Browse jobs
  1. Articles
  2. Interviews

System design interview с нуля: гайд для собеседований с примерами

Как готовиться к system design на собеседовании: каркас из 5 шагов, строительные блоки и разбор трёх задач — URL shortener, лента, мессенджер.

4 min readJuly 15, 202688 views

On this page
  1. Что на самом деле проверяют
  2. Каркас из пяти шагов
  3. Строительные блоки, которые надо знать
  4. Пример 1. Сокращатель ссылок (URL shortener)
  5. Пример 2. Новостная лента (feed)
  6. Пример 3. Мессенджер (чат)
  7. Частые вопросы
  8. Главное
  9. Источники

System design - секция процесса собеседований, которая отделяет специалистов уровня middle от специалистов уровня senior и пугает больше всего: нет «правильного» ответа, доска пустая, время идёт. Но за кажущимся хаосом стоит чёткий каркас. Освоив его, вы перестаёте паниковать и начинаете вести интервью сами. Этот лонгрид разбирает каркас по шагам и прогоняет через него три классические задачи.

Коротко:

  • System design проверяет ход мысли и trade-offs, а не заученную схему.
  • Каркас один: требования → масштаб → схема → углубление → компромиссы.
  • Главные строительные блоки: балансировка, кэш, база, шардирование, очереди.
  • Худшая ошибка - сразу рисовать, не уточнив, что вообще строим.

Что на самом деле проверяют

Интервьюер не ждёт «единственно верную» архитектуру - её не существует. Он смотрит, умеете ли вы:

  • разложить размытую задачу на требования;
  • оценить масштаб и выбрать решения под него;
  • видеть узкие места и осознанно идти на компромиссы;
  • объяснять, почему так, а не иначе.

Поэтому system design - это разговор, а не рисунок. Кандидат, который молча чертит «идеальную» схему, проигрывает тому, кто рассуждает вслух и обосновывает выбор.

Каркас из пяти шагов

Шаг 1. Уточнить требования. Не бросайтесь к доске. Спросите, что система должна делать (функциональные требования) и каковы ограничения (нефункциональные требования - нагрузка, латентность, доступность, согласованность). Сузьте scope: «Сфокусируемся на основном сценарии?».

Шаг 2. Прикинуть масштаб. Грубая оценка: сколько пользователей, RPS на чтение и запись, объём данных, соотношение read/write. Это определяет, нужны ли кэш, шардирование, реплики. Точность не важна, важен порядок величин.

Шаг 3. Высокоуровневая схема. Нарисуйте крупными блоками: клиент → балансировщик → сервисы (API) → база данных. Пока без деталей. Проговорите поток данных от запроса до ответа.

Шаг 4. Углубление. Теперь добавляйте под нагрузку: кэш (Redis) для частых чтений, шардирование/репликация базы, очереди (Kafka) для асинхронных задач, CDN для статики, индексы. На каждом блоке проговаривайте, зачем он здесь.

Шаг 5. Trade-offs и узкие места. Проговорите компромиссы: согласованность против доступности, latency против стоимости, что станет бутылочным горлышком при росте и как это лечить. Это и есть senior-уровень разговора.

Строительные блоки, которые надо знать

  • Балансировщик нагрузки - распределяет трафик между серверами.
  • Кэш (Redis/Memcached) - ускоряет частые чтения, снимает нагрузку с базы.
  • Базы: SQL vs NoSQL - реляционная для связей и транзакций, NoSQL для масштаба и гибкой схемы.
  • Шардирование и репликация - горизонтальное масштабирование и отказоустойчивость.
  • Очереди (Kafka, RabbitMQ) - асинхронная обработка, развязка сервисов.
  • CDN - раздача статики ближе к пользователю.
  • Теорема CAP - в распределённой системе нельзя одновременно максимизировать согласованность и доступность при разрыве сети; выбираете приоритет под задачу.

Пример 1. Сокращатель ссылок (URL shortener)

Классическая разминочная задача.

  • Требования: создать короткую ссылку по длинной, редиректить по короткой. Read >> write.
  • Масштаб: допустим, 100M ссылок, чтений намного больше, чем записей.
  • Схема: API для создания/редиректа, база (ключ - короткий код, значение - длинный URL), кэш для горячих ссылок.
  • Углубление: генерация короткого кода (хеш или счётчик в base62), кэш Redis для популярных ссылок (read-heavy), реплики на чтение.
  • Trade-offs: коллизии хешей против длины кода; согласованность против скорости.
CV review

How does your resume look to a recruiter?

Upload a PDF or DOCX. In 1–2 minutes you get a score across 7 sections and fixes in order of impact.

AKAnna KovalevaFrontend · Middle
46

The best result is buried at the end

Worked on developing new features and fixing bugs. Took part in moving the cart to Next.js, after which conversion grew from 2.1% to 2.8%.

Rewrite

Moved the cart to Next.js with the team, lifting conversion from 2.1% to 2.8%.

Review my resumePDF or DOCX · 1–2 minutes

Пример 2. Новостная лента (feed)

  • Требования: показать ленту постов от тех, на кого подписан пользователь.
  • Масштаб: много чтений, важна латентность.
  • Ключевое решение - fan-out: на запись (раскладывать пост подписчикам сразу) или на чтение (собирать ленту по запросу). Fan-out на запись быстрый для чтения, но тяжёлый для популярных авторов с миллионами подписчиков; гибрид - частая практика.
  • Углубление: кэш ленты, предпосчёт, очереди для раскладки, пагинация.
  • Trade-offs: свежесть против нагрузки; хранение против вычисления.

Пример 3. Мессенджер (чат)

  • Требования: обмен сообщениями в реальном времени, доставка, история.
  • Масштаб: постоянные соединения, низкая латентность.
  • Схема: WebSocket-соединения, сервис сообщений, база для истории, очередь для доставки.
  • Углубление: статусы доставки/прочтения, офлайн-сообщения, шардирование по пользователю/чату.
  • Trade-offs: гарантия доставки против скорости; хранение истории против объёма.

Частые вопросы

01С чего начать готовиться?

С каркаса (пять шагов) и 4–5 классических задач: URL shortener, лента, чат, система уведомлений, лента поиска. Прогоните каждую вслух по каркасу.

02Нужно ли знать конкретные технологии?

Полезно понимать назначение блоков (Redis, Kafka, шардинг), но интервью - про концепции и компромиссы, а не про конфиги конкретного инструмента.

03Что если я не знаю масштаб?

Сделайте разумные допущения вслух и проговорите их. Интервьюер ценит обоснованные предположения, а не точные числа.

04Это только для сеньоров?

System design чаще спрашивают с middle+. Но понимание каркаса помогает на любом уровне и быстро отличает кандидата.

Главное

System design - не про идеальную схему, а про структурный разговор: требования → масштаб → схема → углубление → trade-offs. Освойте каркас, прогоните через него несколько классических задач вслух - и секция из источника паники превратится в место, где вы показываете senior-мышление.

Когда подготовите system design и coding, направляйте отклики в компании, где этот скилл востребован и где есть релокация: подходящие позиции уровня middle+ удобно отобрать на Talanto по стеку и стране.

Источники

  • Designing Data-Intensive Applications — Martin Kleppmann (классический референс)
  • The System Design Primer — GitHub
Next step

Try this article's advice on your own resume

The review highlights the lines where recruiters lose interest and suggests what to write instead.

  • A score out of 100 across 7 sections
  • Ready-made rewrites for weak lines
  • How well you fit a specific vacancy
Review my resumePDF or DOCX · 1–2 minutes
Sample reviewFrontend · Middle
46

Was 46
Now 87 / 100

  • Summary3 → 9
  • Experience4 → 9
  • Skills5 → 9

On this page

  1. Что на самом деле проверяют
  2. Каркас из пяти шагов
  3. Строительные блоки, которые надо знать
  4. Пример 1. Сокращатель ссылок (URL shortener)
  5. Пример 2. Новостная лента (feed)
  6. Пример 3. Мессенджер (чат)
  7. Частые вопросы
  8. Главное
  9. Источники

Categories

  • All articles
  • Job Search
  • Resume & CV
  • Cover Letters & Applications
  • Interviews
  • Salary & Offers
  • Job Reviews & Roundups
  • Remote Work
  • Career
  • Career Growth
  • Market Trends
  • Onboarding
  • Tips

Related articles

  • Как отвечать на вопрос о зарплатных ожиданиях

    57d ago

  • Тестовое задание при найме: как оценить объём, выполнить и представить результат

    57d ago

  • Как ответить на вопрос «Почему вы хотите работать у нас?»

    57d ago

  • Как рассказать о сильных сторонах на собеседовании

    57d ago

  • Как говорить о слабых сторонах на собеседовании

    57d ago

Looking for a job?

IT roles with remote and relocation options.

Browse jobs
AboutPublic OfferTerms of ServicePrivacy PolicySupport
AboutPublic OfferTerms of ServicePrivacy PolicySupport

By Region

  • Jobs in Europe
  • Jobs in USA
  • Jobs in Canada
  • Jobs in Russia

By Format

  • Remote Jobs
  • Relocation to USA
  • Hybrid Jobs
  • Office Jobs

By Experience Level

  • Junior Jobs
  • Middle Jobs
  • Senior Jobs