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

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

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

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

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

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

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

Каталог

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

Найдено: 889
System Design

Спроектируйте физическую модель данных для системы управления задачами. Выделите все физические таблицы с указанием первичных (PK) и внешних (FK) ключей. Модель должна покрывать все Use Case, которые вы выделили ранее.

Для системы управления задачами можно выделить следующие основные таблицы:

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

Опишите проблему Message Poison Pill и как правильно спроектировать стратегию работы с DLQ (Dead Letter Queue).

DLQ (Dead Letter Queue) в контексте Kafka — это специальная очередь, куда помещаются сообщения, которые не удалось корректно обработать после нескольких попыток.

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

Спроектируйте сервис загрузки и обработки изображений: пользователи загружают изображения, сервис выполняет преобразования (например, изменение размера и формата) и возвращает ссылки на оригинал и обработанные версии, доступные в течение полугода. Опишите API, расчёты нагрузки, сервисы и их БД, взаимодействия, причины технологических решений, альтернативы, паттерны, масштабирование, текстовые схемы и модели данных.

Для такого сервиса на FastAPI я бы спроектировал архитектуру следующим образом:

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

Как спроектировать распределенный замок (distributed lock) с помощью Redis? Какие крайние случаи нужно учесть, чтобы избежать состояния гонки?

Да, в Redis можно реализовать механизмы блокировки для синхронизации данных, например, используя команду SET с параметрами NX (установить ключ, если его нет) и PX (время жизни).

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

Системный дизайн: три расчётных сервиса, каждый обращается к сервису данных, результаты нужно сохранить и быстро отобразить в веб-интерфейсе. Как построить такую систему с гарантией выполнения расчёта?

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

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

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

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

Читать ответ