Подготовка к интервью

Вопросы по System Design на собеседовании

889 вопросов по System Design

889 вопросов 1634 компании 353 технологии

Что проверяют на интервью

Как устроена подборка

В этой подборке вопросы сгруппированы по формату «System Design», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, api, database.

Каталог

Результаты поиска

Найдено: 889
System Design

Выбор оптимальной рекламной кампании под конкретного пользователя

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

Читать ответ
System Design

Оценка узких мест в системе и предложения по оптимизации

При входе одного события каждые 5 секунд обновление интерфейса раз в секунду не создаёт более свежих данных. Сначала измерьте время обработки и договоритесь, нужны ли все события или только последнее состояние.

Читать ответ
System Design

Стратегия масштабирования при десятикратном росте нагрузки

Сначала измерьте профиль 1000 RPS и определите запас до 10 000: доли чтения и записи, latency, БД и внешние зависимости. Масштабируйте подтверждённые узкие места поэтапно, не начиная автоматически с шардинга.

Читать ответ
System Design

Если запрос кассы поставлен в очередь, какой ответ сервис должен вернуть кассе и как касса узнает, когда её запрос будет обработан?

Если запрос принят для асинхронной обработки, сервис может вернуть 202 Accepted с ID операции и ссылкой на статус. Это подтверждение приёма, а не успешного завершения бизнес-действия.

Читать ответ
System Design

Как реализовать ретрай через брокер для долгого многоэтапного процесса, чтобы не повторять уже успешно выполненные тяжёлые шаги?

Сохраняйте состояние каждого этапа и его результат в устойчивом хранилище. При повторной доставке worker продолжает с незавершённого шага, а успешно выполненные этапы проверяет по сохранённому статусу.

Читать ответ
System Design

Какая архитектура нужна для агента поддержки интернет-магазина, если вся обвязка (чат, бэкенд) уже готова?

Добавьте слой оркестрации: модель, поиск по базе знаний, безопасные инструменты для заказов и эскалацию оператору. Готовый чат остаётся интерфейсом, а агент получает только необходимые данные и разрешённые действия.

Читать ответ
System Design

Сколько клиентов нужно проскорить за раз и как определить требуемую мощность (например, при базе в 5 миллиардов клиентов)?

Сначала определите дедлайн и объём реально нужного пересчёта. Для N клиентов за T секунд минимальная средняя производительность — N/T; число workers оценивают по измеренной пропускной способности с запасом.

Читать ответ
System Design

Что такое Cache Penetration, Cache Avalanche и Cache Warmup? Как спроектировать слой кэширования для интернет-магазина так, чтобы во время ночной распродажи, когда миллионы пользователей одновременно запрашивают новые товары, база данных не вышла из строя из-за промахов кэша?

Penetration — промахи по отсутствующим данным, avalanche — массовое истечение или потеря кеша, warmup — его предварительное заполнение. Для распродажи нужны прогрев и защита БД от лавины промахов.

Читать ответ
System Design

Как спроектировать чанковую загрузку огромных файлов через API, чтобы бэкенд не держал весь файл в оперативной памяти?

Разделите загрузку на ограниченные части и записывайте поток сразу в временное или объектное хранилище. Backend хранит метаданные upload-сессии и частей, а не весь файл в RAM.

Читать ответ
System Design

Как спроектировать отказоустойчивую систему генерации уникальных ID в распределённой среде, аналогичную Snowflake от Twitter?

Snowflake-подобный ID объединяет время, уникальный ID узла и локальную последовательность. Узлы генерируют значения без сетевого обращения на каждый ID, но уникальность зависит от строгого управления узлами и временем.

Читать ответ
System Design

Про реляционные базы данных в общем (не конкретно про PostgreSQL): если база не справляется с объёмом данных, чтение/запись медленные — расскажи пошагово, от простого к сложному, как оптимизировать эту ситуацию.

Начните с измерения: какие запросы и ресурсы ограничивают систему. Затем оптимизируйте запросы, индексы, объём данных и транзакции; реплики, разделение нагрузки и шардирование рассматривайте после простых мер.

Читать ответ