Skip to content

Вопросы на собеседовании: DevOps-инженер

100 реальных вопросов с образцовыми ответами и пояснениями для уровня Middle.

Смотреть пример резюме: DevOps-инженер

Тренировка флешкарточками

Интервальное повторение · Hunter Pass

Вопросы

ci-cd

CI-пайплайн должен сначала давать самую быструю и дешёвую обратную связь, а затем постепенно повышать стоимость и риск проверок.

  • Сначала запускаются линтеры и статические проверки, затем юнит-тесты, сборка контейнера и интеграционные тесты собранного образа.
  • Сканирование безопасности выполняется после дешёвых проверок, а публикация и деплой начинаются только после прохождения всех проверок качества.
  • Такой порядок не заставляет ждать десятиминутную сборку ради ошибки форматирования и не тратит ресурсы на уже сломанные коммиты.
  • В pull request пайплайн останавливается до публикации, а после слияния в main публикует артефакт и запускает деплой.

Зачем это спрашивают: Принцип падай быстро и дёшево, сформулированный как правило, а не фиксированный рецепт, показывает, что кандидат проектирует пайплайны, а не копирует шаблоны.

cachingdocker

Сборки в CI медленные, потому что у чистых раннеров нет постоянного кеша слоёв, доступного на машине разработчика.

  • BuildKit нужно дать постоянный источник через реестровый кеш cache-from и cache-to либо подключить кеш-хранилище CI-платформы.
  • Для каталогов пакетных менеджеров, например pip или npm, используются кеш-маунты BuildKit, чтобы загрузки переживали сборки, но не попадали в слои образа.
  • Манифесты зависимостей копируются и устанавливаются до исходного кода, поэтому дорогие слои сохраняются при изменении только файлов приложения.
  • Попадания в кеш нужно проверять в логах CI, поскольку удалённый кеш не спасёт Dockerfile, ранние слои которого меняются в каждом коммите.

Зачем это спрашивают: Знание, что чистые раннеры теряют кеш слоёв, и называние реестрового кеша с кеш-монтированиями как лекарств показывают реальный опыт оптимизации CI-сборок.

ci-cdsoft-skills

Доступ CI к облаку должен строиться на короткоживущих идентификаторах с узкими правами, а не на сохранённых ключах доступа.

  • При OIDC-федерации CI-провайдер выдаёт токен на каждую задачу, облако проверяет его, а задача принимает только необходимую ей роль.
  • Статического облачного секрета в этом случае нет, поэтому он не утечёт через логи или форки и не потребует ручной ротации.
  • Долгоживущие ключи часто не ротируются и со временем получают лишние права, повышая вероятность и последствия компрометации.
  • Если OIDC недоступен, нужны короткоживущие токены из менеджера секретов, маскированные переменные, минимальные права и плановая ротация.

Зачем это спрашивают: Называние OIDC-федерации заменой статических ключей с причинами их гниения и есть маркер актуальной практики, который слушают интервьюеры.

deployment

Принцип «собрать один раз, развернуть много раз» означает продвижение одного протестированного и неизменяемого артефакта через все окружения.

  • Один контейнерный образ собирается и тестируется, после чего тот же digest проходит через dev, staging и production.
  • Конфигурация конкретного окружения передаётся во время запуска, а не запекается в отдельные образы.
  • Пересборка для каждого окружения может изменить зависимости, входные данные или базовый образ, поэтому в production попадёт бинарник, не проверенный на staging.
  • Неизменяемые теги привязываются к коммиту, а mutable-тег latest не используется для продвижения, что сохраняет происхождение и надёжный откат.

Зачем это спрашивают: Аргумент протестированное равно отгруженному и рантайм-конфигурация как его предусловие образуют ядро дисциплины промоушена, которое здесь прощупывается.

ci-cd

