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

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

Ir al canal en Telegram

Вопросы с собеседований по DevOps и ответы на них. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/d7e18893 Для обратной связи: @proglibrary_feeedback_bot

Mostrar más
3 424
Suscriptores
+224 horas
+37 días
+1930 días
Archivo de publicaciones
Объясни разницу между 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

Что такое виртуализация? В момент появления понятия виртуализации, оно представляло собой метод логического разделения мейнфреймов для одновременной работы нескольких приложений. Однако с развитием технологий появилась возможность одновременной работы нескольких операционных систем на одном сервере 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

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

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

Какие инструменты с открытым исходным кодом вы используете, чтобы сделать Puppet более мощным? Изменения в конфигурации отслеживаются с помощью Jira, а дальнейшее обслуживание осуществляется посредством внутренних процедур. Контроль версий использует поддержку Git и приложения диспетчера кода Puppet. Изменения передаются через конвейер непрерывной интеграции Jenkins. Библиотека собеса по DevOps

Объясните принципы оркестровки, когда речь идет о программном обеспечении и DevOps. Автоматизированная конфигурация, координация и управление компьютерными системами, службами и приложениями называется оркестровкой в ​​DevOps. Она использует инструменты DevOps, которые позволяют контролировать версии, быстро обновлять и выпускать, а также использовать другие передовые методы разработки программного обеспечения. Оркестровка в программном обеспечении включает в себя координацию и управление несколькими компьютерными системами, приложениями и/или службами, связывая вместе различные задачи для выполнения более крупного рабочего процесса или процесса. Эти процессы могут состоять из многочисленных автоматизированных задач и могут включать несколько систем. Библиотека собеса по DevOps

🚀 Всё о курсе «ИИ-агенты для DS-специалистов» ❓ Зачем нужны ИИ-агенты? Это системы, которые берут на себя задачи аналитики и
🚀 Всё о курсе «ИИ-агенты для DS-специалистов» ❓ Зачем нужны ИИ-агенты? Это системы, которые берут на себя задачи аналитики и автоматизации. Именно они становятся основой для работы с корпоративными данными и для поддержки принятия решений. ❓ Зачем мне курс? Курс отвечает на три ключевых вопроса: — Как построить собственную систему агентов с нуля? — Каким образом использовать RAG-подход для работы с корпоративными данными? — Как адаптировать LLM под реальные задачи бизнеса? ❓ Подходит ли это мне? Курс рассчитан на специалистов уровня middle+ и senior: ML/AI инженеров, Data Scientists, backend и platform-разработчиков. Подойдёт и студентам CS/DS, если вы готовы к продвинутым практикам. Запись вводной встречи «ИИ-агенты: новая фаза развития искусственного интеллекта» доступна по ссылке. ❓ Когда старт? Обучение начинается 3 октября.Сколько стоит? До 28 сентября действует скидка → 57 000 ₽ вместо 69 000 ₽ (промокод datarascals). 🔗 Описание программы и регистрация

Как реализовать авто-масштабирование по SLO (например, p95 latency/RPS), а не только по CPU/Memory, в Kubernetes? Собрать метрики в Prometheus и отдать их в Custom/External Metrics API через Prometheus Adapter (или KEDA), затем настроить HPA v2 на произвольные метрики (p95, RPS, очередь). Добавить стабилизацию/политику масштабирования (cooldown, behavior), и триггеры алертов/автоотката при деградации. Библиотека собеса по DevOps

🤫 Курс «ИИ-агенты для DS-специалистов» Каждый технологический скачок оставляет позади тех, кто «подождал ещё чуть-чуть». ИИ-
🤫 Курс «ИИ-агенты для DS-специалистов» Каждый технологический скачок оставляет позади тех, кто «подождал ещё чуть-чуть». ИИ-агенты — это новый рывок. Уже через пару лет именно они будут драйвить аналитику и автоматизацию. Хотите остаться на гребне? 🖥️ На курсе «ИИ-агенты для DS-специалистов» мы разберём: — создание AI-агентов с нуля — сборку собственной RAG-системы — интеграцию LLM под задачи бизнеса 📌 Курс подходит: → ML/AI инженерам (middle+ / senior) → Data Scientists → Backend и platform-инженерам → Advanced CS/DS студентам ⚡️ Старт уже скоро — 3 октября. 💰 До 28 сентября действует скидка — 57.000 ₽ вместо 69.000 ₽ (по промокоду datarascals). 🔗 Узнать больше о курсе и записаться З.ы. если вы не успели на вебинар «ИИ-агенты: новая фаза развития искусственного интеллекта» — запись уже доступна

🤖 Перечислите основные компоненты архитектуры Kubernetes Два основных компонента архитектуры Kubernetes — главный узел и рабочий узел. Главный узел — это плоскость управления, принимающая глобальные решения внутри кластера. Главный узел включает в себя компоненты плоскости управления, отвечающие за управление и координацию кластера. Эти компоненты — сервер API, планировщик, менеджер контроллера облака и менеджер контроллера. Рабочий узел имеет четыре очень легких компонента, что имеет смысл, поскольку вы хотите зарезервировать большую часть пространства для своих модулей. Эти компоненты — прокси, Kubelet и среда выполнения контейнера. Библиотека собеса по DevOps

