Библиотека собеса по DevOps | вопросы с собеседований
3.39K subscribers
180 photos
8 videos
2 files
570 links
Вопросы с собеседований по DevOps и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/d7e18893

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
😱 Если ваш продукт не умеет отдавать данные в формате, понятном AI-агенту, то вас просто не существует

Скрипт не будет кликать по красивым кнопкам в браузере, он уйдёт к конкуренту с нормальным API. Перестроить архитектуру под машинных клиентов — это уже не хайп, а необходимое условие сохранения конкурентоспособности.

Как адаптировать продукт и не исчезнуть из выдачи:

— интегрировать MCP и A2A-взаимодействие, чтобы агенты могли вас читать;
— научиться контролировать стоимость (лимиты, кэш, роутинг между моделями);
— настроить AgentOps: трейсинг, логирование и отлов регрессий.

Всё это ждёт вас на обновлённом курсе «Разработка AI-агентов». Мы специально сделали фокус на утилитарном инжиниринге и production-ready решениях.

Кстати, до 29 марта можно забрать курс с большой скидкой, и стоит поторопиться — мест на потоке всё меньше.

Зафиксировать цену и начать деплоить агентов без слива бюджета 👈
Для чего нужна команда git commit --amend?

commit --ammend используется для исправления сообщения последнего коммита. Также возможно использовать, чтобы добавить файлы в индекс (git add), после добавить файлы в коммит git commit --ammend.

🐸Библиотека собеса по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Какие факторы необходимы для успешного выполнения непрерывной интеграции?

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

🐸Библиотека собеса по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
В gitlab CI необходимо, чтобы джоба выполнялась всегда только при ручной активации. Что для этого необходимо сделать?

Необходимо добавить when: manual в описание заданной джобы. По-умолчанию при использовании when: manual параметр allow_failure установлен в true, поэтому данная джоба будет запускаться автоматически. Чтобы такого не было, необходимо также установить параметр allow_failure: false.

🐸Библиотека собеса по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2😁1
Объясните непрерывное тестирование и опишите его цель.

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

🐸Библиотека собеса по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое Puppet Modules и чем они отличаются от Puppet Manifests?

Модуль Puppet — это просто набор данных (фактов, шаблонов, файлов и т. д.) и манифестов. Эти модули имеют определенную структуру каталогов и помогают организовать коды Puppet, поскольку их можно использовать для разделения кода на различные манифесты. Использование модулей Puppet для организации почти всех манифестов Puppet считается лучшей практикой. Модули Puppet отличаются от манифестов, поскольку последние представляют собой просто программы Puppet, содержащие код.

🐸Библиотека собеса по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему важно иметь управление конфигурацией в DevOps?

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

🐸Библиотека собеса по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
В каких случаях не отработает перенос пода на другую ноду?

Если на другой ноде нет ресурсов для размещения пода или нет сетевой доступности до ноды.

🐸Библиотека собеса по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2👍1
Как посмотреть нагрузку на диски?

Установить утилиту sysstat, проверить нагрузку на диски iostat -xtc.

🐸Библиотека собеса по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
В CI/CD пайплайне деплой в Kubernetes часто занимает больше времени, чем ожидалось. Pod’ы создаются, но приложение не готово обслуживать трафик, и пользователи видят ошибки. Как вы будете искать и устранять проблему?

Проверю стратегию деплоя (например, RollingUpdate), наличие корректных readinessProbe и livenessProbe, а также настройки maxUnavailable и maxSurge. Проанализирую логи Pod’ов и события кластера. Для решения — настрою health-check’и, добавлю preStop hook для graceful shutdown и оптимизирую пайплайн так, чтобы трафик шёл только на готовые Pod’ы.

Библиотека собеса по DevOps
👍2
В Kubernetes-продакшене пользователи жалуются на нестабильность: часть запросов “теряется” при деплое новой версии сервиса. Как вы будете диагностировать и устранять проблему?

Проверить стратегию деплоя (RollingUpdate, Recreate, blue-green/canary), убедиться, что настроены readinessProbe и livenessProbe, а также корректные maxUnavailable и maxSurge. Посмотреть события кластера (kubectl describe pod, kubectl get events) и метрики ingress/load balancer. Решение — правильно настроить пробы, стратегию деплоя и добавить graceful shutdown (preStop hook).

Библиотека собеса по DevOps
👍3
Что такое главный узел в Kubernetes?

Он контролирует и управляет рабочими узлами, составляет плоскость управления кластером и отвечает за планирование задач и мониторинг состояния кластера. Главный узел имеет несколько компонентов, таких как Kube-APIServer, Kube-Controller-manager, Etcd и Kube-Scheduler, которые помогают управлять рабочими узлами.

Библиотека собеса по DevOps
👍1
Что вы знаете о NodePort?

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

Библиотека собеса по DevOps
👍2
Какова роль сети Ingress?

Сеть Ingress управляет внешним доступом к сервисам в кластере. В частности, она обеспечивает балансировку нагрузки трафика, завершение SSL/TLS и виртуальный хостинг для маршрутов HTTP и HTTPS, открытых извне кластера для служб внутри него. Сеть Ingress помогает оптимизировать связь между приложениями и внешними клиентами, предоставляя единую точку входа для входящего трафика.

Библиотека собеса по DevOps
Есть группы пользователей, которые должны заводиться не на всех серверах. Как ограничить заведение пользователей?

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

Библиотека собеса по DevOps
🤔1
В чём разница между blue-green deployment и canary deployment в контексте DevOps, и когда каждый из них предпочтительнее?

Blue-green deployment использует две полностью идентичные среды: одна активная (blue), другая подготовленная (green). Переключение трафика происходит мгновенно, что минимизирует downtime и упрощает откат, но требует удвоенной инфраструктуры. Canary deployment выкатывает новую версию постепенно на часть трафика, позволяя обнаружить проблемы без масштабного влияния, но усложняет маршрутизацию и мониторинг. Blue-green подходит для быстрых релизов с жёсткими SLA по доступности, canary — для рискованных изменений, где важна поэтапная проверка.

Библиотека собеса по DevOps
👍1
Что такое алерт в Prometheus?

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

Библиотека собеса по DevOps
Как Docker ограничивает CPU и почему --cpus может вызвать лаги?

Через cgroups/CFS: --cpus задаёт квоту (cpu.max), при всплесках планировщик «душит» контейнер (throttling) → задержки. Для стабильности — пинning ядёр --cpuset-cpus + разумная квота/period; для мягкого приоритета — --cpu-shares (только вес при конкуренции).

Библиотека собеса по DevOps
Что такое пропускная способность?

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

Библиотека собеса по DevOps
🤔3
Можете ли вы сравнить Puppet с другими инструментами управления конфигурациями? Почему вы решили использовать Puppet?

Puppet часто сравнивают с другими инструментами управления конфигурацией, такими как Chef, Ansible, SaltStack и cfengine. Выбор использования Puppet часто зависит от потребностей организации, таких как простота использования, масштабируемость и поддержка сообщества.

Библиотека собеса по DevOps
1🌚1