AI
prepair.app
Пройти интервью →
EnglishУкраїнськаРусский
⚙️

Junior DevOps / SREВопросы на собеседовании DevOps инженера

Junior · без опыта / до 1 года

Собеседование DevOps и SRE — это не про перечисление инструментов, а про решения в условиях ограничений: что откатывать первым, на что ставить алерт и что сознательно оставить сломанным до утра. Ниже — вопросы, которые задают чаще всего, каждый с эталонным ответом. Junior: базовая теория, определения и простые практические кейсы.

Темы для подготовки

CI/CD пайплайны
Docker и контейнеры
Kubernetes
Terraform и IaC
Наблюдаемость и SLO
Инциденты и надёжность

9 вопросов уровня Junior с ответами

1

В чём разница между continuous integration, delivery и deployment?

Ответ

Continuous integration означает, что каждый коммит вливается и проверяется автоматической сборкой и тестами, поэтому ветка не расходится с main. Continuous delivery означает, что каждая зелёная сборка даёт артефакт, готовый к продакшену, а финальный выкат остаётся человеческим решением. Continuous deployment убирает это решение — каждая зелёная сборка едет в прод. Различие важно на собеседовании, потому что большинство команд, заявляющих CD, на деле практикуют delivery.

2

Как устроены слои Docker и как держать образ маленьким?

Ответ

Каждая инструкция создаёт read-only слой, слои кешируются и переиспользуются, пока не менялось всё, что было до них, — поэтому манифест зависимостей копируют и ставят зависимости до копирования исходников. Размер снижают многоступенчатой сборкой, которая оставляет компилятор позади, slim- или distroless-базой и объединением команд, чтобы промежуточные файлы вообще не попали в слой. Удаление файла в более позднем слое образ не уменьшает — он всё ещё лежит в раннем слое.

3

Объясните связь между Pod, Deployment и Service.

Ответ

Pod — минимальная планируемая единица: один или несколько контейнеров с общим сетевым пространством и жизненным циклом. Deployment управляет ReplicaSet, который держит заявленное число одинаковых подов и обеспечивает роллинг-обновления и откаты. Service даёт этому меняющемуся набору подов стабильный виртуальный IP и DNS-имя, балансируя между теми подами, которые сейчас подходят под селектор, так что вызывающей стороне не нужно следить за адресами отдельных подов.

4

В чём разница между liveness и readiness пробами?

Ответ

Readiness-проба решает, идёт ли на под трафик; её провал убирает под из эндпоинтов сервиса, но оставляет его работать. Liveness-проба решает, перезапускать ли контейнер. Их путаница — классическая авария: если направить liveness на зависимость, то медленная база перезапустит все реплики одновременно, превратив деградацию в полный простой. Liveness должна проверять только «не завис ли процесс», readiness — «могу ли я обслуживать прямо сейчас».

5

Что такое Terraform state и чем он опасен?

Ответ

State сопоставляет ресурсы, объявленные в конфигурации, с реальными объектами у провайдера, чтобы Terraform понимал, что создать, изменить или удалить. Опасен он тем, что является источником истины: потеряв его, Terraform перестаёт знать, что владеет вашей инфраструктурой, и попытается создать её заново. Кроме того, он часто содержит секреты в открытом виде. Поэтому state держат в удалённом бэкенде с шифрованием, версионированием и блокировкой, чтобы два инженера не сделали apply одновременно.

6

Когда использовать Terraform, а когда Ansible?

Ответ

Terraform — декларативное провижининг: он создаёт и удаляет инфраструктуру и приводит реальность к объявленному состоянию. Ansible — процедурное управление конфигурацией: он выполняет упорядоченные задачи на уже существующих машинах. Чистое разделение такое: Terraform для всего, у чего есть жизненный цикл в облачном API, Ansible для того, что происходит внутри виртуалки. На стеке с Kubernetes роль Ansible сильно сжимается, потому что образы контейнеров заменяют конфигурацию машин.

7

Что такое SLI, SLO и error budget?

Ответ

SLI — измеряемый показатель здоровья сервиса, например доля запросов, обслуженных успешно быстрее 300 мс. SLO — цель по этому показателю на окне, скажем 99,9% за 30 дней. Error budget — допустимый недобор, те самые 0,1% запросов, и он превращает надёжность в расходуемый ресурс: пока бюджет цел, можно катить быстрее, а когда исчерпан, фичи замораживают и чинят надёжность. Именно это превращает спор «надёжность против скорости» из вкусовщины в арифметику.

8

В чём разница между метриками, логами и трейсами?

Ответ

Метрики — дешёвые числовые агрегаты во времени, отвечают на вопрос «что-то сломалось?» и именно на них ставят алерты. Логи — дискретные события с деталями, отвечают «что именно произошло» в конкретном запросе или компоненте. Трейсы прослеживают один запрос через сервисы и отвечают «куда ушло время» в распределённой цепочке вызовов. Алертить по логам дорого и шумно, а отлаживать по одним метрикам — гадание. Нужны все три, каждый по своему назначению.

9

Сравните rolling, blue-green и canary выкаты.

Ответ

Rolling заменяет инстансы постепенно, почти не требует запасной мощности, но во время выката трафик обслуживают две версии, а откат медленный. Blue-green держит полноценное второе окружение и переключает трафик разом, давая мгновенный откат ценой двойной мощности и тяжёлой проблемы миграций базы. Canary направляет небольшую долю трафика на новую версию и смотрит метрики перед расширением, что ловит проблемы на реальных пользователях, но окупается только при хорошей наблюдаемости и автоматическом анализе.

🦎

Прочитать ответы недостаточно

На собеседовании ты говоришь вслух под давлением. Кем задаст эти же вопросы, оценит каждый ответ и покажет, что именно подтянуть.

Пройти интервью Junior DevOps / SRE →
Бесплатно · 3 интервью в месяц

Другие уровни — DevOps / SRE

Middle DevOps / SRESenior DevOps / SREВсе вопросы DevOps / SRE

Другие специализации

🔍Junior QA Manual🤖Junior QA AutomationJunior Java Backend🐍Junior Python Backend🐘Junior PHP Backend🦫Junior Go Backend🟢Junior Node.js Backend⚛️Junior React Frontend💚Junior Vue Frontend🅰️Junior Angular Frontend