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

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

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Определите услугу/проект, используемый для каждого из следующих действий:

Копирование или снимок инстансов
Графический интерфейс для просмотра и изменения ресурсов
Блочное хранилище
Управление виртуальными инстансами

По порядку: Glance, Horizon, Cinder, Nova

Библиотека собеса по DevOps
Какие типы volum’ов можно использовать в k8s?

Для подключения папки на ноде можно воспользоваться hostpath, однако необходимо учитывать, что POD должен быть привязан к конкретной ноде. В случае перемещения POD на другую ноду, он будет использовать ту же папку, но содержимое в ней может отсутствовать.

Другой вариант использования — local-storage, который также использует папку на диске, но привязан к конкретной ноде и автоматически привязывает POD к нужной ноде.

Также есть возможность использовать сетевые диски с помощью CSI-плагинов.


Библиотека собеса по DevOps
👍2
Что такое финалайзеры (finalizers) и для чего они нужны?

Это уникальные ключи в манифесте объекта, которые определяют операции, необходимые для выполнения перед удалением объекта. Например, они используются для предотвращения удаления pvc и pv при активном PODе.

Библиотека собеса по DevOps
Что такое CSI-плагин?

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

Мы определяем storageClass, который соответствует дискам определенного типа, и разворачиваем provisioner в кластере — специальное программное обеспечение, способное заказывать сетевые диски в системе, способной их предоставлять (например, NAS или СХД).

Затем мы создаем объект persistentVolumeClaim, указывая нужный storageClass.

При появлении запроса на persistentVolumeClaim, provisioner заказывает диск необходимого размера в системе, которая их предоставляет, создает объект persistentVolume и связывает его с persistentVolumeClaim. При запуске POD на узле, соответствующий диск монтируется на этот узел по определенному пути, который затем монтируется на файловую систему POD.


Библиотека собеса по DevOps
В чем отличие меток (labels) от аннотаций (annotations)?

Метки используются для создания механизмов поиска и группировки объектов, в то время как аннотации используются для добавления метаинформации к объекту. Например, с помощью аннотаций можно запретить service mesh внедрять sidecar-контейнеры в определенные поды.

Библиотека собеса по DevOps
👍2
В чем разница между deployment и statefulset?

В наименованиях PODов есть различия: в deployment в качестве суффикса используется случайный хеш, а в statefulset — порядковый номер. Каждый POD в statefulset имеет особое доменное имя, по которому к нему можно обратиться (это особенно полезно, например, для mongodb, где клиент должен знать имена всех узлов кластера).

При работе с дисками (volume) statefulset использует алгоритм работы at most once, который ожидает завершения работы предыдущего POD с таким же именем, чтобы занять его привязанный диск, в то время как PODы deployment'а могут занять первый доступный диск.

В стратегиях перезапуска PODов при обновлении также имеются различия.


Библиотека собеса по DevOps
🤩1
🔥 Кто такой DevOps-инженер?

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

В этом ролике кратко рассказывается про задачи DevOps и про необходимые навыки. Также самое интересное — зарплаты DevOps-инженера.

Смотреть видео

Библиотека собеса по DevOps
😢3
За год мы провели три потока курса по ИИ-агентам, а теперь запускаем масштабное обновление!

В новом, четвёртом потоке мы учли все пожелания студентов, добавили большой блок про AgentOps и сместили фокус с базовых концепций на суровый инжиниринг. Рассказать про CI/CD пайплайны на собеседовании легко, а вот настроить трассировку и лимитировать потребление ресурсов ИИ-агентом в проде — задача со звёздочкой.

В программе:

— практика с первого занятия: Jupyter-ноутбуки с автопроверкой;
— оркестрация в LangGraph: human-in-the-loop и механизм time-travel;
— продвинутый RAG для продакшена и парсинг сложных документов;
— контроль экономики агентов: маршрутизация и кеширование запросов;
— развёртывание локальных опенсорс-моделей с соблюдением 152-ФЗ.

В честь старта продаж действует спецпредложение: 3 курса по цене 1 (два дополнительных курса в подарок).

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

По промокоду Agent забирайте скидку 10 000 ₽ (89 000 ₽ вместо 99 000 ₽). Успейте занять место до 28 февраля!

