Получить доступ
Собеседования · 9 мин

System design для начинающих: как проходит секция, план на час и калькулятор нагрузки

Кому и где дают секцию проектирования, порядок ответа, оценки «на салфетке» с калькулятором и разбор сокращателя ссылок.

Секция system design — проектирование системы — пугает тем, что у неё нет правильного ответа. Но у неё есть понятный порядок действий и типичные ожидания, которые компании описывают открыто. Ниже — кому и где её дают, как распределить час, калькулятор нагрузки для оценок «на салфетке» и разбор одной задачи.

Кому и где её дают

КомпанияКогдаКак проходит
Яндекскандидатам с коммерческим опытом высоконагруженных систем1,5 часа: спроектировать систему под нагрузку и доступность, оценить ресурсы, обсудить хранение, балансировку, отказоустойчивость
Т-Банкв наборе секций для бэкенда (Java, Go, Python)час: формализовать задачу, спроектировать API, оценить нагрузку и мощности, модели и потоки данных; рисуют на онлайн-доске
Авитос грейда E5схема в draw.io, Miro, Whimsical или Excalidraw; советуют освоить инструмент заранее и изучить модель C4
СберSenior и Tech Leadпроектирование по функциональным и нефункциональным требованиям, обсуждение вариантов
МТС (облако)senior+ отдельно; блок проектирования — в техинтервью для всехв техинтервью — 15 минут: как добавить метод в CRUD-сервис, тесты, мониторинг, нагрузка, доступ

Джунов на полноценную секцию обычно не зовут, но вопросы «как бы вы спроектировали» встречаются на любом уровне — как в техинтервью МТС. Разобраться в основах заранее полезно всем.

Термины, без которых не обойтись

На секции говорят на одном языке: «держим 5 тысяч RPS при p99 до 200 мс и доступности три девятки». Если какие-то слова незнакомы — начните с них. По ссылкам — короткие ответы и разборы на Acody.

ТерминЧто значит
RPS / QPSrequests (queries) per second — запросов в секунду. Главная мера нагрузки: «сервис держит 5 тыс. RPS»
Пиковая нагрузкаво сколько раз пик выше среднего: вечером, в распродажу, после рассылки. Систему считают под пик, а не под среднее
Задержка (latency) и перцентили p50, p95, p99время ответа. p99 = 200 мс значит, что 99% запросов быстрее 200 мс. Среднее скрывает медленные запросы, поэтому смотрят перцентилиразобрать
Пропускная способность (throughput)сколько запросов или данных система обрабатывает в единицу времени; у предела растут очереди и задержкиразобрать
Доступность и «девятки»доля времени, когда сервис работает: 99,9% — «три девятки». Таблица простоя — нижеразобрать
SLA, SLO, SLISLI — что измеряем (например, долю успешных ответов), SLO — внутренняя цель (99,9%), SLA — обещание клиенту с последствиями при нарушении
Горизонтальное и вертикальное масштабированиедобавить машин или сделать машину мощнее; горизонтальное требует сервисов без состоянияразобрать
Балансировщик нагрузки (L4 / L7)распределяет запросы между экземплярами; L4 — по соединениям, L7 — по содержимому HTTPразобрать
Кэш и hit ratioдоля запросов, которые обслужил кэш; от неё зависит нагрузка на базуразобрать
CDNсеть серверов рядом с пользователями для статики и медиаразобрать
Шардированиеделение данных по ключу между серверами; главный вопрос — выбор ключаразобрать
Репликациякопии данных на нескольких узлах; синхронная надёжнее, асинхронная быстрееразобрать
CAP и консистентностьпри сетевом разделе приходится выбирать между согласованностью и доступностьюразобрать
Очередь и backpressureбуфер между сервисами и способ притормозить отправителя, когда получатель не успеваетразобрать
Rate limitingограничение частоты запросов от клиента: token bucket, скользящее окноразобрать
Идемпотентностьповтор операции не меняет результат — нужно для безопасных ретраевразобрать
Таймауты и ретраисколько ждать ответа и как повторять, не устроив лавину запросовразобрать

Сколько простоя допускают «девятки»

ДоступностьПростой в годПростой в месяц (30 дней)
99%3,65 дня7,2 часа
99,9% — три девятки8,76 часа43,2 минуты
99,95%4,38 часа21,6 минуты
99,99% — четыре девятки52,6 минуты4,3 минуты
99,999% — пять девяток5,26 минуты26 секунд

Если запрос проходит через несколько сервисов подряд, их доступности перемножаются: три сервиса по 99,9% дают около 99,7% на всю цепочку.

Как распределить час

Как распределить час секции system design
060 мин
  • Требования · 10 мин
    что система делает и чего не делает; нагрузка, задержки, доступность
  • Оценки · 5 мин
    запросы в секунду, объём данных, трафик — грубо, с округлениями
  • API и данные · 10 мин
    основные методы и модели данных
  • Схема · 20 мин
    компоненты, потоки данных, хранилища, кэши, очереди
  • Узкие места · 15 мин
    масштабирование, отказы, мониторинг, что улучшить дальше

Порядок шагов совпадает с тем, что Т-Банк описывает для своей секции: формализовать задачу, API, нагрузка, модели и потоки данных.

  1. Требования. Что система делает, кто пользователи, какие функции обязательны, а какие нет. Нефункциональные: нагрузка, задержки, доступность, консистентность.
  2. Оценки. Сколько запросов в секунду, сколько данных в день и за годы. Грубо, с округлениями — этого ждут.
  3. API и модель данных. Основные методы и сущности.
  4. Схема. Клиенты → балансировщик → сервисы → хранилища; где кэш, где очередь.
  5. Узкие места. Что сломается при росте нагрузки в 10 раз, что будет при отказе узла, что мониторить.

Калькулятор нагрузки

Оценки «на салфетке» — обязательная часть секции. Калькулятор считает RPS на чтение и запись, пиковую нагрузку и объём данных:

Яндекс в материалах для подготовки ссылается на таблицу задержек, которые полезно знать наизусть, — она есть в приложении к System Design Primer.

Пример: сокращатель ссылок

  • Требования: создать короткую ссылку, перейти по ней; ссылки живут годами; чтений намного больше, чем записей.
  • Оценки: 1 млн новых ссылок в день — около 12 в секунду; переходов в 100 раз больше — около 1 200 в секунду, в пик втрое больше. По 500 байт на запись — 0,5 ГБ в день, около 180 ГБ в год.
  • API: POST /links → короткий код; GET /{code} → редирект.
  • Схема: сервис генерации кодов, хранилище «код → URL», кэш популярных ссылок перед хранилищем, балансировщик.
  • Обсудить: как генерировать уникальные коды без коллизий, как шардировать хранилище, что делать с горячими ссылками, нужна ли аналитика переходов и как её писать асинхронно через очередь.

Разобранные задачи с ответами — в подборке system design на Acody и в разделе highload: там же интерактивные модели балансировки, consistent hashing и rate limiter.

Что читать

Проектируйте вслух

На этой секции оценивают рассуждения не меньше, чем схему. Проведите пробную секцию с другом, а sotto распознает разговор и после звонка разберёт, где вы уточнили требования, а где сразу ушли в детали.

Как устроен разбор

Источники и дата проверки

Проверено 16 октября 2026.

← Все статьи