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

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

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Задача: «Как предотвратить зацикливание агента?»

На собеседовании спросят: что будет, если агент решит бесконечно уточнять ответ?
Правильный ответ: Графовая архитектура с Recursion Limit.

В LangGraph это базовый механизм:

— жёсткий лимит на количество шагов (steps);
— проверка состояния перед каждым переходом;
— алертинг при превышении лимитов.

Разберитесь в архитектуре AI-систем. Курс уже стартовал.

Записаться на курс

Смотреть первую лекцию
😁2
Что делает kube-scheduler?

Kube-scheduler позволяет узлам планировать только что созданные модули. Он определяет, какие узлы являются лучшими для каждого модуля в очереди планирования в соответствии с доступными ресурсами и ограничениями. Этот планировщик выбирает оптимальный узел для каждого нового или незапланированного пода, на котором они будут работать. Но тем не менее, каждый контейнер в подах имеет разные требования к ресурсам и потребностям.

Библиотека собеса по DevOps
Что такое Puppet? Как он работает?

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

Библиотека собеса по DevOps
👍1😁1
Вопрос на собеседовании: Observability для AI-агентов

Как мониторить систему, где логика нелинейна?

Правильный подход в 2026: трейсинг графов (через LangSmith или аналоги). Вы должны видеть не просто «вход-выход», а весь путь агента по узлам LangGraph.

Вас спросят про версионирование состояния и отладку циклов. Будьте готовы ответить, как превратить «чёрный ящик» в управляемый сервис.

Этому мы учим на курсе.

Записаться на обучение

Технический разбор темы: Смотрите вводный урок бесплатно.
😁1
Опишите параметр memory-swap

С помощью параметра memory-swap можно разрешить контейнеру записывать на диск данные, превышающие размер оперативной памяти, выделенной контейнеру. Он работает, только если используется одновременно с параметром memory. Например, если memory = "400m" и memory-swap = "1g", то контейнер может использовать 400мб оперативной памяти и 600мб подкачки (1гб-400мб).

Библиотека собеса по DevOps
❤‍🔥1
Что такое маршрутизатор?

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


Библиотека собеса по DevOps
1
По вашему опыту, в чем преимущества DevOps?

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

Библиотека собеса по DevOps
1
Вы разворачиваете продакшн-инфраструктуру для AI-агентов (LLM, ML inference) в контейнерах Docker. В процессе эксплуатации замечаете проблемы: непредсказуемое потребление GPU/CPU, медленный cold start контейнеров и рост задержек при масштабировании. Как вы будете искать и устранять эти проблемы?

Сначала соберу метрики (Prometheus, NVIDIA DCGM, cAdvisor) для анализа загрузки CPU/GPU/памяти. Проверю, что контейнеры используют правильные runtime (например, nvidia-docker2 или --gpus all). Для cold start оптимизирую образы (multi-stage build, минимальные base image, preloading моделей в volume или кеш), а для масштабирования — внедрю оркестрацию (Kubernetes + GPU scheduler, autoscaler) и подготовлю warm-pool контейнеров.

Кстати, у нас скоро стартует курс AI-агенты для
DS-специалистов
:
https://proglib.academy/ai-agents

Библиотека собеса по DevOps
1
Вопрос на собеседовании: «Как вы будете мониторить LLM в проде?»

Чтобы не плавать в теме LLMOps и AgentOps, присоединяйтесь к курсу «Разработка ИИ-агентов». Группа уже стартовала.

Разбираем эксплуатационную часть:

— инструменты трейсинга и логирования агентов;
— оптимизация затрат на токены;
— безопасность и контроль доступов.

Первая лекция открыта. Отличная возможность прокачать скиллы для поддержки современных AI-проектов.

Записаться

Смотреть лекцию
Как убрать долгоживущие секреты из CI/CD и облака?

Используйте OIDC/workload identity: раннер обменивает подписанный токен на краткоживущие креды (AWS STS/GCP WIF/Azure Federated Credentials) с минимальными IAM-ролями. Секреты храните в менеджере (Vault/Secrets Manager), отдавайте по запросу, ведите аудит; ротацию автоматизируйте, доступ — по принципу наименьших привилегий, без встраивания ключей в образы/репозитории.

🐸Библиотека собеса по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Вопрос: «Как вы будете скелить инференс LLM и векторную БД?»

DevOps изменился. Теперь от вас ждут умения работать с AI-инфраструктурой. На собеседованиях спрашивают про утилизацию GPU, кэширование семантических запросов и трассировку агентов.

Наш курс закрывает этот пробел. Мы разбираем реальные проблемы эксплуатации: от стоимости токенов до задержек (latency) в сложных цепочках агентов.

Что прокачаем для собеса:

