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 / QPS | requests (queries) per second — запросов в секунду. Главная мера нагрузки: «сервис держит 5 тыс. RPS» | |
| Пиковая нагрузка | во сколько раз пик выше среднего: вечером, в распродажу, после рассылки. Систему считают под пик, а не под среднее | |
| Задержка (latency) и перцентили p50, p95, p99 | время ответа. p99 = 200 мс значит, что 99% запросов быстрее 200 мс. Среднее скрывает медленные запросы, поэтому смотрят перцентили | разобрать |
| Пропускная способность (throughput) | сколько запросов или данных система обрабатывает в единицу времени; у предела растут очереди и задержки | разобрать |
| Доступность и «девятки» | доля времени, когда сервис работает: 99,9% — «три девятки». Таблица простоя — ниже | разобрать |
| SLA, SLO, SLI | SLI — что измеряем (например, долю успешных ответов), 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% на всю цепочку.
Как распределить час
- Требования · 10 мин
что система делает и чего не делает; нагрузка, задержки, доступность - Оценки · 5 мин
запросы в секунду, объём данных, трафик — грубо, с округлениями - API и данные · 10 мин
основные методы и модели данных - Схема · 20 мин
компоненты, потоки данных, хранилища, кэши, очереди - Узкие места · 15 мин
масштабирование, отказы, мониторинг, что улучшить дальше
Порядок шагов совпадает с тем, что Т-Банк описывает для своей секции: формализовать задачу, API, нагрузка, модели и потоки данных.
- Требования. Что система делает, кто пользователи, какие функции обязательны, а какие нет. Нефункциональные: нагрузка, задержки, доступность, консистентность.
- Оценки. Сколько запросов в секунду, сколько данных в день и за годы. Грубо, с округлениями — этого ждут.
- API и модель данных. Основные методы и сущности.
- Схема. Клиенты → балансировщик → сервисы → хранилища; где кэш, где очередь.
- Узкие места. Что сломается при росте нагрузки в 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.
Что читать
- Мартин Клеппман, «Designing Data-Intensive Applications» и Алекс Сюй, «System Design Interview» — обе книги советует Сбер.
- System Design Primer — бесплатный конспект с упражнениями; его рекомендуют и Т-Банк, и Яндекс.
- «Как проходят архитектурные секции собеседования в Яндексе» — статья самого Яндекса.
Проектируйте вслух
На этой секции оценивают рассуждения не меньше, чем схему. Проведите пробную секцию с другом, а sotto распознает разговор и после звонка разберёт, где вы уточнили требования, а где сразу ушли в детали.
Источники и дата проверки
Проверено 16 октября 2026.
- Яндекс, «Как мы нанимаем бэкенд-разработчиков» — архитектурная секция и материалы для подготовки.
- Т-Банк, интервью по Java — секция по системному дизайну.
- Авито, этапы отбора — секция проектирования.
- Сбер, подготовка Java-разработчика — system design и книги.
- МТС, «Как нанять разработчика за одно техническое интервью», 25.09.2025 — блок проектирования в техинтервью.
Ещё в разделе «Собеседования»
HR-собеседование и поведенческие вопросы: метод STAR и 20 вопросов, к которым стоит подготовить истории
9 мин
Что спросить у интервьюера в конце собеседования: список вопросов, из которого можно выбрать свои
5 мин
Телемост, SaluteJazz, VK Звонки, Контур.Толк и TrueConf: в чём проходят собеседования и как не сорвать начало
6 мин