Если вы готовитесь к собеседованию по DevOps / SRE (Development & Operations — разработка и эксплуатация ПО) или SRE (Software Requirements Engineering — обеспечение надежности информационных систем), заучивание определений не поможет вам преуспеть.
Большинство собеседований по DevOps проверяют не то, что вы знаете, а то, как вы мыслите в момент, когда что-то выходит из строя.
Умея диагностировать реальные проблемы в продакшен-среде, вы мгновенно выделитесь на фоне конкурентов.

Вот 20 практических вопросов для собеседования по DevOps с четкими, применимыми на практике ответами, которые помогут вам готовиться умнее, а не усерднее.
Kubernetes и контейнеры
1. Pod запущен, но возвращает код ошибки 503 (Service Unavailable — сервис недоступен). Как вы будете выполнять отладку?
Выполняйте слой за слоем:
- Pod (Под — минимальная развертываемая единица в Kubernetes) → проверьте логи, состояние приложения, настройки зонда готовности, возможные проблемы конфигурации.
- Service (Сервис — абстракция для доступа к подам) → проверьте конечные точки и селекторы меток.
- Ingress (объект Kubernetes для управления внешним доступом к сервисам) → проверьте правила маршрутизации, настройки TLS (Transport Layer Security — протокол шифрования).
В большинстве случаев проблема заключается в неудачной проверке зонда готовности или в том, что сервис не указывает на поды.
2. Как работает планирование в Kubernetes?
Планировщик, назначающий поды на узлы (scheduler), работает в два этапа:
- Фильтрация (Filtering) — удаление узлов, не соответствующих требованиям.
- Оценка (Scoring) — ранжирование наилучшего узла на основе ресурсов и правил.
Сбои происходят из-за недостатка ресурсов, меток загрязнения (taints — запрет на размещение подов), правил совместимости/несовместимости (affinity/anti-affinity rules) или проблем с хранилищами.
3. Как выполнять развертывание с нулевым временем простоя (zero-downtime) для stateful-приложений (приложений с сохранением состояния)?
- Используйте StatefulSet (контроллер для управления stateful-приложениями) с контролируемым постепенным обновлением.
- Убедитесь, что изменения схемы базы данных обратно совместимы.
- Используйте реплики (replicas — копии с данными) или резервные узлы (standby nodes).
Ключевая идея: изменения в приложении и в данных не должны нарушать работу существующего трафика.
4. Как работают CNI-плагины?
CNI-плагины (Container Network Interface — интерфейс для настройки сети контейнеров) назначают IP-адреса подам и настраивают сеть так, чтобы поды могли взаимодействовать между узлами. Они создают виртуальные сетевые интерфейсы и устанавливают правила маршрутизации между узлами.
CNI-плагины являются основой сетевой работы Kubernetes. Распространенные примеры: Calico, Flannel и Cilium.
5. Как диагностировать периодические перезапуски пода при отсутствии логов?
- Проверьте события с помощью команды kubectl describe pod.
- Обратите внимание на OOMKilled (Out Of Memory Killed — процесс уничтожен из-за нехватки памяти) или сбои проверок зондов.
- Проверьте состояние узла (нагрузку на ЦП, использование памяти, давление на дисковое пространство).
Если логи отсутствуют, проблема часто связана с нехваткой ресурсов или проблемами на уровне узла.
CI/CD и производительность
CI (Continuous Integration) — непрерывная интеграция.
CD (Continuous Delivery) — непрерывная доставка.
6. Пайплайн собирает 50 образов за 20 минут. Как сократить это время до менее чем 5 минут?
- Запускайте сборки параллельно.
- Используйте кэширование слоев Docker.
- Избегайте пересборки неизмененных образов.
- Применяйте более быстрые сборщики образов, например BuildKit.
Наибольший выигрыш дают параллелизация и кэширование.
7. Как спроектировать защищенный CI/CD-пайплайн?
- Храните секреты (secrets — конфиденциальные данные: пароли, токены, ключи) в защищенном менеджере, таком как AWS Secrets Manager, Azure Key Vault, HashiCorp Vault и других (не в коде!).
- Сканируйте образы на наличие уязвимостей.
- Используйте RBAC (Role-Based Access Control — управление доступом на основе ролей).
- Подписывайте артефакты (результаты сборки) перед развертыванием.
Безопасность должна быть встроена на каждом этапе.
8. Пайплайн работает в тестовой среде, но дает сбой в продакшен-среде. В чем причина?
- Сравните переменные среды и конфигурационные файлы.
- Проверьте секреты и внешние зависимости.
- Ищите различия в сетевых настройках или правах доступа.
Большинство проблем возникает из-за несоответствия сред.
Облачные технологии и инфраструктура
9. Как разработать высоконадежную систему с поддержкой нескольких регионов?
При использовании Amazon Web Services:
- Развертывание системы в нескольких регионах.
- Использование глобального балансировщика нагрузки для маршрутизации трафика.
- Реплицирование данных между регионами.
Компромисс: обеспечение более высокой доступности за счет возможной несогласованности данных.
10. Счет за AWS вырос в 3 раза за одну ночь. Что делать?
- Проверьте Cost Explorer (инструмент AWS для анализа затрат), чтобы найти источник.
- Ищите всплески трафика или новые ресурсы.
- Распространенные причины: неисправности автоматического масштабирования, неверно настроенные задания, использование экземпляров неоптимального размера.
Всегда настраивайте оповещения о расходах (billing alerts), чтобы обнаружить проблему на ранней стадии.
11. Как избежать расхождения между командами в настройках Terraform?
При использовании Terraform (инструмента для управления инфраструктурой как кодом):
- Используйте удаленное состояние (remote state) с блокировками.
- Запускайте
terraform planв CI-пайплайнах. - Ограничьте ручные изменения в облаке.
Цель: поддерживать синхронизацию фактической инфраструктуры и ее кода.
12. Выполнение terraform apply прервалось на полпути. Как восстановиться?
- Проверьте файл состояния Terraform.
- Определите частично созданные ресурсы.
- При необходимости используйте импорт или ручное исправление.
Никогда не перезапускайте вслепую — сначала исправьте состояние.
Безопасность и секреты
13. Как обеспечить безопасное управление секретами при масштабировании?
- Используйте централизованные инструменты (Vault / Secrets Manager).
- Предоставляйте доступ через роли.
- Регулярно выполняйте ротацию секретов (смену значений).
Никогда не храните секреты в коде или образах.
14. Система прошла сканирования уязвимостей, но была скомпрометирована. Почему?
Потому что одних сканирований недостаточно. Отсутствующие уровни защиты могут включать:
- Безопасность времени исполнения (runtime security).
- Сетевые ограничения.
- Мониторинг и системы оповещения.
Безопасность должна быть многоуровневой, основанной на принципе эшелонированной защиты (defense in depth).
Наблюдаемость и надежность
15. Как спроектировать наблюдаемость системы?
- Метрики (metrics) — производительность системы.
- Логи (logs) — подробно описанные события.
- Трассировки (traces) — поток запросов между сервисами.
В совокупности они помогают быстро определить корневую причину проблемы.
16. Как настроить оповещения на основе SLO без шума (лишних ложных срабатываний)?
- Определите SLO (Service Level Objectives — целевые уровни обслуживания), например, время безотказной работы (uptime), задержку (latency).
- Оповещайте только в случае угрозы нарушения SLO.
Ориентируйтесь на последствия для пользователей, а не на сырые метрики.
17. Всплески задержки возникают каждые 60 секунд. Как выполнить диагностику?
Ищите повторяющиеся шаблоны:
- Задания по расписанию (cron jobs).
- Сборку мусора (garbage collection).
- Фоновые задачи базы данных.
Регулярные всплески обычно указывают на запланированную активность.
Продакшен-среда и обработка инцидентов
18. Система в продакшен-среде недоступна. Назовите первые 5 шагов.
- Проверьте панели мониторинга.
- Определите затронутые сервисы.
- Отмените недавние изменения.
- Снизьте влияние инцидента.
- Сообщите команде.
Сохраняйте спокойствие и действуйте системно.
19. Как спроектировать механизм плавного снижения производительности (graceful degradation)?
- Используйте резервные ответы (fallback responses — возврат заранее заданных значений вместо недоступных данных).
- Включите кэширование.
- Применяйте механизм защиты от перегрузок (circuit breakers).
Система должна работать с частично ограниченной производительностью, а не полностью выходить из строя.
20. Как выполнить обновление Kubernetes с нулевым временем простоя?
В Kubernetes:
- Обновляйте узлы постепенно.
- Безопасно освобождайте ресурсы узлов.
- Используйте PDB (PodDisruptionBudget — механизм, гарантирующий минимальное количество доступных подов).
Убедитесь, что приложения остаются доступными во время обновлений.
Заключение
На собеседованиях по DevOps выигрышное мышление проявляет себя в практическом подходе к любой проблеме «Вот как я выполнил бы диагностику и исправил эту проблему в условиях продакшен-среды».
Именно это отличает того, кто знает DevOps, от того, кто умеет работать с DevOps в продакшен-среде.
Читайте также:
- 10 проверенных правил написания Python-кода продакшен-класса
- Как я создал веб-скрапер на Python для поиска жилья
- Инструмент, который автоматически находит уязвимости в Python-коде
Читайте нас в Telegram, VK и Дзен
Перевод статьи Riya Sharma: 20 DevOps Interview Questions That Reveal How You Think in Production




