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

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

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

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

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

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

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

Каталог

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

Найдено: 889
System Design

В Prometheus-стеке собирается более 500 миллионов метрик в день, а запросы в Grafana стали медленными. Расширять железо нельзя. Как оптимизировать хранение, downsampling, политику retention и паттерны запросов, сохранив наблюдаемость и критичные алерты?

Сначала различите число samples и активных временных рядов: 500 млн отсчётов в сутки — около 5,8 тыс. в секунду. Основные меры — снизить кардинальность, убрать лишний сбор и оптимизировать запросы.

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

Опиши архитектуру сервера, который обрабатывает запрос на обновление настроек пользователя.

Запрос проходит через аутентификацию, валидацию, проверку прав и сервис обновления настроек. Изменение сохраняется атомарно, а ответ содержит актуальное состояние и версию ресурса.

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

В каком виде GET-метод должен вернуть информацию, чтобы фронтенд корректно определил текущий пользовательский кейс, учитывая, что web и mobile используют разные наборы кейсов на основе одних доменных сущностей?

Возвращайте явное доменное состояние и доступные действия, а различия web и mobile оформляйте согласованной моделью представления. Клиент не должен угадывать сценарий по случайному набору полей.

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

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

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

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

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

После отправки записи показывайте состояние ожидания и идентификатор операции. Календарь обновляйте из серверной модели чтения, а push или WebSocket используйте как сигнал получить актуальные данные.

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

Как бы ты подошел к проектированию сервиса SMS-рассылки (загрузка номеров, текст, запуск сейчас или по расписанию, срок действия)?

Разделите кампанию, получателей и попытки отправки. Загрузка и проверка номеров предшествуют планированию, а очередь воркеров отправляет сообщения с учётом лимитов провайдера и срока действия.

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

По каким признакам можно выделить часть монолита в отдельный сервис?

Хорошая граница сервиса — самостоятельная бизнес-возможность с понятным владением данными и ограниченными связями. Дополнительные причины — независимые релизы, масштабирование и ответственность команды.

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

Вы — системный аналитик. Заказчик хочет приложение для продажи книг: с какой стороны вы начнёте работу над этим кейсом?

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

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

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

Свяжите рекламный клик и первый запуск через поддерживаемый канал атрибуции или одноразовый контекст перехода. Один только Device ID не позволяет достоверно восстановить анонимный визит.

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

Как избежать создания двух гномиков, если сеть моргнула и браузер отправил повторный POST-запрос?

Используйте ключ идемпотентности: браузер повторяет POST с тем же ключом, а сервер возвращает результат первого создания вместо создания второго гномика.

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

Как сопоставлять платежи с заказами по явным правилам

Основное сопоставление выполняется по ID заказа с дополнительной проверкой суммы, валюты и статуса платежа. Одинаковой суммы недостаточно: без надёжного ключа запись остаётся неразобранной.

Читать ответ