Библиотека собеса по DevOps | вопросы с собеседований
3.11K subscribers
159 photos
7 videos
2 files
380 links
Вопросы с собеседований по DevOps и ответы на них.

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

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Что такое CRI?

CRI означает интерфейс выполнения контейнера. Это спецификация, описывающая определенный уровень абстракции, позволяющая унифицированно использовать различные версии программного обеспечения для работы с контейнерами, такими как Containerd или CRI-O.

Библиотека собеса по DevOps
Каким образом мы можем управлять вычислительными ресурсами в k8s?

Для эффективного управления ресурсами в кластере k8s используются resources requests / limits. Они могут быть настроены для CPU, памяти и, в последних версиях k8s, для GPU.

Requests используются для определения типичного потребления ресурсов нашим приложением. На основе этих данных Kubernetes scheduler выбирает ноды для запуска PODов (сумма всех request'ов контейнеров во всех PODах не должна превышать доступные ресурсы на ноде).

Limits служат как механизм предотвращения, ограничивая потребление ресурсов контейнером в PODе. При превышении лимита процессорного времени применяется thermal throttling, а при превышении лимита памяти — механизм OOM.

Модель, при которой requests меньше limits, называется burstable QoS, а когда requests равны limits — guaranteed QoS.

Кроме того, можно установить квоты ресурсов на namespace (CPU, память, количество запущенных PODов, размер диска persistent volume) и указать требования к resources requests на PODах в namespace с помощью limit ranges.

Для управления ресурсами приложений также можно использовать автоскейлеры. В k8s доступны HPA (horizontal pod autoscaler), который регулирует количество PODов в зависимости от потребления CPU и/или памяти, и VPA (vertical pod autoscaler), который управляет resources requests / limits.

Существуют также реализации автоскейлеров, которые могут использовать внешние метрики (например, длину очереди), такие как carpenter или KEDA. В облачном окружении можно использовать cluster autoscaler для добавления или удаления нод в зависимости от общей загрузки кластера.


Библиотека собеса по DevOps
👍1
Каков формат данных на картинке?

YAML
👍1
🔎 Собес сам себя не пройдет

Ты готов к собеседованию? А если проверю?

Залетай к нам и забирай курсы со скидкой 40%. Только до конца октября можно узнать много нового и отточить навыки.

🎯 Забирай курсы:

🐍 python для разработчиков;
🧮 алгоритмы и структуры данных;
📝 архитектуры и шаблоны проектирования;
🧩 основы IT для новичков.

Не упусти скидку и получи долгожданный оффер!
В чём разница между SLI, SLO и SLA?

SLI — измеримая метрика качества (например, доля успешных запросов). SLO — целевое значение этой метрики за период (например, 99.9% за 30 дней). SLA — юридически значимое обещание клиенту на основе SLO, с оговорёнными санкциями/кредитами. Ошибочный бюджет = 100% − SLO и используется для контроля темпа релизов.

Библиотека собеса по DevOps
👍2😢1
Как обеспечить нулевой простой сервиса в Kubernetes во время деплоя и обновления нод?

Держите ≥3 реплики на зону и включите readinessProbe, делайте RollingUpdate с maxUnavailable: 0 и maxSurge: 1, задайте PDB с minAvailable и убедитесь, что HPA.minReplicas ≥ minAvailable. Для плавного отключения трафика используйте lifecycle.preStop и достаточно большой terminationGracePeriodSeconds. Размещайте поды по зонам через anti-affinity/topologySpreadConstraints. Ноды обновляйте через kubectl drain, чтобы эвикшены уважали PDB; для стейтфул-нагрузки — StatefulSet и кворум/репликацию на уровне хранилища.

Библиотека собеса по DevOps
👍1
🎲 Знаешь, что хуже всего на собесе?

Когда задают простой вопрос, а ты не можешь ответить.

🤔 Это ощущение, когда понимаешь:
«Блин, я это знаю... вроде... сейчас...»


От «я знаю...» до «сейчас объясню!» всего один курс.

Алгоритмы и структуры данных — от Big O до задач криптографии.

Python для разработчиков — пиши чистый и эффективный код.

Архитектуры и шаблоны — строй системы, которые масштабируются.

Основы IT — всё необходимое для входа в профессию.

Выбирай любой и забирай со скидкой 40% только до конца октября.

🔗 Выбрать курс
Почему важно иметь управление конфигурацией в DevOps?

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

🐸Библиотека собеса по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Как поддерживать операции «прибавить x на отрезке [l, r]» и «получить сумму на отрезке [l, r]» за O(log n)?

Короткий ответ: сегментное дерево с ленивой пропагацией или пара деревьев Фенвика: range add/ range sum через две Fenwick (хранить A и i·A; префикс считается как i·sum(A) − sum(i·A)). Кстати, у нас сейчас действует 40% скидка на курс Алгоритмы и структуры данных.

🐸Библиотека собеса по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM