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

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

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

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

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

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

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

Каталог

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

Найдено: 889
System Design

Чем отличается оркестрация от хореографии в контексте саги?

При оркестрации сагой управляет явный координатор: он выдаёт команды и решает следующий шаг. При хореографии сервисы реагируют на события друг друга без единого управляющего процесса.

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

Почему SemaphoreSlim не решает задачу защиты от cache stampede в распределённой системе и что использовать вместо него?

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

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

Как следует кэшировать цены товаров и какой риск возникает при одновременном cache miss?

Цены кешируют с ограниченным TTL и инвалидируют при изменении, а при оформлении заказа проверяют актуальные условия. Одновременный cache miss может вызвать лавину одинаковых запросов к БД.

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

Оценка архитектуры классов на соответствие принципам SOLID

Разделение IConnection и IFile полезно для ISP, а виртуальные деструкторы позволяют безопасное удаление через интерфейсы. Но наличие абстрактных классов само по себе ещё не обеспечивает все SOLID-принципы.

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

Рефакторинг IOManager с применением принципа единственной ответственности (SRP)

Разделите файловые, базовые и сетевые операции на самостоятельные компоненты. Тогда изменение протокола сервера не потребует изменения класса, который отвечает за работу с локальным файлом.

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

Создание расширяемого класса для взаимодействия с файловой системой

Отделите владение открытым ресурсом от преобразований данных. Базовый файловый объект отвечает за open/read/write/close, а логирование, компрессия или шифрование добавляются через композицию и декораторы.

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

Проблема LSP при добавлении нового типа хранилища

Нарушение возникает, если клиент вправе ожидать рабочий Save или Read, а новая реализация принципиально этого не умеет. Лучше разделить интерфейсы чтения и записи и зависеть только от нужной возможности.

Читать ответ