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

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

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

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

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

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

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

Каталог

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

Найдено: 889
System Design

Как бы ты выстроил идеальный CI/CD-процесс вывода микросервиса в production: окружения, quality gates, проверки и релиз?

Стройте воспроизводимый pipeline: один проверенный артефакт проходит окружения, quality gates и контролируемый rollout. Отдельно планируйте миграции, наблюдение и откат.

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

Нужно распределить данные витрины по трём шардам неравномерно: 50% на первом и по 25% на двух остальных. Как это реализовать?

Используйте взвешенную маршрутизацию 2:1:1. В ClickHouse Distributed веса шардов можно задать в конфигурации кластера вместе с подходящим sharding key.

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

[имя] спросил: кейс: есть таблица-источник в Postgres и таблица-target в Greenplum, в каждой миллиарды строк. Из-за сетевых ограничений и лимитов по памяти нельзя выгрузить обе таблицы целиком для сравнения. Обнаружены расхождения по агрегатам (например, count). Как эффективно найти расхождения между источником и таргетом и организовать процесс точечной дозагрузки недостающих данных?

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

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

[имя] спросил: расскажите подробнее про проект в компании '[компания]': как вы с нуля организовывали архитектуру хранилища данных, какое решение выбрали и как это было организовано (миграция с MSSQL на open-source стек)?

Опишите требования, выбранную архитектуру и этапы миграции с MSSQL. Отделите свои решения от командных и объясните, как проверяли совместимость данных и расчётов.

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

Есть большая PostgreSQL-таблица, в которую постоянно приходят новые записи с монотонно растущим первичным ключом. Как организовать загрузку данных в ClickHouse?

Для надёжной загрузки используйте согласованный начальный снимок и CDC по WAL. Простой курсор id > last_id может пропустить поздно закоммиченную строку.

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

У нас на сайте пользователи ищут авиабилеты. Нужно складывать события поиска в ClickHouse, чтобы аналитики могли считать популярные направления и конверсию в покупку. Спроектируй таблицу и напиши DDL

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

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

Как организовать миграцию разрозненной ML-логики из нескольких репозиториев и облаков в отдельный ML-контур PDD, не сорвав ближайший релиз?

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

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

Предложите решение задачи регулярной инкрементальной загрузки большой таблицы с гибкой (изменяемой) частотой обновления из Postgres в Data Lake.

Для большой изменяемой таблицы предпочтителен согласованный snapshot с последующим CDC из WAL. Частоту публикации в Data Lake можно менять независимо от захвата изменений.

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

Есть Spark job, который забирает данные из Kafka, пишет их в Greenplum, а затем строит Data Vault. Какие задачи вы создадите в Airflow, если обрабатывается тысяча строк?

Разбейте поток по этапам и точкам восстановления, а не создавайте задачу на каждую строку: загрузка в staging, проверка и построение зависимых объектов Data Vault.

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

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

Разделите каталог источников, очередь заданий, ограниченные по API workers, raw-слой S3 и контроль загрузок. Аналитику дайте декларативный интерфейс, а не доступ к секретам.

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

Можно ли безболезненно разделить здравпункт МНВБГ и Белую гору для раздельного просмотра статистики, и что для этого потребуется?

Раздельная статистика возможна, если записи можно надёжно отнести к каждому здравпункту. Без схемы данных нельзя обещать, что разделение будет безболезненным.

Читать ответ