👉 Присоединиться к четвёртому потоку и настроить AgentOps
Что такое ARP? Как это работает?

ARP означает протокол разрешения адресов (Address Resolution Protocol). Когда вы пытаетесь проверить IP-адрес в локальной сети, скажем, 192.168.1.1, ваша система должна преобразовать IP-адрес 192.168.1.1 в MAC-адрес. Это предполагает использование ARP для разрешения адреса, отсюда и его название. Системы хранят справочную таблицу ARP, в которой хранится информация о том, какие IP-адреса с какими MAC-адресами связаны. При попытке отправить пакет на IP-адрес система сначала сверится с этой таблицей, чтобы узнать, знает ли она уже MAC-адрес. Если значение кэшировано, ARP не используется.

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

Проверить, не накапливаются ли временные файлы или логи внутри контейнера (слои copy-on-write). Использовать docker system df, docker inspect и docker logs для анализа. При необходимости — подключить тома/лог-агрегатор вместо записи в контейнерную ФС. Пересобрать образ так, чтобы данные не сохранялись в контейнере.

Библиотека собеса по DevOps
Последний шанс: 3 курса по цене 1 и запуск AI-агентов в продакшн

На собеседованиях DevOps-инженеров теперь спрашивают не только про Kubernetes, но и про AgentOps. Как обеспечить Observability мультиагентной системы, отслеживать стоимость токенов и не нарушить 152-ФЗ?

Обновлённая программа делает упор на жёсткий инжиниринг и вывод в прод. Вы научитесь строить ReAct-циклы, работать с LangGraph и AutoGen, внедрять продвинутый RAG, протоколы MCP и AgentOps. Все ключевые навыки в одном месте: измеримость систем, time-travel дебаггинг, управление браузером, human-in-the-loop и развёртывание в закрытых контурах.

Почему нельзя откладывать:

— масштабная акция «3 курса по цене 1» сгорает уже сегодня;
— промокод Agent на скидку 10 000 рублей действует последние часы;
— сразу после оформления открываются материалы для подготовки — начать учиться можно прямо сейчас.

Забронировать место на курсе и забрать бонусы до конца дня
Что такое автоматизация? Чем это связано или отличается от оркестровки?

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


Библиотека собеса по DevOps
В Kubernetes-продакшене вы замечаете, что при пике нагрузки некоторые Pod’ы начинают завершаться с ошибкой OOMKilled, хотя лимиты памяти выставлены корректно. Как будете диагностировать и решать проблему?

Проверить метрики Pod’ов (kubectl top, Prometheus/Grafana), проанализировать, не занижены ли requests/limits. Проверить утечки памяти в приложении, использование кэшей и сторонних библиотек. Для решения — оптимизировать код, вынести тяжёлые задачи в sidecar/job, при необходимости поднять лимиты памяти или включить горизонтальное масштабирование (HPA).

Библиотека собеса по DevOps
🤔1
Что такое Logstash?

Logstash — это мощный и гибкий конвейер, который собирает, обогащает и транспортирует данные. Он работает как инструмент извлечения, преобразования и загрузки для сбора сообщений логов.

Библиотека собеса по DevOps
Что такое Docker Compose и чем он отличается от Dockerfile?

Docker Compose — это инструмент для определения и управления многоконтейнерными приложениями Docker с помощью файла YAML (docker-compose.yml). Он позволяет нам настраивать сервисы, сети и тома в одном файле, что упрощает управление сложными приложениями.

Отличия от Dockerfile:
— Dockerfile используется для создания одного образа Docker путем определения его слоев и зависимостей.
— Docker Compose используется для запуска и оркестровки нескольких контейнеров, которые могут полагаться друг на друга (например, контейнер веб-приложения и контейнер базы данных).

Например, файл docker-compose.yml может выглядеть так:
version: '3.9'
services:
web:
build: .
ports:
- "5000:5000"
depends_on:
- db
db:
image: postgres
volumes:
- db-data:/var/lib/postgresql/data
volumes:
db-data:


В этом файле определяются два сервиса: web и db, с конфигурациями сети и томов.


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