Русский
Открыть в Telegram
ББиблиотека собеса по DevOps | вопросы с собеседований

Библиотека собеса по DevOps | вопросы с собеседований

@devops_interview_lib · канал · в индексе с 20.04.2026
3 463подписчиков
215средний охват поста
6.2%ER — охват к подписчикам
3постов за 30 дней
Б
Библиотека собеса по DevOps | вопросы с собеседований
Фотография
👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах. Через пару недель появляется задача, где нужны алгоритмы. Потом понимаешь, что неплохо бы освежить Python или математику для Data Science. 🔜 Именно поэтому подписка на обучение многим оказывается удобнее отдельных курсов. Можно спокойно переключаться между темами, когда меняются задачи, а не покупать новую программу каждый раз. В подписку Proglib Academy входят все основные направления — AI, ML, Python, алгоритмы, математика для DS и другие курсы, а ещё закрытый видеохаб с вебинарами практиков. Начать можно с пробного месяца. Если решите остаться, его стоимость зачтётся при оформлении подписки 😎 🔗 Узнать подробнее 🏃‍♀️ Proglib Academy
767 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
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
14 · 1K ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
Фотография
😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода. 🔘 Поговорим о том: — когда дорогая модель действительно нужна, а когда хватит дешёвой; — сколько стоит один прогон и куда уходят токены; — какие задачи можно отдавать субагентам; — как настроить маршрутизацию моделей; — что проверять в AI-коде перед merge. ✏️ Покажем всё на конкретных цифрах и вживую: сравним расходы до и после. ⬇️ 17 сентября, 19:00 МСК ⬇️ 1,5 часа · бесплатно ⬇️ Арсений Харланов и Олег Лайок 💬 Пишите в комментариях, где упираетесь в лимиты и на что уходят деньги. Самые залайканные вопросы разберём на вебинаре. 🔗 Зарегистрироваться на вебинар⁠
1 · 635 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
👀 Как вы смотрите видео? Разбираете урок, слушаете интервью фоном или начинаете на телефоне, а продолжаете на большом экране? Хотим узнать, что делает просмотр удобным для вас. Вспомните последнее видео — ролик, урок, фильм или серию сериала — и расскажите о своём опыте. Если детали не запомнились, можно так и ответить. 🕰️ Опрос займёт около 3 минут. В результатах сможете сравнить свои привычки с ответами других участников. А разработчики и инженеры видеоплатформы расскажут, что происходит по ту сторону экрана, пока вы смотрите видео. 🔗 Поделиться опытом 🐸 Библиотека программиста
41 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
Почему новый ConfigMap не изменил файл в контейнере? ConfigMap смонтирован одним файлом через subPath. Объект обновили, но приложение продолжает читать старое содержимое. Это обязательно ошибка кеша приложения? Ответ: Нет. Контейнер с ConfigMap через subPath не получает обновления этого тома. Для текущего способа монтирования потребуется пересоздать Pod. При обычном монтировании ConfigMap как каталога обновление проецируется с задержкой, но приложение ещё должно перечитать файл. Переменные окружения из ConfigMap тоже не обновляются автоматически и требуют перезапуска Pod. Сначала различите способ передачи конфигурации, затем проверяйте приложение. Обновление ConfigMap в Kubernetes
443 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
Приложение стартует три минуты. Какой probe даст ему время? Проверка liveness начинается рано и перезапускает ещё не готовый контейнер. После старта при этом нужна быстрая реакция на зависание. Что настроить? Ответ: Startup probe с бюджетом, который покрывает худшее время запуска. До её успеха liveness и readiness не выполняются. После успеха вступают в работу обычные проверки. В примере документации 30 неудач с интервалом 10 секунд дают до 300 секунд на старт. Если startup probe так и не успешна, контейнер перезапускается согласно restartPolicy. Readiness отвечает за готовность получать трафик, поэтому сама по себе не решает проблему раннего перезапуска liveness. Startup, liveness и readiness
162 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
Переименовали ресурс Terraform. Как обойтись без пересоздания? В Terraform 1.1+ поменяли только имя ресурса: aws_instance.a стал aws_instance.b. Аргументы прежние, но plan предлагает удалить объект и создать новый. Как описать переименование? Ответ: Добавить moved-блок: в from указать aws_instance.a, в to — aws_instance.b. Затем проверить новый plan. Terraform свяжет старый адрес в state с новым, и само переименование не потребует удаления объекта. Другие изменения конфигурации всё ещё могут потребовать пересоздания. В общем модуле moved стоит сохранять для пользователей, которые ещё не прошли миграцию. Переименование ресурсов в Terraform
541 ·
Библиотека собеса по DevOps | вопросы с собеседований
Сначала sum или rate? Реплики API экспортируют счётчик http_requests_total. Одна реплика перезапустилась и сбросила счётчик. Как получить общий RPS: сначала сложить значения или сначала вычислить rate каждой серии? Ответ: Сначала rate каждой серии, затем sum. Иначе рост счётчика одной реплики может скрыть сброс другой, и rate уже не распознает его корректно. Окно [5m] даёт среднюю скорость в секунду за пять минут, а не число запросов за это время. Суммируются все серии, попавшие в селектор. Для расчёта по сервисам нужна группировка. Как Prometheus вычисляет rate
1 · 506 ·
Б
Фотография
😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция! До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один. Например, можно совместить: 💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью. 💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений. Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥 Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога. Акция действует до 31 октября включительно ⏳ ⏬ Собрать свой учебный билд
500 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
Forbid у CronJob гарантирует выполнение ровно один раз? Расчёт запускается каждые пять минут через CronJob. Вы указали concurrencyPolicy: Forbid. Достаточно ли этого, чтобы каждый расчёт выполнился ровно один раз? Ответ: Нет. Forbid запрещает перекрытие Jobs одного CronJob. Если предыдущий Job ещё работает, новый в этот момент не запускается. После завершения возможен отложенный запуск с учётом startingDeadlineSeconds. Сам CronJob не гарантирует exactly-once: для одного времени расписания могут появиться два Job или ни одного. Обработку нужно делать идемпотентной, а внешние эффекты защищать от повторов. На Jobs других CronJob эта политика не распространяется. Политики и ограничения CronJob
490 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
A-запись появилась. Откуда всё ещё NXDOMAIN? Авторитетный DNS-сервер уже возвращает новую A-запись. Рекурсивный резолвер, к которому обращались до её создания, продолжает отвечать NXDOMAIN. Что проверить? Ответ: Отрицательный DNS-кеш: резолвер мог сохранить ответ об отсутствии имени. По RFC 2308 исходный TTL такого ответа равен меньшему из SOA.MINIMUM и TTL самой SOA. Короткий TTL новой A-записи уже сохранённый NXDOMAIN не обновляет. Сравните ответы авторитетного сервера и нужного резолвера, посмотрите оставшийся TTL SOA в секции authority. У самого резолвера могут быть дополнительные ограничения времени кеширования. RFC 2308: отрицательное кеширование DNS
2 · 484 ·
Библиотека собеса по DevOps | вопросы с собеседований
Почему GitHub Actions отменил ожидающий деплой? В одном репозитории запуски A, B и C используют одну concurrency group. A выполняется, B ожидает, затем в группу приходит C. Указано cancel-in-progress: false, свойство queue не задано. Выполнятся ли все три? Ответ: Нет. По умолчанию queue: single оставляет только один ожидающий запуск. C заменит B, а B будет отменён. A продолжит работу: cancel-in-progress: false защищает выполняющийся запуск, но не ожидающий. В текущей документации GitHub Actions есть queue: max для очереди до 100 ожидающих запусков. Его нельзя сочетать с cancel-in-progress: true. Управление concurrency в GitHub Actions
2 · 473 ·
Б
Фотография
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше. В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок. Например, можно совместить два направления по работе с ИИ: 💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью. 💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений. 📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета. А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога. Акция действует до 31 октября включительно ⏳ ⏮️ Пора прокачать свой стек
463 ·
Библиотека собеса по DevOps | вопросы с собеседований
Какой контейнер вернётся после перезапуска Docker? Два отдельных контейнера Docker Engine успешно работали больше десяти секунд. У одного политика always, у другого unless-stopped. Оба остановили через docker stop, затем перезапустили Docker daemon. Кто запустится автоматически? Ответ: Контейнер с always запустится, с unless-stopped останется остановленным. Ручной docker stop подавляет автоматический рестарт, поэтому always не заставит контейнер немедленно ожить. Но после перезапуска daemon эта политика снова запустит его. У unless-stopped ручная остановка сохраняется и после перезапуска daemon. Это поведение отдельных контейнеров, не политик Swarm services. Политики перезапуска Docker Engine
2 · 412 ·
Б
Фотография
Динозавр держится за ВМ и снапшоты по расписанию, Археолог давно не помнит, что и где у него крутится, а Повелителю облаков уютно до первого кругленького счёта. Это три из десяти типов инфраструктуры в тесте от команды Deckhouse. Ответьте на 5 вопросов, узнайте свой тип и отправьте ссылку на результат команде. Посмотрим, совпадёт ли он у коллег. → Пройти тест и узнать свой тип
449 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
Запустит ли After базу вместе с приложением? В app.service указано After=db.service. Других связей между этими юнитами нет. db.service существует, остановлен, не включён в автозапуск и не запускается другим способом. Вы запускаете только app.service. Поднимется ли db.service? Нет. After задаёт порядок запуска, когда оба юнита уже участвуют в запуске. Само по себе оно не запускает db.service. Чтобы запуск приложения подтягивал базу, нужна зависимость Wants=db.service или Requires=db.service. Если приложение не должно стартовать при неудачном запуске базы, используют Requires вместе с After. При этом After не проверяет готовность базы принимать SQL-запросы. Документация systemd
2 · 414 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
Почему PDB блокирует эвакуацию нездорового Pod? В Kubernetes 1.31+ у Deployment три реплики. PDB задаёт minAvailable: 2, но Ready только одна реплика. На ноде, которую нужно освободить, находится Pod с phase=Running и Ready=False. unhealthyPodEvictionPolicy не задана. Другие причины отказа исключены. Почему Eviction API блокирует эвакуацию этого Pod и какая политика её разрешит? По умолчанию действует IfHealthyBudget. При этой политике нездоровый Pod в phase=Running можно эвакуировать, только если currentHealthy не ниже desiredHealthy. Здесь 1 меньше 2, поэтому запрос блокируется. Значение AlwaysAllow у unhealthyPodEvictionPolicy разрешит эвакуацию этого нездорового Pod даже при нарушенном бюджете. Здоровые Pod по-прежнему защищены PDB. После эвакуации этот нездоровый Pod уже не сможет стать Ready на прежней ноде. Документация Kubernetes
2 · 425 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
Успешный COMMIT уже виден на синхронной реплике? PostgreSQL 18: у primary один синхронный standby, указанный в synchronous_standby_names. Именно он подтверждает COMMIT и обслуживает чтение. Транзакция завершилась с synchronous_commit=on. Затем клиент открывает новый снимок для SELECT на этом standby. Гарантирует ли on видимость изменения? Какой режим ждёт его применения? Нет. on ждёт, пока подтверждающий синхронный standby получит запись о COMMIT и сбросит её в долговечное хранилище. Применение WAL к этому моменту ещё не гарантировано. remote_apply дополнительно ждёт применения записи. Тогда изменение видно запросу с новым снимком на этом подтверждающем standby. Поэтому при COMMIT приходится ждать WAL replay. На произвольную асинхронную реплику или старый снимок эта гарантия не распространяется. Документация PostgreSQL 18
2 · 428 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
Сколько раз сработает run_once при serial: 2? В Ansible play шесть доступных хостов, стандартная стратегия linear и serial: 2. У одной задачи задано run_once: true. Все хосты проходят play без ошибок. У задачи нет when, повторов и делегирования. Сколько раз она выполнится за этот запуск play? Три раза: по одному запуску в каждой пачке из двух хостов. run_once действует в пределах текущей serial-пачки. Для одного запуска независимо от serial документация предлагает условие when: inventory_hostname == ansible_play_hosts_all[0]. Такая проверка всё равно не заменяет идемпотентность при повторном запуске playbook. Документация Ansible
1 · 390 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
Куда пропал файл из образа после bind mount? В Docker-образе есть /app/config/settings.yaml. На хосте Docker daemon заранее создан пустой каталог /srv/app-config. Его успешно подключили через bind mount в /app/config контейнера. Приложение больше не видит settings.yaml. Удалил ли Docker файл из образа? Нет. Bind mount перекрыл содержимое /app/config пустым каталогом хоста. Файл образа скрыт этим монтированием и остаётся в образе. Чтобы снова увидеть исходное содержимое, проще пересоздать контейнер без этого mount. Пересборка образа не поможет, пока тот же пустой каталог подключается в ту же точку. Это поведение bind mount, его нельзя переносить на новый именованный volume. Документация Docker
1 · 384 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
Что меняет слеш в значении proxy_pass? В современном NGINX выбран обычный префиксный location /api/. Нет регулярных выражений, именованных location, rewrite и переменных. Приходит GET /api/users без query string. Сначала значение proxy_pass — http://backend, затем его меняют на http://backend/. Какой путь получит upstream в каждом случае? С http://backend upstream получит /api/users. Здесь в proxy_pass нет URI, поэтому исходный путь передаётся дальше. С http://backend/ upstream получит /users. Завершающий / задаёт URI, который заменяет совпавший префикс /api/. Документация NGINX
386 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
Сохранится ли prevent_destroy после удаления resource? Terraform управляет объектом, который остаётся в state. В его resource-блоке был блок lifecycle с prevent_destroy = true. Затем весь resource-блок удалили из конфигурации. State не меняли. Заблокирует ли прежний prevent_destroy удаление объекта при новом plan? Рассматриваем только это правило, без внешних защит. Нет. prevent_destroy действует, пока присутствует в конфигурации. Удаление всего resource-блока убирает и этот запрет, поэтому Terraform может запланировать удаление объекта. Пока prevent_destroy = true остаётся в resource-блоке, Terraform отклоняет план с удалением или заменой этого объекта. Построение плана не запускает apply и ничего не удаляет. Документация Terraform
348 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
Можно ли отключить токен ServiceAccount только у одного Pod? ServiceAccount разрешает автоматическое монтирование API-токена. Один из Pod, использующих этот ServiceAccount, не должен получать токен автоматически. Можно ли настроить это, не меняя ServiceAccount для остальных Pod? Да. В spec этого Pod задайте automountServiceAccountToken: false. Если поле указано и у Pod, и у ServiceAccount, значение из Pod имеет приоритет. Это отключает автоматическое монтирование API-учётных данных в этот Pod. Настройка не меняет RBAC и не удаляет учётные данные, явно подключённые другим способом. ServiceAccount в документации Kubernetes
1 · 313 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
Почему depends_on не дождался готовности базы? В Docker Compose приложение зависит от базы через короткую форму depends_on. Контейнер базы уже запущен, но она ещё не принимает подключения. Должен ли Compose задержать запуск приложения? Нет. Короткая форма depends_on задаёт порядок запуска контейнеров, но не ждёт готовности базы. Чтобы приложение дождалось успешной проверки базы, задайте ей healthcheck, а зависимости — condition: service_healthy. Compose будет ждать прохождения именно этого healthcheck. Его нужно настроить под нужный критерий готовности базы. Если база позже перейдёт в unhealthy, это условие запуска не остановит приложение. Порядок запуска в Docker Compose
2 · 274 ·
Б
Библиотека собеса по DevOps | вопросы с собеседований
Превышение memory.high сразу приводит к OOM? В cgroup v2 расход памяти группы превысил memory.high, но остаётся ниже memory.max. Достаточно ли этого превышения, чтобы ядро немедленно убило процессы группы? Нет. Превышение memory.high само по себе не вызывает OOM killer. Процессы группы замедляются, а ядро активнее освобождает память (reclaim). memory.max задаёт жёсткий предел. Если расход достиг его и память не удаётся освободить, OOM killer вызывается внутри cgroup. Это не гарантирует немедленного завершения процессов при достижении лимита: возможны временные превышения, а некоторые виды выделения памяти не вызывают OOM killer. Контроллер памяти cgroup v2 в документации ядра
1 · 205 ·

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем