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

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

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

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

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

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

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

Каталог

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

Найдено: 889
System Design

Какие инфраструктурные и архитектурные паттерны следует предусмотреть в Python-сервисе, чтобы встроить его в enterprise-микросервисную инфраструктуру, поддержать множество заказчиков, диагностику сбоев и эксплуатацию?

Предусмотрите стабильный API, аутентификацию, tenant isolation, наблюдаемость, конфигурацию и управляемый lifecycle сервиса. Не все enterprise-сценарии требуют одинакового набора паттернов.

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

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

Создайте таблицу сотрудников и таблицу телефонных номеров с внешним ключом employee_id. Так один сотрудник имеет много номеров, а каждая строка номера — одного владельца.

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

Как бы вы реализовали общий кэш, который обновляет один сервис, а читают другие, сохраняя микросервисные границы?

Назначьте одному сервису владение read-моделью и договоритесь о публичном контракте её чтения. Общий Redis не должен превращаться в неформальную базу, куда каждый сервис пишет произвольные ключи.

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

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

Внешний трафик обычно проходит через ограниченное число точек входа: gateway, ingress или reverse proxy. Внутренние сервисы взаимодействуют по приватным адресам, но тоже требуют проверки доступа.

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

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

Добавьте сущность перевода с единым transfer_id и свяжите с ней все проводки. Возврат оформляйте отдельной операцией, ссылающейся на исходный перевод, а не удалением старых записей.

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

Расскажи, пожалуйста, какие задачи хорошо масштабируются, а какие плохо.

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

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

Что делать с событием, которое постоянно падает при публикации или обработке?

Разделите временный сбой и неисправимое сообщение. После ограниченных retries с backoff отправьте проблемное событие в DLQ или quarantine с причиной и возможностью управляемого повтора.

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

В каких случаях вместо PostgreSQL стоит выбрать MongoDB?

MongoDB уместна, когда данные естественно образуют документы с вложенной структурой и часто читаются как единый агрегат. Выбор должен следовать модели и нагрузке, а не только желанию избежать схемы.

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

Сколько примерно стоит запустить и держать систему в работе?

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

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

В какой момент касса должна обращаться к сервису лояльности, какие данные запрашивать и как должно быть организовано взаимодействие между кассой, сервисом и хранилищем данных?

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

Читать ответ