Повторяющиеся пайплайны GitHub Actions нужно заменить версионируемыми общими workflow и тонкими вызовами из сервисных репозиториев.

  • В центральном репозитории размещаются workflow_call с типизированными входами и секретами, а каждый сервис передаёт только свои параметры.
  • Для небольших общих последовательностей, например настройки облачных доступов или сборки образа, используются composite actions.
  • Общие workflow подключаются по релизным тегам, а не по main, чтобы несовместимые изменения внедрялись управляемо и не затрагивали все репозитории сразу.
  • Для сервисов с обоснованными исключениями нужен документированный путь отклонения без возврата всей организации к копированию workflow.

Зачем это спрашивают: Переиспользуемые workflow с версионированными ссылками плюс забота об осознанном раскате показывают платформенное сопровождение пайплайнов вместо терпимой дупликации.

system-designci-cd

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

  • Тайминги стадий и шагов за несколько сотен запусков покажут время на установку зависимостей, сборку образов и последовательные тесты.
  • Сначала кешируются зависимости и слои сборки, затем независимые задачи запускаются параллельно, а тесты разбиваются на шарды.
  • Медленные полные end-to-end тесты можно вынести из критического пути pull request в запуск после слияния или по ночам, если это позволяет их профиль риска.
  • Бюджет длительности и уведомления о регрессиях закрепляют ответственность за скорость и не дают пайплайну снова растянуться до сорока минут.

Зачем это спрашивают: Измерь, потом оптимизируй с поддерживаемым бюджетом длительности отделяет системных инженеров от людей, однажды добавивших строчку кеша.

designci-cd

Trunk-based разработка требует от CI/CD быстрой и надёжной проверки небольших изменений, которые часто сливаются в main.

  • Пайплайн должен достаточно быстро и стабильно проверять каждое слияние, а незавершённая функциональность скрывается фичефлагами, а не ветками.
  • Долгоживущие ветки откладывают интеграцию, накапливают конфликты и превращают staging в очередь крупных, частично проверенных слияний.
  • Trunk-based разработка вместе с фичефлагами поддерживает непрерывный деплой, поскольку проблемы интеграции выявляются раньше, а размер изменений уменьшается.
  • Ветвление в стиле GitFlow ведёт к релизным поездам и крупным пакетам; это может подходить регулируемому графику релизов, но снижает частоту деплоя.

Зачем это спрашивают: Связка стратегии веток с таймингом интеграционного риска и использованием флагов показывает понимание CD как системы, а не настройки инструмента.

deploymentci-cd

Ручное одобрение уместно только там, где человек добавляет оценку, которую не могут дать автоматические проверки.

  • Оно нужно для высокорисковых изменений production, необратимых операций вроде миграций данных или требований комплаенса о втором проверяющем.
  • Одобрение настраивается через защищённые окружения с явно заданной группой согласующих и контекстом для осмысленного решения.
  • Обязательный клик для каждого обычного деплоя добавляет задержку, приучает одобрять не глядя и объединяет изменения в более рискованные релизы.
  • Обычные релизы должны проходить автоматические тесты и проверку метрик канареечного деплоя, а человек подключается только там, где действительно проведёт проверку.

Зачем это спрашивают: Различение ворот суждения от штампов и следствие батчевого риска от лишних одобрений и есть маркер деплойной зрелости.

gitrollbackdesign

Надёжный откат повторно разворачивает предыдущий заведомо рабочий артефакт без новой сборки.

  • В реестре хранятся неизменяемые версионированные образы, а инструмент деплоя умеет выбрать любую сохранённую версию проверенной командой.
  • Процедуру отката нужно регулярно отрабатывать, поскольку непроверенный runbook с большой вероятностью подведёт во время инцидента.
  • Один git revert заставляет ждать сборку и тесты, пока production не работает, и бесполезен, если сломан сам пайплайн.
  • Обратно совместимые изменения схемы и миграции expand-contract нужны, чтобы данные новой версии не мешали вернуть старый артефакт.

Зачем это спрашивают: Откат на уровне артефакта с оговоркой о совместимости схемы показывает, что кандидат думал дальше счастливого пути кнопки отменить.

