Обновлено: 15 марта 2026 г. в 05:37

Troubleshooting Interview

medium

Формат SRE-интервью: диагностика инцидентов, RED Method, workaround vs root cause, критерии оценки и сравнение с System Design.

Эта глава фокусируется на диагностике инцидентов и reasoning под давлением.

В реальной работе материал помогает проектировать процесс подготовки и карьерных решений: выбирать приоритеты, структурировать сигналы и управлять риском неверной ставки на случайные практики.

Для system design interview глава полезна тем, что дает рабочий язык аргументации: как показывать инженерную зрелость, объяснять компромиссы и защищать решения под ограничением времени.

Практическая польза главы

Декомпозиция инцидента

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

Дерево гипотез

Стройте приоритизированные гипотезы с явным критерием подтверждения и стоимостью проверки.

Триаж сигналов

Опирайтесь на метрики, логи и трассировки, чтобы отсеивать шум и сокращать время до корня проблемы.

Коммуникация под давлением

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

Источник

Troubleshooting Interview

Материал основан на статье и выступлении Alexander Polomodov на DevOps & Techlead Conf 2022.

Читать оригинал

Troubleshooting Interview — это особый формат технического собеседования, который проверяет способность кандидата диагностировать и устранять проблемы в production-системах. В отличие от System Design, где мы проектируем системы "с нуля", здесь мы работаем с уже существующей системой, которая внезапно "загорелась".

Ключевое отличие от System Design

В System Design Interview на старте есть только требования заказчика, и цель — спроектировать систему, которая не подвержена "возгораниям". В Troubleshooting на старте уже есть боевая система, и цель — потушить внезапно "загоревшуюся" систему.

Зачем нужно Troubleshooting Interview

Для компании

  • Децентрализация обеспечения надёжности — инженеры должны сами уметь обеспечивать надёжность своих систем
  • Быстрый рост штата и переход к кросс-функциональным командам
  • Мультипродуктовая экосистема с нетривиальными интеграциями

Для кандидата

  • Возможность получить опыт работы над инцидентом в условиях, приближённых к реальности
  • Цена ошибки не так велика — можно проверить себя почти в "бою"
  • Обратная связь о том, что стоит подтянуть

Видеозапись

DevOps & Techlead Conf 2022

Запись выступления с демонстрацией формата интервью.

Смотреть видео

Формат интервью

Легенда

По легенде кандидат и интервьюер работают совместно в SRE-команде. Кандидат исполняет роль Lead, а интервьюер — Junior. Lead уезжает на конференцию, а Junior остаётся дежурить. Во время дежурства происходит инцидент, и Junior "звонит" Lead-у с просьбой помочь распутать ситуацию.

Важно: вопросы и команды должны быть максимально точными и конкретными, так как Junior на сложные вопросы ответить не сможет "в силу своего грейда".

Связанная глава

Подходы к интервью по проектированию

Аналогичный 7-шаговый фреймворк для System Design Interview.

Читать главу

Шаги Troubleshooting Interview

9 этапов от начала до постмортема
Подготовка
Инцидент
Решение
Постмортем
0

Описание регламента

Интервьюер объясняет формат и правила взаимодействия

1

Обсуждение архитектуры

Интервьюер показывает архитектурную схему и рассказывает про компоненты системы

2

Вопросы по системе

Кандидат задаёт уточняющие вопросы (часто пропускают этот шаг)

3

Старт инцидента

Интервьюер сообщает о симптомах — внешних эффектах проблемы

4

Диагностика

Формулирование гипотез и проведение экспериментов

5

Workaround решение

Быстрое решение для митигации проблемы у пользователей

6

Полноценная починка

Устранение проблемы с пониманием алгоритма решения

7

Root Cause

Понимание почему всё произошло — все элементы пазла собираются

8

Улучшение системы

Как предотвратить повторение или узнать о проблеме раньше

Нажмите «Запуск», чтобы увидеть последовательность шагов интервью.

Фундамент

Контейнеризация

K8s и контейнеры задают окружение, где развивается инцидент.

Читать обзор

Пример типовой задачи

Контекст системы

  • Несколько миллионов клиентов ежедневно
  • Два датацентра
  • Фронтенд на React + бэкенд на Python/Django
  • Оба приложения развёрнуты в K8s
  • Postgres для данных, Redis для кэша

Инцидент

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

Пример диалога

Lead:Есть ли у нас система для сбора логов, например, ELK стек?
Junior:Да, у нас он есть, но я пока в нём ориентируюсь не слишком уверенно. Куда мне смотреть?
Lead:Давай посмотрим на визуализацию информации с логов балансировщика?
Junior:Открыл дашборд, что на нём искать?
Lead:Давай воспользуемся RED Method и поищем данные о количестве Requests, Errors, Duration?
Junior:Вижу, что количество запросов не увеличилось, но количество ошибок возросло и средний Duration подрос.
Lead:А какой тип ошибок превалирует?
Junior:Летят ошибки разных типов, но большинство имеют статус 504
Lead:Хмм, 504 — это Gateway Timeout. Давай глянем в логи приложения...

Критерии оценки кандидата

Кругозор

Широта используемых инструментов и подходов к диагностике

Методичность

Логичность и системность поиска решения, осмысленное отсечение неверных гипотез

Workaround

Скорость нахождения временного решения для митигации проблем у пользователей

Полноценный фикс

Нахождение решения проблемы и формулирование алгоритма его применения

Root Cause

Понимание корневой причины, объясняющей симптомы и почему решение сработало

Улучшения

Предложения по предотвращению повторения или раннему обнаружению

Пример профиля кандидата

Кандидат с неплохим знанием инструментов (Middle), логично шёл по задаче (Middle+), быстро нашёл workaround (Middle), но не докопался до полноценного фикса (Junior), не понял корневую причину (Junior) и предложил косметические улучшения. Интегральная оценка: Junior.

Обычно оценки по разным осям варьируются — редко бывают ярко выраженные уровни по всем критериям.

Troubleshooting vs System Design

Troubleshooting

  • На старте уже есть боевая система
  • Цель: потушить "загоревшуюся" систему
  • Проверяем системность подхода к диагностике
  • Хорошо проходят ребята близкие к инфраструктуре и эксплуатации

System Design

  • На старте только требования заказчика
  • Цель: спроектировать систему без "возгораний"
  • Проверяем системность подхода к проектированию
  • Хорошо проходят ребята близкие к проектированию и разработке

Идеальный SRE должен обладать обоими навыками — не просто тушить пожары, но и системно работать над надёжностью.

Как прокачаться

Troubleshooting

Теория:

  • Практики из SRE Book и SRE Workbook
  • Building Secure & Reliable Systems
  • Изучение инструментов диагностики

Практика:

  • Работа в SRE команде над реальными системами
  • Разбор публичных postmortems
  • Тренировка на задачах по мотивам postmortems

System Design

Теория:

  • Принципы проектирования распределённых систем
  • Классы систем и границы применимости

Практика:

  • Работа архитектором над реальными системами
  • Разбор архитектуры крупных систем (Google, Meta)
  • Решение архитектурных kata

References

Связанные главы

Чтобы отмечать прохождение, включи трекинг в Настройки