В этой подборке вопросы сгруппированы по формату «System Design», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, api, database.
Для LSM-хранилищ write amplification часто создают compaction, индексы и повторная запись больших значений. Снижать его нужно через модель данных и настройки движка, измеряя компромисс с чтением и местом.
Sidecar — отдельный контейнер рядом с приложением в Pod; Envoy может перехватывать сетевой трафик и применять общие политики. В sidecar-режиме Istio управляет конфигурацией и идентичностью прокси.
Cache stampede — одновременный пересчёт одного дорогого значения множеством запросов после промаха. При 5000 запросах в секунду это может перегрузить БД и вызвать каскад тайм-аутов.
Открытое соединение остаётся на одном инстансе, но события могут возникать на другом. Используйте общий broker/pub-sub и маршрутизацию к владельцу соединения; важное состояние храните вне процесса.
Вероятно, под «патентностью» имеется в виду идемпотентность: повтор задания не должен повторять бизнес-эффект. Нужны устойчивое хранение, статус, lease, retries и уникальный ключ операции.
L4 распределяет транспортные соединения, L7 понимает HTTP и может маршрутизировать по host/path/заголовкам. Для миллионов WebSocket важны ресурсы соединений и TLS, а не только номер уровня.
Сервисы находят друг друга через service discovery: DNS, реестр или стабильную точку балансировки. Приложение обращается к имени сервиса, а не хранит случайные IP экземпляров.
Опишите события переходов заявки, ключ partition по заявке, надёжную публикацию и идемпотентных потребителей. Консистентность между сервисами обычно достигается с задержкой, а не общей транзакцией Kafka и БД.
Сначала выясните, горячий ли один ключ, диапазон или неравномерная функция распределения. Добавление узлов не поможет, если весь востребованный объект остаётся на одном шарде.
Обычно основная БД — источник истины, а Redis хранит восстанавливаемые копии. После commit изменения кеш инвалидируют или обновляют, учитывая гонки, повторы событий и допустимую устарелость.
RAG-ассистент брокера включает подготовку документов, индекс, поиск разрешённых источников, генерацию ответа и проверку ссылок. Версии условий и разграничение доступа здесь особенно важны.
Перед отправкой атомарно резервируйте слот в счётчике «домен + минутное окно». Если лимит исчерпан, отложите URL до следующего окна, не отправляя запрос заранее.