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

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

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

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

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

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

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

Каталог

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

Найдено: 889
System Design

После запуска комиссии списываются с пользователей, но менеджер не видит дохода компании. Где могут находиться деньги и как это диагностировать?

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

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

Что происходит с данными после того, как модель их оценила?

После оценки моделью результат должен пройти проверку формата и бизнес-правил, а затем попасть в предусмотренный процесс: хранение, показ, очередь или ручную проверку. Единой обязательной схемы нет.

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

Кто читает Transactional Outbox: это отдельная система или часть Kafka/RabbitMQ?

Outbox читает отдельный relay: фоновой процесс приложения, специальный сервис или CDC-коннектор. Kafka и RabbitMQ сами по себе не начинают читать произвольную таблицу вашей БД.

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

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

Аутентификация устанавливает, кто пользователь, авторизация — что ему разрешено. Пароли хранят как стойкий адаптивный хеш, а социальный вход связывают с проверенной внешней идентичностью.

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

Как организовать процесс миграции базы данных, чтобы не прерывать работу сервиса (zero downtime)?

Применяйте expand–migrate–contract: сначала совместимое расширение схемы, затем перенос данных и клиентов, и только потом удаление старого. Старые и новые версии должны временно работать вместе.

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

В Kubernetes приложение иногда стартует раньше PostgreSQL. Какой вариант поставки наиболее безопасен?

Из вариантов наиболее полный — отдельный контролируемый запуск миграций и readinessProbe приложения. Readiness не допускает трафик до готовности, а миграции не конкурируют при старте каждой реплики.

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

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

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

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

Нужно ли всегда использовать RabbitMQ/брокер для взаимодействия и передачи событий между микросервисами?

Нет, брокер нужен не всегда. Синхронный HTTP/gRPC подходит для запроса с немедленным результатом, а сообщения — для развязки по времени, буферизации и независимой обработки.

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

Как именно будет разворачиваться модель — например, на виртуальной машине? Где конкретно?

Место размещения модели выбирают по требованиям к GPU, памяти, задержке, данным и эксплуатации. Виртуальная машина — один из вариантов, а не достаточное описание deployment.

Читать ответ