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

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

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

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

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

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

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

Каталог

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

Найдено: 889
System Design

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

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

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

[имя] спросил: кейс: в ClickHouse ежедневно грузится ~4 млн отзывов (ID отзыва, ID карточки, дата создания, дата изменения) и ~100-600 тыс. записей карточек (ID карточки, ID общей карточки, ID продавца), всего ~600 млн карточек, из них 70 млн с отзывами.

Разделите исходную историю, актуальные версии карточек и отзывов, затем отчётный слой. Не стройте каждый отчёт полным join всех 600 млн карточек.

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

Как бы вы поступили с цепочкой Materialized View через промежуточную ReplacingMergeTree-таблицу, чтобы корректно наполнить данные, уже существующие до запуска новой MV?

Сделайте управляемый backfill с границей между историей и новым потоком. Каскадная MV видит вставленные блоки, а не итог дедупликации ReplacingMergeTree.

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

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

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

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

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

Передавайте ответ частями по мере генерации: для однонаправленного потока подходит SSE, для двустороннего обмена — WebSocket. Интерфейс постепенно дописывает текст.

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

Конструирование микросервисной платформы учёта товаров с API‑шлюзом и брокером сообщений

Каждый сервис владеет своей БД; gateway маршрутизирует запросы, а заказы и остатки согласуются событиями с идемпотентной обработкой и компенсирующими действиями.

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

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

Для таких объёмов среднее обычно считают по предварительным агрегатам: храните сумму и количество по временным корзинам и нужным измерениям. Итоговое среднее — общая сумма, делённая на общее количество.

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

Как синхронизировать приложения, запущенные на разных виртуальных машинах/подах Kubernetes?

Поды и виртуальные машины нельзя синхронизировать обычным внутрипроцессным lock. Нужен общий координатор: БД, очередь, распределённая блокировка или механизм выбора лидера — по смыслу задачи.

Читать ответ