[имя] рассказал о своём опыте декомпозиции монолита на микросервисы и bounded context
При декомпозиции монолита границы выделяют по бизнес-ответственности и модели данных, а не просто по таблицам или техническим слоям.
Читать ответПодготовка к интервью
889 вопросов по System Design
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «System Design», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, api, database.
Каталог
При декомпозиции монолита границы выделяют по бизнес-ответственности и модели данных, а не просто по таблицам или техническим слоям.
Читать ответКлиент создаёт подписку через API приложения; сервер проверяет пользователя, товар и повторный запрос. Изменение остатков запускает отдельную обработку уведомлений.
Читать ответПользователь выбирает событие и место, получает временную бронь, оплачивает заказ и после подтверждения платежа получает билет.
Читать ответПроверьте первичные и внешние ключи, допустимость quantity, нужные NOT NULL и индексы для фактических запросов. Добавляйте ограничения по смыслу данных, а не только ради ускорения.
Читать ответХраните назначение замещения: сотрудник, заместитель, период, область полномочий и статус согласования. Проверка доступа учитывает действующее назначение и запрещает превышение разрешённого объёма.
Читать ответСначала оцените байтовый поток и допустимость потерь. Callback должен быстро передать данные в ограниченный буфер, а отдельные workers — пакетировать и отправлять их.
Читать ответДержите экземпляры сервиса взаимозаменяемыми, состояние размещайте в подходящих хранилищах и ограничивайте нагрузку на зависимости. Масштабирование должно учитывать весь путь запроса.
Читать ответСначала защитите зависимый сервис от перегрузки: ограничьте конкурентность, длину очереди и время обработки. Затем найдите bottleneck по профилю и метрикам.
Читать ответДобавьте только нужные свойства: ограничение памяти, eviction, TTL, безопасный конкурентный доступ и защиту от одновременной загрузки одного ключа.
Читать ответНужны каталог фильмов и сеансов, схема зала, выбор мест, временная бронь, оплата и выдача билета. Также определяют отмену, возврат и проверку билета на входе.
Читать ответС JWT магазин может локально проверить подпись и claims токена; с непрозрачной сессией обычно требуется общее хранилище или проверка у auth-сервиса.
Читать ответСредний RPS оценивают как число пользователей × действий за период ÷ длительность периода в секундах. Затем отдельно учитывают пики и fan-out внутренних вызовов.
Читать ответ