Какие типы сервисов доступны в Kubernetes Services? Kubernetes предоставляет четыре основных типа Service, каждый для своей сетевой задачи: 📌 ClusterIP (по умолчанию): обеспечивает внутреннее взаимодействие Pod’ов. Доступен только внутри кластера. 📌 NodePort: публикует Service на статическом порту каждой ноды, делая его доступным извне кластера. 📌 LoadBalancer: использует внешний балансировщик облачного провайдера. Сервис получает публичный IP. 📌 ExternalName: сопоставляет Kubernetes-сервис с внешним DNS-именем (hostname). Библиотека собеса по DevOps

❗ Сегодня премьера В 19:00 МСК стартует бесплатный вебинар с Максимом Шаланкиным — «ИИ-агенты: новая фаза развития искусствен
❗ Сегодня премьера В 19:00 МСК стартует бесплатный вебинар с Максимом Шаланкиным«ИИ-агенты: новая фаза развития искусственного интеллекта». В программе: — почему агенты ≠ чат-боты; — живое демо простого агента; — и как эта тема встроена в курс, который разработан под руководством Никиты Зелинского. Это прямой эфир: подключиться можно через лендинг курса.

В продакшене контейнер «плохо» останавливается: docker stop тянется, внутри остаются зомби-процессы, сервис не ловит SIGTERM. Как диагностировать и починить? Проблема PID 1: приложение запущено как PID1, не форвардит сигналы и не “reap’ит” детей. Решение — запускать с init (docker run --init / tini, dumb-init), в коде обработать SIGTERM/SIGINT (graceful shutdown), в Dockerfile указать STOPSIGNAL SIGTERM, в Compose/K8s — адекватный stop_grace_period/terminationGracePeriodSeconds. Не ставить /bin/sh -c ... как PID1 без init и не прятать процесс за оболочкой. Библиотека собеса по DevOps

🔥 Не пропустите событие осени для AI-комьюнити 24 сентября, 19:00 Мск — бесплатный вебинар с Максимом Шаланкиным «ИИ-агенты:
🔥 Не пропустите событие осени для AI-комьюнити 24 сентября, 19:00 Мск — бесплатный вебинар с Максимом Шаланкиным «ИИ-агенты: новая фаза развития искусственного интеллекта» 😤 Пока все спорят, «боты это или нет», мы покажем, как работают настоящие агенты: с планированием, инструментами и памятью. За час Максим разберёт: — почему ИИ-агенты сейчас на пике инвестиций — чем они отличаются от ChatGPT и обычных моделей — цикл агента: восприятие → планирование → действие → обучение — живое демо простого агента — как бизнес уже получает ROI до 80% ⚡️ Хотите спросить у Максима всё, что обычно остаётся «за кадром»? Ловите шанс — только в прямом эфире.Мест мало, регистрация закроется, как только забьём комнату

Как в Kubernetes реализовать безопасную ротацию секретов без даунтайма: чтобы сервисы подхватывали новые креды/ключи без ручных рестартов и «мигающих» ошибок? Хранить секреты вне кластера (KMS/Secret Manager) и подтягивать через External Secrets / CSI Secrets Store, монтируя как файл (а не env) — тогда обновления приходят «на лету». В приложении — hot-reload (watch файла, SIGHUP, sidecar-reloader). Для несовместимых ротаций — двухключевой период (старый+новый), фича-флаг переключения и постепенное отключение старого. Для критичных потоков — поэтапный rollout и health-checks, чтобы трафик шёл только на инстансы с новым секретом. Библиотека собеса по DevOps

В ASP.NET Core у вас async-метод защищает кэш обычным lock и делает await внутри критической секции. Под нагрузкой — залипания и просадка RPS. В чём проблема и как починить? await внутри lock держит монитор и блокирует потоки → contention/starvation и возможные deadlock’и. Решение: не делать await под lock; использовать ConcurrentDictionary (например, GetOrAdd с Lazy<Task<T>>) или асинхронную синхронизацию (SemaphoreSlim/AsyncLock, часто per-key), выносить await за пределы критической секции. Библиотека собеса по DevOps

Сервис держит долгие HTTP/GRPC-соединения. При деплоях клиенты теряют коннекты. Как добиться graceful shutdown без обрывов? Обработать SIGTERM в приложении (перестать принимать новые, завершить активные), добавить preStop hook с drain (например, /ready=false), увеличить terminationGracePeriodSeconds, проверять readinessProbe (после перевода в not-ready трафик уйдёт), на входе — корректный LB/ingress timeouts. Для gRPC — GOAWAY перед закрытием. Библиотека собеса по DevOps

Библиотека собеса по DevOps | вопросы с собеседований - Estadísticas y analítica del canal de Telegram @devops_interview_lib