monorepoci-cd

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

  • Фильтры путей запускают workflow сервиса при изменениях в его каталоге и в используемых им общих путях.
  • Зависимости от общих библиотек моделируются через Nx, Bazel, Turborepo или поддерживаемый скрипт, который вычисляет затронутые сервисы по diff.
  • Полная сборка запускается по ночам, поскольку логика путей и графа зависимостей может пропустить связь или содержать ошибку.
  • Каждый сервис разворачивается независимо, чтобы изменение одной команды не выпустило незавершённую работу другой.

Зачем это спрашивают: Работа с графом зависимостей общих библиотек, а не только фильтры путей, плюс страховка полной сборкой отличают настоящий монорепный опыт.

Self-hosted раннеры оправданы требованиями к сети, оборудованию, кешу или стоимости больших объёмов, которые hosted-раннеры закрывают плохо.

  • Они подходят для доступа к приватной сети, GPU или большого объёма памяти, постоянного кеша и нагрузок, где поминутная оплата hosted-раннеров невыгодна.
  • Команда при этом отвечает за обновления, ёмкость, масштабирование, мониторинг и регулярную замену парка раннеров.
  • Раннеры должны быть эфемерными или часто пересоздаваться, чтобы одна сборка не оставляла состояние следующей.
  • Код pull request из форка считается удалённым выполнением кода: его сеть и доступы изолируются, по умолчанию используются hosted-раннеры, а self-hosted запускаются только при необходимости в защищённой среде.

Зачем это спрашивают: Называние риска форковый PR равен RCE и настаивание на эфемерных раннерах показывают security-осознанное инфраструктурное мышление, а не только математику стоимости.

gitops

GitOps делает Git источником желаемого состояния кластера, а контроллер внутри кластера постоянно приводит фактическое состояние к нему.

  • Манифесты или Helm values хранятся в Git, а деплой становится слитым pull request с новым тегом образа, который забирает Argo CD или Flux.
  • CI больше не нужны доступы к кластеру, поскольку изменение получает и применяет контроллер внутри самого кластера.
  • Реконсиляция обнаруживает ручной дрейф и может сообщить о нём или отменить его, поэтому желаемое состояние поддерживается постоянно.
  • Откат выполняется через git revert в репозитории состояния, а история Git показывает, кто и что изменил.

Зачем это спрашивают: Пункт креды остаются в кластере и реконсиляция дрейфа дают два содержательных преимущества GitOps, показывающих понимание глубже баззворда.

supply-chainci-cd

Сборочный пайплайн должен обеспечивать прослеживаемость каждого входа и не допускать непроверенные артефакты до деплоя.

  • Сторонние CI actions фиксируются по SHA коммита, базовые образы по digest, а зависимости через lock-файлы вместо изменяемых ссылок.
  • Во время сборки создаётся SBOM, а зависимости и образы сканируются на известные уязвимости с блокировкой критических находок по политике.
  • Собранные образы подписываются, чтобы среда деплоя могла проверить, что артефакт действительно выпущен CI.
  • Секреты нельзя передавать через аргументы сборки или слои, поскольку их можно извлечь из истории образа.

Зачем это спрашивают: Пиннинг по SHA и digest плюс подписи и SBOM показывают знакомство с актуальной моделью угроз цепочки поставок, а не галочное сканирование.

databasemigrationsdeployment

Миграции базы при непрерывном деплое должны оставаться совместимыми со старыми и новыми экземплярами приложения во время раскатки.

  • Миграции выполняются отдельной init-задачей или стадией пайплайна до деплоя кода приложения.
  • Применяется expand-contract: добавить nullable-колонку, развернуть запись в оба формата, заполнить данные, переключить чтение и удалить старую колонку в более позднем релизе.
  • Каждое промежуточное состояние схемы должно работать, пока старые и новые экземпляры используют его одновременно.
  • Миграцию и код, который сразу от неё зависит, нельзя выпускать одним деплоем, чтобы сохранить безопасную раскатку и откат.

Зачем это спрашивают: Ограничение старое и новое работают вместе, ведущее к expand-contract, и разделение деплоев миграций и кода и есть искомая операционная дисциплина.

