DevOps | Вопросы собесов
رفتن به کانال در Telegram
Cайт easyoffer.ru Реклама @easyoffer_adv ВП @easyoffer_vp Тесты t.me/+2P7cpjeyfDVlZjcy Вакансии t.me/+i5KFWEWJ21hhYWEy
نمایش بیشتر5 505
مشترکین
-324 ساعت
-107 روز
-530 روز
آرشیو پست ها
🤔 Как версионировать плейбуки, если они в одной монорепе?
Используйте ветки или теги в Git для управления версиями плейбуков. Для сложных случаев можно настроить CI/CD pipeline, который будет проверять совместимость изменений.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Есть 1000 разработчиков, каждый создал по 1-2 уникальному приложению, как это все масштабировать?
Если у вас 1000 разработчиков и 2000 сервисов, то без автоматизации не обойтись.
🟠 Kubernetes для контейнеров
Организация:
Каждое приложение → отдельный Pod.
Namespaces → для команд и сред (dev, stage, prod).
Helm → для удобного управления.
Манифест деплоя
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: my-registry.com/my-app:v1
🟠CI/CD для автоматического деплоя
Инструменты: GitLab CI/CD, ArgoCD
stages:
- build
- deploy
build:
script:
- docker build -t my-registry.com/my-app:$CI_COMMIT_SHA .
- docker push my-registry.com/my-app:$CI_COMMIT_SHA
deploy:
script:
- kubectl set image deployment/my-app my-app=my-registry.com/my-app:$CI_COMMIT_SHA
🟠Мониторинг и логирование
Prometheus + Grafana → метрики, алерты
Loki / ELK (Elasticsearch + Kibana) → логи
Запрос ошибок API:
rate(http_requests_total{status="500"}[5m])
🟠Автоматическое масштабирование
Горизонтальный автоскейлинг (HPA)
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: my-app-hpa
spec:
minReplicas: 3
maxReplicas: 10
targetCPUUtilizationPercentage: 70
🟠Service Mesh (Istio) для управления трафиком
Разделение нагрузки между версиями:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
spec:
hosts:
- my-app.example.com
http:
- route:
- destination:
host: my-app
subset: v1
weight: 80
- destination:
host: my-app
subset: v2
weight: 20
🟠Безопасность (RBAC, Network Policies)
Ограничение доступа разработчиков:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: dev-access
subjects:
- kind: User
name: dev-user
roleRef:
kind: Role
name: read-only
apiGroup: rbac.authorization.k8s.io
Ставь 👍 и забирай 📚 Базу знанийСтаньте автором курса «DevOps-инженер облачных сервисов» в Яндекс Практикуме.
Яндекс Практикум — сервис онлайн-образования, где реально освоить востребованную цифровую профессию и найти стабильную работу. А технологии и команда экспертов помогают довести дело до конца.
В этом году мы запускаем онлайн-магистратуру «DevOps-инженер облачных сервисов» совместно с ИТМО и ищем автора для разработки учебного контента.
Автор курса совместно с командой будет адаптировать и разрабатывать конспекты и практические задания, а также улучшать и перерабытывать уже имеющиеся учебные материалы.
Если вы в профессии уже более 3х лет и вы точно знаете «как это должно работать» — добро пожаловать!
Узнайте больше о роли автора.
🤔 LA10 — это хорошо или плохо?
LA10 (Load Average за 10 минут) отражает среднюю загрузку системы. Если LA10 меньше или равно количеству ядер, система справляется, если больше — это признак перегрузки.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Repost from easyoffer
– Помощь с pet-проектом
– Составление roadmap
– Общая консультация
– Проведение код-ревью и mock-собеседования
– Помощь с трудоустройством
Все это и многое другое может Ментор. Он обеспечит вам необходимый boost, ускорит и упростит вход в IT.
🔥 Узнай список топовых менторов
✴ Многие из них предлагают бесплатную первую консультацию
🤔 Какая самая главная питоновская библиотека?
Она идёт в комплекте с Python и включает всё необходимое: работу с файлами, сетью, регулярными выражениями, математикой и т. д.
🚩Примеры важных модулей из `stdlib`
🟠`os`
работа с файловой системой
🟠`sys`
доступ к системным параметрам
🟠`re`
регулярные выражения
🟠`math`
математика
🟠`datetime`
работа с датами
🟠`json`
парсинг JSON
🟠`logging`
логирование
🟠`asyncio`
асинхронность
🟠`http.server`
встроенный HTTP-сервер
Ставь 👍 и забирай 📚 Базу знаний
👉Регистрируйтесь на бесплатный вебинар онлайн-курса «DevOps практики и инструменты» — «Алиса в мире облаков: приключения с Terraform и Ansible»: https://otus.pw/DFkP/
Разберём:
1. Как развернуть облачную инфраструктуру с помощью Terraform и Ansible.
2. В чём заключаются различия Terraform и Ansible, когда и где их применять.
3. Как автоматизировать создание серверов, балансировщиков нагрузки, БД и других ресурсов.
4. Как обеспечить конфигурационное управление и управлять изменениями труда.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
🤔 Насколько плотно приходится взаимодействовать с туллингом разработки (Maven, Gradle)?
Maven и Gradle используются для управления зависимостями, сборки проектов и настройки CI/CD pipeline. Уровень взаимодействия зависит от проекта, но обычно включает настройку профилей, управление плагинами и оптимизацию процесса сборки.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Как linux выбирает, какой из процессов завершить?
Она использует механизм, известный как OOM Killer (убийца процессов при нехватке памяти), для завершения процессов с целью освобождения памяти. Выбор процесса для завершения базируется на ряде критериев, чтобы минимизировать влияние на работу системы.
🚩Как работает OOM Killer?
🟠Очки OOM (OOM Score)
Каждому процессу присваиваются очки OOM, которые рассчитываются на основе нескольких факторов, таких как: Объем памяти, используемой процессом. Приоритет процесса. Важность процесса для системы (например, системные демоны имеют более низкие очки).
🟠Формула расчета OOM Score
Основной фактор при расчете очков - это объем потребляемой процессом памяти. Чем больше памяти потребляет процесс, тем выше его OOM Score. Операционная система также учитывает приоритет процесса (nice value) и некоторые другие параметры.
🟠Принудительное завершение
Процесс с наибольшим OOM Score считается наименее критичным для системы и завершается первым.
🚩Пример расчета OOM Score
🟠Вот пример того, как может быть рассчитан OOM Score (упрощенный)
Процесс A использует 1 ГБ памяти.
Процесс B использует 2 ГБ памяти.
Процесс C использует 500 МБ памяти, но это критический системный процесс.
🟠OOM Score для этих процессов может выглядеть так
Процесс A: 300
Процесс B: 600
Процесс C: 100 (низкий, так как процесс критический)
🚩Настройка OOM Killer
Администраторы могут влиять на работу OOM Killer, настраивая параметры OOM Score для конкретных процессов с помощью файлов в каталоге
/proc. Например, для изменения приоритета процесса:
echo -1000 > /proc/<PID>/oom_score_adj
🚩Логирование и мониторинг
При срабатывании OOM Killer соответствующие сообщения записываются в системный журнал (обычно /var/log/syslog или /var/log/messages), что позволяет администраторам анализировать причины и предпринимать меры по предотвращению в будущем.
Ставь 👍 и забирай 📚 Базу знанийТОП 2 канала для тех кто увлекатеся хакингом и кибербезопасностью:
Этичный Хакер — крупнейший в СНГ канал по информационной безопасности. OSINT, анонимность, пентест, социальная инженерия.
Лаборатория Хакера — авторский канал от специалиста по ИБ. Новости даркнета, сетевая разведка, обзоры инструментов с github, полезные подборки.
Нужен человек, для сбора вопросов из собеседований на должность DevOps.
Что надо делать:
1. Смотреть записи собеседований (список будет дан)
2. Выписывать вопросы, которые задают кандидату
Ставка: 450 руб. / час
Примерная ЗП: 54 000 руб. / месяц (4 часа в день)
Если интересно и можешь уделять работе от 4 часов / день, то отправь сообщение https://t.me/niniafd и сразу напиши какие языки программирования знаешь и какие лучше всего?
🤔 Как обозначить вэлью Git Flow для бизнеса?
Git Flow помогает минимизировать риски внедрения изменений, улучшить процесс разработки и стандартизировать релизный цикл. Это снижает вероятность ошибок и ускоряет вывод новых функций.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Что означают DNS records?
DNS Records – это записи, которые управляют маршрутизацией домена в интернете. Они определяют, куда направлять запросы, какие IP-адреса использовать и какие сервисы подключены к домену.
🚩Примеры использования
A-запись (IP-адрес домена)
example.com. IN A 192.168.1.1
CNAME-запись (псевдоним)
www.example.com. IN CNAME example.com.
MX-запись (почтовый сервер)
example.com. IN MX 10 mail.example.com.
TXT-запись (SPF, верификация)
example.com. IN TXT "v=spf1 include:_spf.google.com ~all"
Ставь 👍 и забирай 📚 Базу знаний🤔 Как реализовать логику CI/CD при работе с Git Flow?
В Git Flow для каждой ветки (feature, develop, release, hotfix) можно настроить отдельные CI/CD pipeline. Например, для ветки develop автоматизируется сборка и тестирование, а для release — развёртывание на staging.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
📺 Уникальная база IT собеседований
456+ реальных собеседований на программиста, тестировщика, аналитика и прочие IT профы.
Есть собесы от ведущих компаний: Сбер, Яндекс, ВТБ, Тинькофф, Озон, Wildberries и т.д.
🎯 Переходи по ссылке и присоединяйся к базе, чтобы прокачать свои шансы на успешное трудоустройство!
🤔 Как дебажить поды в Kubernetes?
Когда под (Pod) не работает или ведёт себя странно, нужно уметь его дебажить.
🟠Проверить статус пода
Сначала смотрим, работает ли под вообще
kubectl get pods
🟠Посмотреть логи контейнера
Если под запустился, но работает странно, смотрим логи:
kubectl logs pod-name
Если в поде несколько контейнеров:
kubectl logs pod-name -c container-name
Если под перезапускается, а нам нужны старые логи:
kubectl logs pod-name --previous
🟠Проверить события (`describe`)
Смотрим подробную информацию о поде:
kubectl describe pod pod-name
🟠Зайти внутрь контейнера (`exec`)
Если под запущен, можно подключиться внутрь и посмотреть файлы, процессы:
kubectl exec -it pod-name -- /bin/sh
Если в контейнере есть только bash:
kubectl exec -it pod-name -- /bin/bash
Полезные команды внутри контейнера:
ps aux # Смотрим запущенные процессы
netstat -tulnp # Проверяем открытые порты
env # Проверяем переменные окружения
cat /etc/resolv.conf # Проверяем DNS
🟠Проверить манифест пода (`get pod -o yaml`)
Если под ведёт себя странно, можно посмотреть его полное описание:
kubectl get pod pod-name -o yaml
🟠Проверить ресурсы (describe node)
Иногда под не запускается из-за нехватки CPU или памяти. Проверяем узел (node):
kubectl describe node node-name
Если проблема с ресурсами, будет что-то вроде:
Warning FailedScheduling insufficient memory🟠Проверить сеть (`nslookup`, `ping`, `curl`) Если под не может достучаться до сервиса, тестируем сеть:
kubectl exec -it pod-name -- nslookup service-name
kubectl exec -it pod-name -- ping 8.8.8.8
kubectl exec -it pod-name -- curl http://service-name:8080
🟠Дебажить с помощью `kubectl debug` (Kubernetes 1.23+)
Если под не стартует, можно запустить дебажный контейнер
kubectl debug pod-name -it --image=busybox
Ставь 👍 и забирай 📚 Базу знанийService mesh: тренд, необходимость или хайп?
Приглашаем обсудить это на бесплатном вебинаре от учебного центра Слёрм.
Что будет на вебинаре:
➡️ посмотрим на service mesh с разных точек зрения: эксплуатации и разработки;
➡️ обсудим, какие преимущества дает service mesh и какие у него особенности;
➡️ определим основные понятия и посмотрим на примеры реализации service mesh.
И еще, кстати, разберём, бесплатен ли service mesh и какова его реальная цена.
Эксперты встречи — спикеры курсов Слёрма:
— Павел Лакосников, TeamLead SLA в Авито
— Георг Гаал, CTO, Aenix
Когда: 19 февраля в 19:00
👉 Занять место на вебинаре — через бота.
Реклама. ООО "СЛЁРМ". ИНН 3652901451.
🤔 Что будет, если остановить Docker контейнер, данные пропадут или нет?
Если данные хранятся в монтированных volume, они сохраняются, даже если контейнер остановлен. Если данные находятся внутри контейнера, они будут потеряны после удаления контейнера.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Какой инструмент нам может помочь в снятии метрик с продукта?
Если вам нужно собирать метрики (нагрузка, ошибки, задержки, бизнес-показатели) с вашего продукта, то вот лучшие инструменты
🟠Prometheus + Grafana
Prometheus – база данных временных рядов (time-series DB) для хранения метрик.
Grafana – мощная визуализация метрик.
Метрики собираются экспортерами (
node_exporter, blackbox_exporter и т. д.).
Данные хранятся в Prometheus.
Grafana показывает красивые графики.
rate(http_requests_total[5m]) # Запросы в секунду за 5 минут
🟠Zabbix
Устанавливается агент на сервер (zabbix-agent). Сервер собирает метрики и генерирует алерты.
Ставь 👍 и забирай 📚 Базу знаний⚡️Вся База по IT в одном месте!
Надоело читать мусорные статьи и бред из ChatGPT? Нам тоже, поэтому мы создали IT Базу Знаний, где вручную отбираем всё самое вкусное из мира IT 🧑💻
🖥 Python: @python_baza
👩💻 Frontend: @frontend_baza
👩💻 Backend: @backend_baza
🎨 Дизайн: @design_baza
📚 Книги: @archive_baza
👩💻 Топ GitHub: @main_it_baza
⏲️ Ссылки на каналы будут доступны ещё 48 часов, успей забрать лучшее из мира IT в Телеге 👌
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
