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

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

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

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

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

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

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

Каталог

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

Найдено: 889
System Design

Как бы ты подошел к проектированию RESTful API для сущности «гномик» (список, создание и удаление по одному, нельзя удалить последнего)?

Предложите GET /gnomes, POST /gnomes и DELETE /gnomes/{id}. Запрет удаления последнего гномика должен атомарно проверяться на сервере, включая параллельные запросы.

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

Как данные проходят из сервиса через очередь в хранилище

Изменение заказа и outbox-запись фиксируются вместе; издатель передаёт событие брокеру, а потребитель сохраняет результат и отметку обработки одной транзакцией. Повторные события отсекаются по event_id.

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

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

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

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

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

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

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

Кейс 2: Есть два независимых слоя данных — продуктовая аналитика пользовательских сессий, девайсов и рекламных источников, и транзакционный бэкенд кредитного конвейера.

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

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

Кейс 3: Мы льём трафик с веба на лендинг.

Нужен сохранённый контекст перехода и поддерживаемый платформой механизм deferred deep link. После установки приложение получает контекст, проверяет его и открывает разрешённый экран; передача не гарантирована всегда.

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

Кейс 4: Нужно защититься от фрода при атрибуции, когда события отправляются напрямую с нашего сервера на сервер AppsFlyer.

Финальную конверсию отправляют только по подтверждённому серверному факту выдачи и проверенной связи с допустимым click_id. Клиентский запрос или статус анкеты не должны сами подтверждать оплату партнёру.

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

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

Клиент создаёт устойчивый ключ идемпотентности для попытки заказа и повторяет запрос с тем же ключом. Backend атомарно связывает ключ с одним заказом и возвращает сохранённый результат.

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

Есть несколько сервисов (три), нужно добавить новый функционал, затрагивающий все три. Каковы твои действия, на что нужно обратить внимание?

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

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

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

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

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

Кейс 1: Нужно спроектировать event-матрицу кредитной заявки.

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

Читать ответ