configartifacts

Один артефакт может работать во всех окружениях, только если меняющаяся конфигурация остаётся вне образа.

  • Переменные окружения, подключённые конфигурационные файлы или значения конфигурационного сервиса передаются при деплое по принципам twelve-factor.
  • Общая база дополняется небольшими Kustomize overlays или Helm values, чтобы различия окружений были видны на ревью.
  • Секреты передаются отдельно через менеджер секретов или sealed secrets и никогда не хранятся в репозитории открытым текстом.
  • Обязательная конфигурация проверяется при запуске, чтобы отсутствующее или неверное значение остановило деплой, а не случайный запрос в production.

Зачем это спрашивают: Структура база плюс оверлеи с валидацией на старте показывает конфигурацию как спроектированную поверхность, а не довесок из env-переменных.

ci-cd

При миграции с Jenkins на GitHub Actions сохраняются концепции доставки, но модель выполнения нужно спроектировать заново, а не переводить задачи строка в строку.

  • Стадии Jenkins становятся jobs, shared libraries заменяются reusable workflows или composite actions, агенты становятся раннерами, а доступы переходят в секреты окружения или предпочтительно OIDC.
  • Stateful-сервер Jenkins с многолетней конфигурацией плагинов заменяется декларативным YAML в репозиториях и эфемерными раннерами.
  • Уникальные ручные настройки задач и лишние плагины нужно удалить, а не воспроизводить накопленное поведение на новой платформе.
  • До переноса составляется список задач с постоянным workspace, плагинов без аналога в Actions и незадокументированного поведения на сервере Jenkins.

Зачем это спрашивают: Подача миграции как шанса сбросить стейтфул снежинки с конкретным знанием ловушек показывает настоящий миграционный опыт вместо туризма по инструментам.

ci-cd

Инфраструктурный код до production должен пройти последовательные статические проверки, анализ плана, интеграционные тесты и staging.

  • Сначала запускаются terraform fmt и validate, tflint и policy-as-code правила, запрещающие риски вроде публичных S3-бакетов или ingress 0.0.0.0/0.
  • В каждом pull request выполняется terraform plan, а его diff проверяется как основной артефакт с оценкой масштаба изменений, а не только стиля HCL.
  • Модули с нетривиальной логикой создаются во временном sandbox-аккаунте, их поведение проверяется, после чего ресурсы удаляются.
  • Последним защитным слоем то же изменение применяется к staging-инфраструктуре и только затем продвигается в production.

Зачем это спрашивают: Отношение к диффу плана как к артефакту ревью и ворота policy-as-code показывают инженерную дисциплину инфраструктуры за пределами валидации синтаксиса.

feedbackci-cd

Уведомления CI становятся полезными, когда каждое падение получает его владелец вместе с контекстом для немедленной диагностики.

  • Падения pull request отправляются напрямую автору, а сбои main-ветки конкретного сервиса поступают в канал отвечающей за него команды.
  • Уведомления не рассылаются людям, которые не могут на них повлиять, иначе общий канал быстро превращается в красную стену, отключённую всеми.
  • Каждое сообщение содержит упавшую стадию, полезный фрагмент ошибки, ссылку на логи и отличие от последнего успешного запуска.
  • Падения продуктовых тестов, нестабильность инфраструктуры и сбои окружений учитываются отдельно, чтобы обычный шум не приучал команду игнорировать красный статус.

Зачем это спрашивают: Маршрутизация по владению и разделение классов падений адресуют сам механизм усталости от алертов вместо добавления ещё одного дашборда.

docker

Multi-stage Dockerfile отделяет сборку от выполнения, поэтому в production попадают только необходимые во время работы файлы.

  • Первая стадия использует полный образ с инструментами, устанавливает зависимости и компилирует бинарник или собирает приложение.
  • Финальная стадия начинается с минимальной базы distroless, Alpine или slim и копирует только готовый артефакт и runtime-зависимости.
  • Компиляторы, заголовочные файлы, пакетные менеджеры и исходный код не попадают в production, что уменьшает образ и поверхность атаки.
  • Стабильная установка зависимостей остаётся в ранних кешируемых слоях, а небольшая финальная стадия быстро пересобирается и доставляется.

