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

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

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

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

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

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

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

Каталог

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

Найдено: 889
System Design

Какие основные подходы и принципы system design вы знаете?

System design начинается с требований, нагрузки и инвариантов, затем определяет API, данные и компоненты. Основные темы — масштабирование, отказоустойчивость, консистентность и наблюдаемость.

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

Приведи конкретный бизнесовый пример использования outbox в финтехе.

Пример: после подтверждённого зачисления денег нужно уведомить клиента. Изменение статуса зачисления и событие PaymentCompleted сохраняются в одной транзакции БД через outbox.

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

Денормализация: если положить dep_name в employee и убрать таблицу department — как безопасно провести эту миграцию в production под нагрузкой?

Используйте expand–migrate–contract: сначала добавьте dep_name, обеспечьте синхронизацию новых записей, выполните backfill порциями, проверьте данные и только потом переключайте чтение.

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

Подошло бы такое решение: читать сообщение из Kafka, асинхронно писать в соседний сервис, а коммит делать после того, как сервис ответит?

Да, это может быть основой at-least-once, если ответ означает устойчивое завершение операции. Но сбой после внешнего успеха и до commit приведёт к повторной обработке сообщения.

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

Какие есть архитектурные подходы для организации кода внутри сервиса?

Внутри сервиса применяют слоистую, hexagonal/ports-and-adapters, clean architecture или модульную организацию по бизнес-возможностям. Это способы управлять зависимостями и границами, а не обязательные шаблоны папок.

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

Как работает связка Kafka + Redis sorted set + внешний шедулер для отложенных нотификаций?

Kafka принимает события планирования, обработчик сохраняет job ID в Redis sorted set со временем отправки в score, а scheduler выбирает наступившие задания и передаёт исполнителям.

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

[имя] спросил: Если нагрузка 30000 сообщений в минуту, сколько партиций нужно?

30 000 сообщений в минуту — это в среднем 500 в секунду. Число партиций выбирают по измеренной производительности одной партиции/consumer, пикам и требуемому параллелизму.

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

В чём проблема такого решения (коммит после ответа внешнего REST-сервиса)?

Commit после REST-ответа не делает внешний вызов и локальное изменение атомарными. Внешняя операция могла завершиться, а локальная транзакция — упасть; timeout также не доказывает отказ.

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

Какие бывают Mission Critical системы и какие ограничения они накладывают?

Mission-critical система критична для основной деятельности: её отказ останавливает существенный процесс или создаёт недопустимые потери. Это не обязательно система, опасная для жизни.

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

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

Задайте общий deadline и передавайте остаток бюджета всем этапам: очередям, БД и сетевым вызовам. Отдельный timeout на каждом шаге не гарантирует общий предел десять секунд.

Читать ответ