— Понимание пайплайнов RAG (ETL для данных).
— Мониторинг качества работы моделей (не только uptime, но и correctness).
— Инструменты экосистемы AI (LangSmith, LangFuse, Arize).

Подготовиться к вопросам по AI-Ops
Объясни разницу между layer-кэшем сборки и BuildKit-кэшем через RUN --mount=type=cache/--mount=type=secret, как они инвалидируются и как делиться кэшем между машинами.

Layer-кэш — это слои образа: ключ — инструкция и входы шага (для COPY/ADD — хэш содержимого, для RUN — команда + предыдущие слои); изменение любого раннего шага сбрасывает все ниже, кэш хранится в локальном image store и по сути переносится только вместе с образом. --mount=type=cache даёт временный RW-каталог для шага, содержимое не попадает в слой и уменьшает размер образа; кэш живёт отдельно от образа и идентифицируется id/target, подходит для пакетных менеджеров/сборок. --mount=type=secret подаёт секрет как файл только на время шага, он не записывается в слой и не «утекает» в историю; сам факт секрета не ломает кэш шага. Для обмена кэшем: в Buildx — --cache-to/--cache-from (local|registry), а для наследования кэша слоёв через реестр — пушить образ (или использовать inline-cache/BUILDKIT_INLINE_CACHE=1).

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

Ingress — это API-объект, который управляет внешним доступом HTTP/HTTPS к службам внутри кластера Kubernetes. Он позволяет маршрутизировать запросы на основе имени хоста и путей, выступая в качестве обратного прокси-сервера для нескольких приложений.

Пример определения Ingress YAML:
apiVersion:
networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- host:
my-app.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: my-service
port:
number: 80


Библиотека собеса по DevOps
1👍1
Объясните, что такое распределенные вычисления (или распределенные системы).

По словам Мартина Клеппманна:
«Множество процессов, работающих на многих машинах... только передача сообщений через ненадежную сеть с переменными задержками, и система может страдать от частичных сбоев, ненадежных часов и остановок процессов».

Другое определение: «Системы, которые физически разделены, но логически связаны».


Библиотека собеса по DevOps
1
Что такое API-шлюз?

API-шлюз подобен привратнику, который контролирует, как различные части взаимодействуют друг с другом и как происходит обмен информацией между ними.

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

Используя API-шлюз, организации могут упростить управление своими API, обеспечить согласованную безопасность и управление, а также улучшить производительность и масштабируемость своих внутренних сервисов. Они также широко используются в архитектурах микросервисов, где есть много небольших независимых служб, к которым необходимо получать доступ разным клиентам.


Библиотека собеса по DevOps
👍1
Что такое виртуализация?

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

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

Есть три типа виртуализации:
✍🏻 Паравиртуализация
✍🏻 Эмуляция
✍🏻 Контейнерная виртуализация


Библиотека собеса по DevOps
Что такое веб-перехват мутационного допуска Kubernetes и как он работает?

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

Они обычно используются для:
✍🏻 Внедрения дополнительных объектов (sidecars).
✍🏻 Установки значений по умолчанию для модулей (pod), развертываний (deployments) и других ресурсов.
✍🏻 Применения передовых практик (например, автоматического назначения ограничений ресурсов).
✍🏻 Добавления настроек безопасности (например, требования меток для отслеживания аудита).


Библиотека собеса по DevOps
Зачем сначала делать COPY package*.json ./ и только потом RUN npm ci, а уже затем COPY . .?

Так кэшируется слой с зависимостями: пока манифесты не меняются, npm ci берётся из кеша, а изменения в исходниках не инвалидируют установку пакетов. Итог — быстрые пересборки и предсказуемость.

Библиотека собеса по DevOps
Почему docker stop иногда не завершает контейнер корректно?

docker stop шлёт SIGTERM PID 1 и по таймауту SIGKILL; если PID 1 — shell/скрипт (shell-форма ENTRYPOINT) или процесс не форвардит/не обрабатывает сигналы, graceful shutdown не случается. Решение: exec-форма ENTRYPOINT ["app"], обработка SIGTERM в коде, при нужде STOPSIGNAL, либо --init/tini.

Библиотека собеса по DevOps
👍2
COPY vs ADD?

COPY для файлов из контекста. ADD ещё умеет tar-распаковку и URL — почти всегда зло. COPY предпочтительнее.

ARG vs ENV?

ARG виден только на этапе build (не в рантайме). ENV попадает в образ и окружение контейнера.

Как уменьшить размер образа?

Multi-stage builds, .dockerignore, Alpine/ubi-minimal/Distroless, объединяй RUN, чисти кеши (apt/apk) в том же слое, пинь версии.


Библиотека собеса по DevOps
❤‍🔥5👍3