Зачем это спрашивают: Связывание multi-stage и с сокращением поверхности атаки, и со структурой кеша, а не только мегабайтами, показывает полное понимание паттерна.

Образ размером 1,8 ГБ нужно уменьшать, начиная с крупнейших структурных источников, а затем защитить результат от регрессии.

  • Сначала проверяется базовый образ: замена полной ОС или крупного языкового образа на slim либо distroless обычно даёт максимальную экономию при малых усилиях.
  • Через docker history или dive находятся инструменты сборки, кеши apt и pip, целиком скопированные исходники и пропуски в .dockerignore, например .git или node_modules.
  • Multi-stage сборка исключает инструменты компиляции, а кеши пакетов удаляются в той же инструкции RUN, где создаются.
  • После оптимизации в CI добавляется лимит размера образа, чтобы незаметное раздувание не вернулось.

Зачем это спрашивают: Анализ слоёв в духе dive и финальные ворота размера в CI показывают системную оптимизацию, а не разовую диету.

Закрытые вопросы

  • 21

    Почему порядок инструкций Dockerfile важен для скорости сборки и в чём каноническая ошибка порядка?

    dockerownership
  • 22

    ENTRYPOINT против CMD: как они взаимодействуют и как их грамотно использовать вместе?

  • 23

    Какой контейнерный хардненинг вы применяете по умолчанию и что ломается при первом включении?

    containers
  • 24

    Контейнер игнорирует SIGTERM и убивается по истечении grace-периода на каждом деплое. Что происходит и как чинить?

    containersdeployment
  • 25

    В docker compose сервис A не может достучаться до сервиса B, хотя оба работают. Каков ваш диагностический путь?

    docker
  • 26

    Вольюмы против bind-маунтов в Docker: когда что использовать и какую потерю данных они предотвращают или вызывают?

    ownershipdocker
  • 27

    Почему деплой по тегу latest опасен и какую схему тегирования вы используете вместо него?

    deployment
  • 28

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

    registries
  • 29

    Контейнер периодически выходит с кодом 137. Что это значит и как вы расследуете?

    containers
  • 30

    Как вы настраиваете docker compose для локальной разработки, чтобы локаль совпадала с продом достаточно, чтобы это имело смысл?

    docker
  • 31

    Почему контейнерам нужны явные лимиты памяти и CPU даже вне Kubernetes и что реально делает каждый лимит?

    kubernetescontainersmemory
  • 32

    Что healthcheck-и Docker меняют в поведении и что делает команду проверки хорошей?

    docker
  • 33

    Под завис в Pending. Проведите меня через вашу диагностику.

    problem-solving
  • 34

    Deployment, StatefulSet, DaemonSet: какие гарантии даёт каждый и что идёт не так при неверном выборе?

    deployment
  • 35

    Как Kubernetes Service реально маршрутизирует трафик к подам и для чего типы ClusterIP, NodePort и LoadBalancer?

    kubernetes
  • 36

    Что Ingress добавляет поверх Service-ов и каковы отношения между ресурсом Ingress и контроллером?

    kubernetes
  • 37

    ConfigMaps и Secrets: как вы их инжектите и какое поведение обновления удивляет людей?

    configkubernetessecrets
  • 38

    Пробы liveness, readiness и startup: чем управляет каждая и как плохая liveness-проба валит сервис?

    health-checks
  • 39

    Объясните requests против limits для CPU и памяти в Kubernetes и практические последствия их плохой настройки.

    memorykubernetes
  • 40

    Как работает Horizontal Pod Autoscaler и какие предпосылки и подводные камни с ним идут?

    scaling
  • 41

    Чем управляют maxSurge и maxUnavailable в роллинг-обновлении и почему технически успешный роллаут всё равно может ронять трафик?

  • 42

    Под в CrashLoopBackOff. Какие самые частые причины вы проверяете и в каком порядке?

  • 43

    Как вы применяете минимальные привилегии в Kubernetes RBAC для людей и для нагрузок?

    rbacleast-privilegekubernetes
  • 44

    Какую изоляцию неймспейсы реально дают в Kubernetes, а какую нет?

    kubernetes
  • 45

    Когда вы тянетесь к Helm, а когда к Kustomize, и какая Helm-дисциплина держит чарты сопровождаемыми?

    helmkubernetes
  • 46

    Как работает service discovery внутри Kubernetes-кластера и какие DNS-проблемы вы отлаживали?

    dnskubernetes
  • 47

    Узлу нужно обслуживание. Как вы безопасно выводите его из работы и что мешает выселению подов?

  • 48

    Как PersistentVolume, PersistentVolumeClaim и StorageClass складываются вместе и почему стейтфул-сторадж остаётся сложной частью Kubernetes?

    kubernetes
  • 49

    Service существует, поды в Running, но трафик получает connection refused. Опишите ваш сетевой триаж в Kubernetes.

    kubernetes
  • 50

    Что должно быть настроено, чтобы деплой в Kubernetes был по-настоящему zero-downtime, из конца в конец?

    kubernetesdeploymentconfig
  • 51

    Что такое Terraform state и почему командам нужен remote state с локами с первого дня?

    terraformlocking
  • 52

    Опишите здравый командный процесс для изменений Terraform от PR до применённой инфраструктуры.

    terraform
  • 53

    Когда вы пишете Terraform-модуль, а когда оставляете ресурсы инлайн, и что делает модуль хорошим?

    terraform
  • 54

    Как вы обнаруживаете и разруливаете дрейф инфраструктуры, когда люди правят вещи в облачной консоли?

    iac
  • 55

    Вам достаётся облачная инфраструктура, собранная руками. Как завести её под Terraform, ничего не сломав?

    ownershipterraform
  • 56

    Terraform state содержит секреты, и пароль вашей базы только что там оказался. Каков ваш подход к секретам в IaC?

    terraformiacsecrets
  • 57

    Terraform и Ansible оба претендуют на автоматизацию инфраструктуры. Как вы делите работу между ними и что значит идемпотентность в практике Ansible?

    terraformansibleidempotency
  • 58

    Воркспейсы Terraform против отдельных каталогов на окружение: что выбираете и почему?

    terraform
  • 59

    Как вы защищаете критические ресурсы вроде продовой базы от случайного уничтожения Terraform-ом?

    databaseterraform
  • 60

    Команда спорит про Pulumi против Terraform для новой инфраструктуры. Каковы настоящие трейдоффы?

    terraformiac
  • 61

    Спроектируйте базовую раскладку VPC для веб-приложения с базой данных. Что куда и почему?

    designnetworkingdatabase
  • 62

    Security-группы против сетевых ACL в AWS: чем различаются и как вы используете их на практике?

    networking
  • 63

    Какие IAM-практики вы энфорсите и почему инстанс-роли лучше ключей доступа на серверах?

  • 64

    RDS Multi-AZ против read-реплик: какую проблему решает каждое и что люди про них путают?

    replication
  • 65

    Как вы защищаете S3-бакет с пользовательскими загрузками и как клиенты безопасно получают файлы?

    aws
  • 66

    ALB против NLB: как выбираете и какие тонкости health-чеков важны?

    health-checks
  • 67

    Ваша платформа автоскейлится на двух слоях: узлы кластера и поды приложений. Как они взаимодействуют и что идёт не так?

    scaling
  • 68

    Месячный облачный счёт удвоился, и никто не знает почему. Как вы операционно находите потери?

  • 69

    Когда серверлес-функция подходит лучше контейнерного сервиса и какие операционные сюрпризы несёт Lambda?

    containerslambda
  • 70

    Какую роль играет DNS TTL при миграции или фейловере и как вы вокруг него планируете?

    migrationsdns
  • 71

    Как вы управляете TLS-сертификатами так, чтобы истечение никогда не становилось инцидентом?

    incidentstls
  • 72

    Падает зона доступности. Что ломается в типичной однорегиональной схеме и чего требует AZ-устойчивость?

    incidentsavailability
  • 73

    Вам достаётся пустая Grafana для сервиса. Какие дашборды вы строите первыми и вокруг каких сигналов?

    monitoring
  • 74

    Как Prometheus собирает метрики и когда применимы счётчики, гейджи и гистограммы?

    monitoringdistributions
  • 75

    Почему к счётчику Prometheus нужно применять rate() до усреднения или суммирования по инстансам и что rate() реально вычисляет?

    monitoring
  • 76

    Алерты по симптомам против алертов по причинам: что должно будить человека и как вы боретесь с усталостью от алертов?

    alerting
  • 77

    Спроектируйте логовый пайплайн для дюжины сервисов: что происходит между строкой лога и искомым событием?

    loggingci-cddesign
  • 78

    Какую проблему решает распределённый трейсинг, недоступную логам и метрикам, и чего реально требует его внедрение?

    decision-makingdistributedmonitoring
  • 79

    P99 латентности удвоился со вчера, а доля ошибок ровная. Как вы локализуете проблему инструментами наблюдаемости?

    latencyobservability
  • 80

    Сервис должен держать доступность 99.9 процента. Проведите меня через выбор SLI и практическое использование бюджета ошибок.

    reliability
  • 81

    Метрики, логи и трейсы стоят денег и внимания. Как вы решаете, какой сигнал отвечает на какой вопрос?

    monitoring
  • 82

    Помимо метрик приложений, какой инфраструктурный мониторинг вас спасал и какие тихие отказы он ловит?

    monitoring
  • 83

    Что должно быть в ранбуке для дежурного инженера и что делает большинство ранбуков бесполезными в 3 часа ночи?

    on-callrunbooks
  • 84

    Как вы структурируете передачу дежурства, чтобы следующий инженер не был застигнут врасплох?

    on-call
  • 85

    Объясните blue-green деплой: механика, что он покупает и где болит.

    deployment-strategiesdeployment
  • 86

    Как работает канареечный деплой на метриках и что делает канареечный анализ достойным доверия?

    deploymentmonitoringdeployment-strategies
  • 87

    Когда стратегия recreate действительно правильный выбор, несмотря на гарантированный простой?

    deployment
  • 88

    Как фичефлаги меняют картину деплоя и какой операционный долг они создают?

    deploymentfeature-flags
  • 89

    Проведите меня через первые пятнадцать минут после алерта прод лежит.

    alerting
  • 90

    Что делает постмортем по-настоящему безобвинительным и реально полезным, помимо существования документа?

    incidents
  • 91

    Как вы классифицируете severity инцидентов и что классификация реально меняет?

    classificationincidentsseverity-priority
  • 92

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

    deploymentrollback
  • 93

    Что превращает быстрый bash-скрипт в безопасный для продакшна? Назовите конкретные практики.

    bash
  • 94

    Одно и то же значение конфигурации должно существовать в Terraform, манифестах Kubernetes и env-файлах приложения. Как не дать им разъехаться?

    kubernetesterraformconfig
  • 95

    Как вы определяете, какую ручную работу автоматизировать первой, и когда автоматизация неверный ответ?

  • 96

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

    deploymentci-cdsoft-skills
  • 97

    Продуктовое давление требует релиза в пятницу вечером перед праздничными выходными. Изменение нетривиальное. Что вы делаете?

  • 98

    Вас будят в 3 часа ночи четвёртую ночь подряд одним и тем же алертом, каждый раз действий не требовалось. Что вы делаете, кроме заглушения?

    alerting
  • 99

    Вы считаете, что команде стоит принять GitOps, но коллегам комфортно с текущими push-деплоями. Как вы двигаете изменение, не ломая доверие?

    deploymentgitopsdecision-making
  • 100

    После болезненного инцидента менеджмент хочет, чтобы кто-то понёс ответственность. Как вы защищаете безобвинительную культуру, сохраняя настоящую ответственность?

    incidents