Собеседования по DevOps проверяют, умеете ли вы надёжно доставлять софт: как код попадает с ноутбука в продакшен, как вы понимаете, что всё работает, и что делаете, когда что-то сломалось. Ниже — 20 вопросов с ответами: от базовых до сценариев, которые решают исход большинства собеседований. Там, где показана команда, это стандартная команда, которую можно проверить в документации самого инструмента.
Основы
1. Что такое DevOps?
Это способ работы, который объединяет разработку и эксплуатацию, чтобы софт создавался, тестировался, выпускался и работал в рамках одного общего процесса. Цели — быстрее и безопаснее выпускать релизы и быстрее восстанавливаться, когда что-то ломается. Это культура и набор практик, где инструменты лишь помогают, а не просто название должности.
2. В чём разница между непрерывной интеграцией, непрерывной доставкой и непрерывным развёртыванием?
| Практика | Что это значит |
|---|---|
| Непрерывная интеграция | Разработчики часто вливают небольшие изменения, и каждое слияние запускает автоматическую сборку и тесты |
| Непрерывная доставка | Каждое изменение, прошедшее пайплайн, готово к релизу, а человек решает, когда его выпускать |
| Непрерывное развёртывание | Каждое изменение, прошедшее пайплайн, автоматически выпускается в продакшен |
3. Какие ключевые метрики доставки софта?
Широко используются четыре метрики из исследовательской программы DORA: частота развёртываний, время от коммита до продакшена, доля неудачных изменений и время восстановления сервиса. Первые две измеряют скорость, последние две — стабильность. Хороший ответ объясняет, что вы отслеживаете все четыре, чтобы не улучшать скорость в ущерб стабильности.
4. Как выглядит хороший CI-пайплайн?
- Забрать код и восстановить закэшированные зависимости.
- Собрать.
- Сначала запустить быстрые тесты (юнит-тесты), затем более медленные.
- Запустить статические проверки, например линтинг и сканирование зависимостей на уязвимости.
- Собрать артефакт (образ контейнера или пакет) один раз и пометить его тегом с коммитом.
- Опубликовать его и разворачивать один и тот же артефакт во всех окружениях.
Ключевая идея — собрать один раз и продвигать один и тот же артефакт, чтобы то, что вы тестировали, и было тем, что вы выпускаете.
Контроль версий и релизы
5. Как вы организуете ветки и релизы?
Есть два распространённых подхода. Trunk-based development часто вливает небольшие изменения в основную ветку, а незавершённую работу скрывают за фича-флагами. Подходы на основе веток, например GitFlow, используют долгоживущие ветки для релизов. Trunk-based development обычно лучше сочетается с непрерывной доставкой, потому что слияния небольшие и частые.
6. Что такое blue-green и canary-развёртывание?
| Стратегия | Как работает | Откат |
|---|---|---|
| Blue-green | Два одинаковых окружения. Разверните в неактивном, протестируйте его, затем переключите трафик | Переключить трафик обратно |
| Canary | Направьте небольшую долю трафика на новую версию, следите за метриками и постепенно увеличивайте долю | Вернуть долю трафика к нулю |
| Rolling | Заменяйте инстансы по несколько за раз | Продолжить вперёд или откатить развёртывание |
Blue-green требует дополнительных мощностей. Canary требует хороших метрик, потому что решение принимается по данным.
7. Что такое фича-флаг и зачем его использовать?
Это переключатель в конфигурации, который включает или выключает функциональность без развёртывания. Он разделяет развёртывание кода и выпуск функциональности, позволяет тестировать на небольшой группе и даёт быстрый выключатель, если что-то пошло не так. Минус в том, что старые флаги накапливаются, поэтому удаляйте их, когда функциональность станет стабильной.
8. Как безопасно откатить изменения?
Держите предыдущий артефакт доступным, делайте развёртывания воспроизводимыми и вносите изменения в базу данных обратно совместимыми, чтобы старая версия продолжала работать с новой схемой. План отката, который игнорирует базу данных, — это не план. Для рискованных изменений предпочитайте откатываться вперёд с исправлением, если откат приведёт к потере данных.
Инфраструктура и контейнеры
9. Что такое инфраструктура как код?
Это описание серверов, сетей и прав доступа в файлах под контролем версий вместо ручных кликов в консоли. Так окружения становятся воспроизводимыми, их можно проверять ревью и легко пересоздавать. Популярные инструменты — Terraform, Pulumi и собственные шаблоны облачных провайдеров. Смотрите наши вопросы для собеседования по Terraform.
10. В чём разница между контейнером и виртуальной машиной?
Виртуальная машина включает полноценную гостевую операционную систему поверх виртуализированного железа. Контейнер использует ядро хоста и упаковывает только приложение и его зависимости, поэтому запускается быстрее и потребляет меньше памяти. При этом изоляции в контейнере меньше, чем в виртуальной машине.
11. Что должно быть в хорошем Dockerfile?
Берите маленький и конкретный базовый образ, располагайте слои так, чтобы первыми шли те, что меняются реже всего (это помогает использовать кэш сборки), копируйте файлы зависимостей и устанавливайте их до копирования исходного кода, запускайте процесс от непривилегированного пользователя и не зашивайте секреты в образ. Многоэтапная сборка позволяет не тащить инструменты сборки в финальный образ.
12. Зачем нужен Kubernetes?
Он распределяет контейнеры по машинам, перезапускает упавшие, масштабирует их, а также берёт на себя rolling-обновления и service discovery. Но вместе с этим он добавляет много сложности, поэтому хороший ответ включает и то, когда вы бы его не использовали: например, для небольшого приложения, которому хватает пары серверов, или для managed-платформы. Смотрите наши вопросы для собеседования по Kubernetes.
13. Как вы управляете секретами?
Никогда не храните их в системе контроля версий или в образах. Используйте менеджер секретов или встроенное хранилище платформы, давайте каждому сервису минимально необходимый доступ, регулярно ротируйте секреты и не допускайте их попадания в логи. Расскажите, что сделаете при утечке: отзовёте секрет, смените его и проверите логи на предмет использования.
Надёжность и эксплуатация
14. Что такое мониторинг, логирование и трассировка?
| Сигнал | Что показывает |
|---|---|
| Метрики | Как система ведёт себя во времени: например, доля ошибок и задержка |
| Логи | Что произошло в конкретном событии |
| Трейсы | Как один запрос прошёл через несколько сервисов |
Алерты стоит настраивать скорее на симптомы, которые чувствуют пользователи (ошибки и медленные ответы), чем на причины вроде высокой загрузки CPU на одной машине.
15. Что такое SLI, SLO и SLA?
Индикатор уровня сервиса (SLI) — это измерение, например доля успешных запросов. Цель уровня сервиса (SLO) — это целевое значение для него, например 99,9 % за 30 дней. Соглашение об уровне сервиса (SLA) — это обещание клиентам, часто с последствиями за его нарушение. Разрыв между 100 % и SLO — это бюджет ошибок: запас, который у вас есть на риск и изменения.
16. Продакшн-сервис тормозит. Что вы делаете?
- Проверьте, реальна ли проблема и кого она затрагивает, по дашбордам и уровню ошибок.
- Посмотрите, что недавно менялось: деплой, изменение конфигурации, всплеск трафика.
- Сузьте область поиска: конкретный эндпоинт, регион или зависимость.
- Посмотрите на ресурсы (CPU, память, соединения) и на нижележащие сервисы.
- Если вероятная причина — недавнее изменение, сначала откатите его, а разбирайтесь потом.
- Держите коллег в курсе статуса, пока работаете.
Интервьюеры слушают, есть ли у вас спокойный, упорядоченный подход и готовность сначала смягчить последствия, а уже потом искать первопричину.
17. Что такое безвинный постмортем?
Это письменный разбор после инцидента, который сосредоточен на том, как система и процессы допустили сбой, а не на том, кто ошибся. В нём есть хронология, влияние, причины и конкретные последующие действия с ответственными. Смысл — извлечь урок и сделать повторение той же ошибки маловероятным.
18. В чём разница между горизонтальным и вертикальным масштабированием?
Вертикальное масштабирование даёт машине больше ресурсов. Горизонтальное — добавляет новые машины. Вертикальное простое, но у него есть потолок и единая точка отказа. Горизонтальное масштабируется дальше и переживает потерю одной машины, но требует сервисов без состояния или общего хранилища состояния.
Практика
19. Как вы защищаете пайплайн?
Ограничьте, кто может менять пайплайн и кто может деплоить в продакшн. Сканируйте зависимости и образы на известные уязвимости, подписывайте и проверяйте артефакты, делайте учётные данные короткоживущими и с ограниченными правами, а изменения в файлах пайплайна проверяйте так же, как код. Сборочный агент с широкими правами — излюбленная цель атакующих.
20. Расскажите о деплое, который пошёл не по плану.
Это поведенческий вопрос внутри технического собеседования. Расскажите короткую историю: что изменилось, как вы это заметили, что сделали в первую очередь (обычно смягчили последствия, часто откатом), что выяснили и что поменяли потом, чтобы это не повторилось. Интервьюеры ищут безвинные формулировки и конкретные последующие действия.
Как подготовиться
- Соберите небольшой пайплайн от начала до конца: репозиторий, сборка, запуск тестов, контейнер и деплой туда, куда можно достучаться.
- Будьте готовы рассказать об одном инциденте или неудачном релизе из своего опыта.
- Отработайте ответ на вопрос «сервис тормозит» вслух, пока он не станет спокойным и упорядоченным списком.
- Знайте по одному инструменту в каждой области — CI, контейнеры, инфраструктура как код, мониторинг — вместо длинного перечня названий.
Для дополнительной практики посмотрите наши руководства по вопросам на собеседовании по AWS, вопросам на собеседовании по Terraform, вопросам на собеседовании по Kubernetes и вопросам на собеседовании по компьютерным сетям.
Практикуйтесь вслух и своими словами. Расшифровка afterward показывает, где вы растекались мыслью или упустили суть. Соблюдайте правила работодателя об использовании AI-инструментов на любом живом собеседовании или оценочном задании.
Отрабатывайте свои ответы с YesToTheOffer
Репетируйте вслух, получайте ответы, построенные на вашем собственном резюме, и просматривайте расшифровку afterward. 30 бесплатных минут, без подписки.



