Системный дизайн
Вопросов: 123 из 40 собеседований. Источник указан в заголовке группы.
Все вопросы
Заголовок раздела «Все вопросы»amoCRM — 1 кв 2025
Заголовок раздела «amoCRM — 1 кв 2025»- Как бы вы спроектировали сервис для сокращения ссылок?
Andersen - 1
Заголовок раздела «Andersen - 1»- Task: Design the architecture of Twitter
- Task: Design a URL shortener service (100k rps)
- How does a server processor differ from a desktop and a laptop processor?
- What is the typical CPU-to-RAM data exchange speed?
- What is the typical speed of data exchange with storage?
- What types of storage systems exist?
- What is the typical amount of RAM on a server?
Astral / Астрал
Заголовок раздела «Astral / Астрал»- Как бы ты спроектировал сервис по генерации коротких ссылок из длинных?
Aviasales — 3 кв 2025
Заголовок раздела «Aviasales — 3 кв 2025»- Пул задач: rate limiter, tinyurl shortener, kv storage, поиск авиабилетов, доставки конфигов, подписки на поиски.
Avito / Авито (все этапы)
Заголовок раздела «Avito / Авито (все этапы)»- 3й тех. этап - системный дизайн;
Avito / Авито (системный дизайн) — 2 кв 2025
Заголовок раздела «Avito / Авито (системный дизайн) — 2 кв 2025»- 10Кб на сообщение;
- DAU: 3 000 000;
- MAU: 30 000 000;
- Предположительный рост до 10 млн DAU за 3 года (*);
- сообщений в день 10 сообщений в 3 чата (30 сообщений);
- читаем/пишем 1:1;
- 8 часов активно в день;
- в одном чате 10 сообщений;
- на человека в среднем по 15 чатов;
- условно бесконечно денег.
- 2 участника;
- условный реалтайм;
- чат должен быть привязан к объявлению;
- история чатов должна быть всегда;
- только текст (нет медиа);
- чат остается даже если объявление снято или удалено;
- важно чтобы были notification пользователю о сообщениях;
- Можно сделать поисковый запрос и получить страницу поисковой выдачи - SERP (Search Engine Results Page);
- Можно посмотреть карточку отдельного объявления;
- Можно посмотреть список своих объявлений;
- Можно добавить новое объявление которое появится в поисковой выдаче.
Clearway Integration (clearway.ru) — 1 кв 2025
Заголовок раздела «Clearway Integration (clearway.ru) — 1 кв 2025»- Задача по system design;
Eapteka / Еаптека (Сбер Еаптека)
Заголовок раздела «Eapteka / Еаптека (Сбер Еаптека)»- Реализовать rate limiter
EffectiveSoft — 1 кв 2026
Заголовок раздела «EffectiveSoft — 1 кв 2026»- Есть высоконагруженный сервис с таблицей в PostgreSQL на несколько миллионов записей. Запрос с фильтрацией по двум колонкам (
WHERE column_B =? AND column_C =?) работает медленно. В таблице есть только первичный ключ, других индексов нет. Как вы найдете, что можно оптимизировать, и как оптимизируете этот запрос?
Exness - 2
Заголовок раздела «Exness - 2»Then a system design section.
Headframe — 1 кв 2026
Заголовок раздела «Headframe — 1 кв 2026»- Как спроектировать сервис рассылки отчетов 100 тыс. клиентам ровно один раз?
Kaspersky / Касперский - 1
Заголовок раздела «Kaspersky / Касперский - 1»- Как масштабировать приложение, вертикальное/горизонтальное масштабирование?
Kaspersky / Касперский - 2
Заголовок раздела «Kaspersky / Касперский - 2»- Какие есть уровни согласованности между системами можете назвать?
Lamoda / Ламода (системный дизайн)
Заголовок раздела «Lamoda / Ламода (системный дизайн)»- Актуальность данных: система должна возвращать всегда актуальное количество оставшихся товаров и не допускать резерва закончившегося товара;
- Высокая доступность и надежность: система должна быть доступна 99.99% времени и обеспечивать сохранность данных даже при сбоях оборудования;
- Быстрый доступ к данным: Время отклика системы не должно превышать 200 мс для 99-го перцентиля операций;
Lamoda / Ламода - 1
Заголовок раздела «Lamoda / Ламода - 1»- Какие виды хранилища ты знаешь?
Magnit / Магнит (системный дизайн)
Заголовок раздела «Magnit / Магнит (системный дизайн)»- Клиенты могут получать бонусы за покупки, отзывы, участие в акциях и т. п.;
- Клиенты может выбрать категории товаров с повышенным кашбаком на месяц;
- Клиенты должны иметь возможность просматривать баллы: баллов, историю начислений и списаний бонусных баллов, доступные категории повышенного кашбака через мобильное приложение и web;
- Клиенты должны иметь возможность использовать бонусы для частичной оплаты покупок;
- Администратор системы должен иметь возможность гибкой конфигурации системы: управление категориями, ограничения на максимальное начисление за период, дата сгорания бонусов и пр.
Magnit / Магнит - 6 — 4 кв 2025
Заголовок раздела «Magnit / Магнит - 6 — 4 кв 2025»- Что такое консистентное хэширование?
Merlion
Заголовок раздела «Merlion»- DevOps смотрит и видит, что упираемся в CPU. Код написан нормально. Нужно масштабироваться. Что делать?
MTS / МТС (Cloud)
Заголовок раздела «MTS / МТС (Cloud)»- У «типичного» CRUD сервиса - в какой-то момент некоторые методы стали работать медленно и сервис начал таймаутить. Сервис состоит из:
MTS / МТС (Link) — 1 кв 2025
Заголовок раздела «MTS / МТС (Link) — 1 кв 2025»После было устное проектирование их системы (чаты). Как будешь отправлять сообщения, что такое веб-сокеты, их преимущества, как будешь контролировать соединения и кому что отправлять, как будет построено взаимодействие с сервисом чата, сообщений, профиля. У них я так понял Event-driven архитектура, так что выведут на это решение и будут накидывать как контролировать эти события, какие топики создавать.
Otello / Отелло
Заголовок раздела «Otello / Отелло»- появится интеграция с настоящей базой данных;
- появится отправка письма-подтверждения о бронировании;
- появится возможность бронирования нескольких номеров.
Ozon / Озон (полный список, ч. 1) — 3 кв 2024
Заголовок раздела «Ozon / Озон (полный список, ч. 1) — 3 кв 2024»- Чаты становятся популярными, число пользователей растет и нам скоро не хватит свободного места на диске для хранения всей переписки. Что нам делать?
Ozon / Озон (системный дизайн) - 2 — 2 кв 2025
Заголовок раздела «Ozon / Озон (системный дизайн) - 2 — 2 кв 2025»- Одинаковые ресурсы узлов: Все узлы (ноды) баз данных имеют одинаковые характеристики потребления ресурсов (CPU/RAM/Disk);
- Выделенные сервера: Некоторые кластеры (или узлы) должны разворачиваться только на выделенных серверах с определенными метками (тегами);
- Размещение: Нужно учитывать это требование и не размещать такие узлы на обычных серверах.
На базе этих требований вам необходимо спроектировать две связанные подсистемы: Шедулер (resource manager) и Дешедулер (descheduler). Шедулер (Resource Manager)
- Учитывать актуальную топологию (расположение ЦОД, доступные сервера, их загруженность и метки);
- Учитывать заявки на ресурсы (CPU, RAM, Disk);
- Хранить историю размещений и уметь оперативно реагировать, если один из серверов или ЦОД стал недоступен (например, нужно пересоздать часть узлов где-то еще).
Дешедулер (Descheduler)
- При «перeeзде» нужно сохранить исходные принципы размещения (3 ЦОД, разные физические сервера и т. д.);
- Учитывать сложность миграции данных (объемы, сетевые ограничения).
Ozon / Озон (финал) - 2
Заголовок раздела «Ozon / Озон (финал) - 2»Дали системный дизайн: Реализовать онлайн редактор текста (типа Яндекс.Кода, гугл-таблиц и т. п.).
Positive Technologies
Заголовок раздела «Positive Technologies»- Спроектировать handler
Rambler / Рамблер - 1 — 2 кв 2025
Заголовок раздела «Rambler / Рамблер - 1 — 2 кв 2025»- Задача: Требуется построить пуш сервис;
- Детали: Продумать кейсы когда сервис отваливается и как об этом узнать быстро и максимально точно (где хранить данные и как добиться того, чтобы сообщения не ушли 2 раза, но и хотя бы один раз ушли точно). По ресурсам условно нет ограничений.
Samokat / Самокат (полный список)
Заголовок раздела «Samokat / Самокат (полный список)»- Какие способы горизонтального масштабирования известны?
Sber (Селекти) - 2 — 1 кв 2026
Заголовок раздела «Sber (Селекти) - 2 — 1 кв 2026»- Связь: В одной переговорке может быть несколько устройств.
- Получение списка всех переговорок с их оборудованием;
- Просмотр текущего состояния конкретного устройства;
- Управление устройствами: включение/выключение, регулировка громкости;
- Система должна отслеживать и сохранять историю изменений состояния устройств.
Фронтенд рассматривать не нужно.
Syntes AI — 1 кв 2026
Заголовок раздела «Syntes AI — 1 кв 2026»- Как на проекте было реализовано горизонтальное и вертикальное масштабирование в кластере?
Tinkoff / Тинькофф (T-Bank / Т-Банк) - Системный дизайн
Заголовок раздела «Tinkoff / Тинькофф (T-Bank / Т-Банк) - Системный дизайн»- Система позволяет сторонним системам зачислять баллы за выполнение «полезных действий»
- Система позволяет просмотреть Топ-10 семей за текущий месяц по сумме баллов всех членов семьи
- Система позволяет просмотреть место и количество баллов своей семьи с разбивкой на каждого из членов семьи
- Система позволяет получать состояние рейтинга в реальном времени
- Доступность API 99.99%, latency API не более 100 мс
- Система должна хранить историю изменений за последние 3 года для разбора инцидентов и споров службой поддержки
- Хранить историю перемещений за 1 год
- Допустимая задержка обновления данных - 1 минута
- Курьеров всего: 300К
- Операторов у системы - 1000 одновременно
- География - вся Россия
- Координаты отправляются каждые 30 с
TSUM / ЦУМ
Заголовок раздела «TSUM / ЦУМ»- Что такое вертикальное/горизонтальное масштабирование?
- Что такое хайлоад и какие критерии?
Tutu / Туту - (системный дизайн) — 3 кв 2025
Заголовок раздела «Tutu / Туту - (системный дизайн) — 3 кв 2025»- 1-я страница с общим списком заказов. Заказы могут быть на разный вид транспорта - поезд, автобус, самолет. На ней отражена базовая информация о заказе;
- 2-я страница - это детальная информация по каждому заказу.
Uzum - 1
Заголовок раздела «Uzum - 1»System design: design the architecture of a population census system for China.
VK / ВК (ВКонтакте) - 1 — 2 кв 2025
Заголовок раздела «VK / ВК (ВКонтакте) - 1 — 2 кв 2025»В общем тут как на системном дизайне нужно постоянно уточнять и спрашивать про особенности, и проговаривать все свои шаги.
Vseinstrumenti / ВсеИнструменты
Заголовок раздела «Vseinstrumenti / ВсеИнструменты»- Приходилось ли тебе выбирать стук для сервисов?
Wildberries / WB - 11
Заголовок раздела «Wildberries / WB - 11»- Знаком ли с моделью C4? Architecture as a code? Писал ли ADR?
Wildberries / WB - 17 (Trust &Safety [системный дизайн])
Заголовок раздела «Wildberries / WB - 17 (Trust &Safety [системный дизайн])»- Продавец может размещать карточку товара
- Товары распределены по категориям
- Продавец не может создавать свои категории, то есть все категории заводим мы
- Покупатели могут зайти на карточку товара и купить (механику покупки мы не проектируем)
- Есть возможность поиска товара по названию, описанию
- Есть возможность просматривать товары в категории
Wildberries / WB - 18 (Баланс продавца [системный дизайн])
Заголовок раздела «Wildberries / WB - 18 (Баланс продавца [системный дизайн])»- отправить сообщения;
- принять прочитать сообщения;
- чаты связанные с объявлениями пользователей;
- инициализация чата происходит как только пользователь нажимает на кнопку написать;
- чаты являются «рeeт-то-рeeр» для общения продавца и покупателя;
- просмотр списка чатов;
- «Realtime» сообщения должны доставляться от отправителя до получателя с задержкой до 3 секунд.
Wildberries / WB - 19 (Логистика [системный дизайн]) — 3 кв 2025
Заголовок раздела «Wildberries / WB - 19 (Логистика [системный дизайн]) — 3 кв 2025»- Клиенты (внешние системы): Создают заказы на перевозку через интеграцию; Источники: маркетплейсы, внешние логистические платформы, корпоративные системы.
- Водители (исполнители): Используют мобильное приложение; Получают информацию о маршрутах, точках погрузки/разгрузки; Отправляют статусы (прибыл, загрузил, выехал и т. д.).
- Построение маршрутов: Для каждого заказа формируются маршруты так, чтобы заказ доехал от точки А до точки В; Возможны промежуточные точки (хабы) - заказ может разбиваться на несколько этапов; Каждый этап (маршрут) имеет своего исполнителя.
- Составной маршрут (многоэтапная доставка): Один заказ может включать несколько связанных маршрутов: Пример: A→X→Y→B: A→X - первая миля или смешанный тип; X→Y - магистральная перевозка; Y→B - последняя миля или смешанный тип. Каждый маршрут: Имeeт свой тип; Исполняется отдельно; Связан с другими маршрутами в рамках единого заказа. Система должна обеспечивать: Согласованность между маршрутами; Статусы каждого этапа и заказа в целом; В одном маршруте несколько заказов.
- Назначение исполнителя: Система должна находить подходящего исполнителя (водителя/ТС) для каждого маршрута.
- Статусы и трекинг: Водители отправляют статусы по маршрутам через приложение; Система должна отображать текущий статус заказа и маршрутов.
- Система должна быть способна обрабатывать до 20 миллионов заказов в сутки;
- Поддержка до 15 000 активных грузоперевозок (маршрутов) в день;
- Одновременная работа до 10 000 активных водителей, подключенных через мобильное приложение;
- Горизонтальное масштабирование компонентов: при росте нагрузки система должна масштабироваться без деградации производительности.
Yandex / Яндекс
Заголовок раздела «Yandex / Яндекс»Представим что есть готовый поисковик, где пользователь вводит длинный запрос и система отдает поисковую выдачу. Компания хочет к этому поиску добавить поисковые советы в виде списка из нескольких вариантов, которые должны появляться по мере ввода текста запроса. Необходимо спроектировать такую систему.
Связанные задачи
Заголовок раздела «Связанные задачи»- Представь, что у нас есть стриминговый сервис музыки, некий аналог Spotify или Apple Music, и мы обратились к
- Спроектировать Messenger Avito.
- Спроектировать Авито.
- Есть система из n узлов и у каждого узла есть своя конфигурация. Необходимо спроектировать систему, которая до
- Необходимо спроектировать stock сервис, управляющий остатками товаров на складах.
- Есть функция, которая делает HTTP запрос. Реализация отсутствует Необходимо реализовать логику Rate Limiter с
- Спроектировать информационную систему лояльности для интернет-магазина с сотнями тысяч клиентов по всей стране
- Необходимо спроектировать сервис алертов, у которого интерфейс для:
- При получении запроса на создание нового кластера должен:
- Вам нужно спроектировать бэкенд для системы управления мультимедийным оборудованием в переговорных комнатах оф
- Спроектировать систему которая будет собирать эту информацию из файлов на хостах и представлять конечному поль
- Необходимо разработать систему рейтинга семей. Семья - группа из нескольких пользователей. Пользователь может
- Спроектировать игру в шахматы 1 на 1. Все вопросы уточняются находу.
- Есть несколько поставщиков отелей, данные от которых нужно собрать, обогатить собственными данными Туту и поло
- there is no read load, and after clarifying the scope of requirements they will try to change them.
- Необходимо разработать ядро чата для даркнета. Требования:
- Спроектировать URL-shortener - сервис для создания коротких URL-адресов для SMM-менеджеров.
- Разработайте архитектуру для хранения и обновления банковских реквизитов поставщиков на маркетплейсе. Три спос
- Реализовать чат продавцов с покупателями.