awesome-everything EN
↑ Обратно к восхождению

Архитектура бэкенда

Жизненный цикл запроса: тест с выбором ответа

Суть Тест с выбором на синтез по всему жизненному циклу запроса — accept-очереди, порядок middleware как граница безопасности, стоимость сериализации, backpressure и амплификация хвоста при fan-out.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 13 min

Шесть вопросов поперёк всех семи остановок. Каждый отражает реальный инцидент — не стадию для называния, а симптом, который надо локализовать до одной остановки, плюс механизм, объясняющий его.

Цель

Убедись, что по симптому прыгаешь к нужной остановке: связываешь лимиты accept-очереди, порядок middleware, стоимость сериализации, backpressure и амплификацию хвоста в один рефлекс принятия решения.

Викторина

Под всплеском трафика клиенты получают connection timeout и reset, но логи приложения полностью пусты — ни 500, ни трейсов обработчика. Какая остановка и почему логи пусты?

Викторина

Security-ревью находит, что один admin-эндпоинт обслуживает неаутентифицированные запросы, хотя auth-middleware реализован, протестирован и зарегистрирован. Наиболее вероятная причина?

Викторина

Эндпоинт стал на 40% медленнее после роста результата с 50 до 5000 строк, но время запроса к БД не изменилось — те же 8 мс. Куда ушло время и какой первый фикс?

Викторина

Стриминговый экспорт даёт OOM только когда клиент скачивает по медленному каналу. Код вызывает res.write() в цикле и игнорирует возвращаемое значение. Каков точный механизм?

Викторина

Страница продукта делает fan-out на 100 независимых сервисов параллельно и ждёт всех. У каждого p99 = 10 мс (1% шанс, что вызов превысит). Примерно какая доля загрузок страницы превышает 10 мс хотя бы на одном вызове и какой устойчивый фикс?

Викторина

У запроса SLA 1 с. Сервис A (client timeout 1 с) вызывает сервис B (client timeout 1 с). Когда B зависает, A продолжает работать всю секунду после того, как клиент уже сдался. Почему и что это чинит?

Итог

Сквозная линия юнита — один рефлекс: по симптому прыгай к остановке, которой он принадлежит. Пустые логи под всплеском — accept-очередь (somaxconn) отбросила соединения до запуска кода; неаутентифицированный эндпоинт — порядок middleware, а не логика auth; замедление, отслеживающее размер payload — сериализация; OOM под медленными клиентами — проигнорированный backpressure; медленная страница при здоровых сервисах — амплификация хвоста при fan-out, чинится пробрасываемыми deadline и hedging. Задержка — сумма по всем семи остановкам плюс очереди, поэтому карта превращает слепую отладку в один прыжок.

Продолжить восхождение ↑Жизненный цикл запроса: тест на воспроизведение
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.