fa
Feedback
DevOps | Вопросы собесов

DevOps | Вопросы собесов

رفتن به کانال در Telegram

Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @easyoffer_adv

نمایش بیشتر
5 544
مشترکین
-624 ساعت
+27 روز
+3730 روز
آرشیو پست ها
🤔 Из чего состоит worker node? Worker-нода содержит: - kubelet — агент, управляющий подами. - kube-proxy — сетевое взаимодействие и балансировка. - container runtime — Docker, containerd, CRI-O. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как
Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как привлечь целевую аудиторию 💰👌 Попробовать #реклама yandex.ru О рекламодателе

🤔 Есть 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
Ставь 👍 и забирай 📚 Базу знаний

Обучение плиточников с нуля за 30 дней с сертификатом! Школа плиточников Keramaster — это обучение, которое сочетает теорию и
Обучение плиточников с нуля за 30 дней с сертификатом! Школа плиточников Keramaster — это обучение, которое сочетает теорию и практику, создавая высококлассных специалистов. Мы обучаем как новичков, так и опытных мастеров, помогая освоить новые техники укладки плитки и повысить квалификацию. Курс разделён на 3 модуля и включает 120+ часов практики, более 80 уроков и 20+ часов видеоуроков. В конце обучения вы получаете сертификат и можете быть уверены в своих силах. Наши преподаватели — реальные мастера, востребованные на рынке. Помощь в трудоустройство после курса поможем вам начать карьеру плиточника или расширить сферу деятельности. Акции: ✅Скидка 10% при оплате курса целиком ✅Скидка 50% на доступ к закрытому чату мастеров ✅Рассрочка на оплату курса Подать заявку #реклама 16+ keramaster.pro О рекламодателе

🤔 Какие могут быть лимиты у Nginx и со стороны чего? 1. worker_connections: количество соединений на один процесс-воркер. 2. worker_rlimit_nofile: количество открытых файлов. 3. Лимиты ОС: ulimit, параметры ядра (net.core.somaxconn, fs.file-max). 4. Аппаратные ограничения: ресурсы процессора и памяти. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое SLA, SLO, SLI? Эти три термина относятся к управлению надежностью и качеством IT-сервисов. Они помогают определить, измерить и гарантировать уровень обслуживания пользователей. 🚩SLI (Service Level Indicator) – Показатель уровня сервиса SLI – это метрика, которая показывает, насколько хорошо работает сервис. - Доступность (например, uptime 99.9%) - Время ответа API (например, менее 200 мс) - Ошибки запросов (например, не более 1% 5xx ошибок) 🚩SLO (Service Level Objective) – Целевой уровень сервиса SLO – это цель, которую компания ставит для SLI. Доступность 99.9% сервиса в месяц. Среднее время ответа API ≤ 200 мс. 🚩SLA (Service Level Agreement) – Соглашение об уровне сервиса SLA – это официальное соглашение между клиентом и провайдером сервиса, которое описывает обязательства и штрафы за их невыполнение. - Если доступность меньше 99.9%, клиент получает возврат денег. - Если среднее время ответа API больше 500 мс, клиент получает скидку. 🚩Как они связаны? SLI (метрика) → измеряет, насколько хорош сервис. SLO (цель) → устанавливает, каким должен быть сервис. SLA (договор) → фиксирует обязательства и штрафы. Ставь 👍 и забирай 📚 Базу знаний

Подключите высокоскоростной интернет в офис от МегаФона Доступ в интернет для компаний с выделенным каналом на высоких скорос
Подключите высокоскоростной интернет в офис от МегаФона Доступ в интернет для компаний с выделенным каналом на высоких скоростях — до 10 Гбит/с — Собственные дата-центры и оборудование ведущих мировых производителей обеспечивают бесперебойную связь — Высокая скорость передачи данных благодаря собственной магистральной IP/MPLS-сети МегаФона. Общая пропускная способность — более 1000 Гбит/с — Архив 180 дней (хранение записи в облаке до 180 дней) — Постоянный безлимитный интернет в любой точке России Перейти на сайт #реклама megafon.ru О рекламодателе

🤔 Есть плейбук Ansible для одного пользователя. Как завести десятки? - Заменить одного пользователя на список (массив). - Пройтись по нему с помощью with_items или loop. - Данные можно хранить в переменной или в отдельном файле YAML с массивом пользователей. Таким образом, минимальные изменения: обобщение задачи и использование цикла. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое acl в linux? ACL (Access Control List) – это механизм расширенных прав доступа в Linux, который позволяет задавать более гибкие разрешения для файлов и директорий, чем стандартные chmod и chown. Позволяет назначать дополнительные права для отдельных пользователей и групп Упрощает гранулярный контроль доступа Работает поверх стандартных прав (rwx) 🚩Проверка поддержки ACL Убедимся, что файловая система поддерживает ACL
mount | grep acl
Если ACL не включен, монтируем с поддержкой ACL
mount -o remount,acl /home
🚩Проверка текущих ACL-прав Команда getfacl показывает текущие ACL для файла или папки
getfacl myfile.txt
Пример вывода
# file: myfile.txt
# owner: user1
# group: users
user::rw-
user:john:r--
group::r--
mask::r--
other::---
🚩Добавление новых ACL-прав (`setfacl`) Разрешить пользователю john запись (rw) в myfile.txt
setfacl -m u:john:rw myfile.txt
Разрешить группе developers выполнение (x)
setfacl -m g:developers:x myfile.txt
Дать всем (other) полный доступ (rwx)
setfacl -m o::rwx myfile.txt
Назначить по умолчанию права для всех новых файлов в папке project/
setfacl -d -m u:john:rwx project/
🚩Удаление ACL-прав Удалить ACL для пользователя john
setfacl -x u:john myfile.txt
Очистить все ACL-права файла
setfacl -b myfile.txt
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что мы можем делать с помощью ArgoCD? - Доставлять Kubernetes-манифесты из Git; - Отслеживать дрифт и синхронизацию; - Обновлять Helm-чарты; - Делать rollback и promote версий; - Настраивать RBAC и уведомления. Это ключевой инструмент GitOps в Kubernetes. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как версионируете чарты? Helm-чарты должны быть версионированы, чтобы отслеживать изменения и управлять развертываниями. Версии чарта (Chart.yaml) Версии приложения (appVersion) Репозиторий Helm (helm repo) Git-теги и CI/CD 🚩Версия чарта (`Chart.yaml`) Каждый Helm-чарт содержит Chart.yaml, где указывается версия чарта.
yaml  
apiVersion: v2  
name: my-app  
description: Helm chart for my application  
version: 1.2.3  
appVersion: 2.0.1  
🚩Хранение и обновление чарта в репозитории Helm Helm-чарты можно хранить в локальном или удаленном репозитории.
sh  
helm package my-chart/  
Обновить индекс в репозитории
sh  
helm repo index .  
Добавить новый чарт в Helm-репозиторий
sh  
helm repo add my-repo https://charts.example.com  
helm push my-app-1.2.3.tgz my-repo  
🚩Автоматическое версионирование через Git и CI/CD Обычно чарты хранятся в Git, и версии обновляются автоматически через CI/CD. Пример автоматического увеличения версии (version) в Chart.yaml через helm/chart-releaser-action
yaml  
name: Release Helm Chart  

on:  
  push:  
    tags:  
      - 'v*'  

jobs:  
  release:  
    runs-on: ubuntu-latest  
    steps:  
      - name: Checkout repo  
        uses: actions/checkout@v3  

      - name: Set up Helm  
        uses: azure/setup-helm@v3  
        with:  
          version: 'latest'  

      - name: Package Helm Chart  
        run: helm package my-chart/  

      - name: Upload to Helm Repo  
        uses: helm/chart-releaser-action@v1  
🚩Как установить конкретную версию чарта? Чтобы развернуть определенную версию Helm-чарта, указываем --version
sh  
helm install my-app my-repo/my-app --version 1.2.3  
Или обновить до новой версии:
sh  
helm upgrade my-app my-repo/my-app --version 1.2.4
Ставь 👍 и забирай 📚 Базу знаний

Ищу желающих выполнять задачи с помощью ИИ! Работа полностью на удаленке с зп до 150 000 рублей в месяц. Без опыта, нужен тол
Ищу желающих выполнять задачи с помощью ИИ! Работа полностью на удаленке с зп до 150 000 рублей в месяц. Без опыта, нужен только телефон, занятость 3-6 часов в день. Всему обучат на бесплатном курсе и после возьму на работу: ✅ 3 дня уроков по 30 минут ✅ Домашки с проверкой и оплатой бонусами ✅ Плачу 10 тыс за каждую выполненную домашку Все кто пройдет курс, получат сертификат от школы с образовательной лицензией. ⚡ Набор заканчивается завтра. 👍 Для регистрации жмите кнопку "Зарегистрироваться": Зарегистрироваться #реклама 16+ ganstaagency.com О рекламодателе

🤔 Как работает memory swap? Параметр memory swap в Docker ограничивает общее количество памяти (оперативной + swap), которую может использовать контейнер. Если задать memory и memory-swap, то swap = memory-swap - memory. Если memory-swap равен memory, то контейнер не сможет использовать swap. Если memory-swap не задан, контейнер может использовать неограниченное количество swap. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какие коды ответа мы получаем от веб-сервера? Коды ответа (HTTP status codes) от веб-сервера представляют собой числовые коды, которые отправляются клиенту (обычно веб-браузеру) в ответ на его запрос. Эти коды помогают клиенту понять, что произошло с его запросом: был ли он успешен, произошла ли ошибка, требуется ли дополнительное действие и т.д. 🚩HTTP-коды ответа разделены на пять основных категорий: 🟠1xx (Информационные): Запрос принят, продолжается обработка. 100 Continue: Сервер получил начальную часть запроса, и клиент должен продолжать. 101 Switching Protocols: Сервер принимает запрос на изменение протокола. 🟠2xx (Успех): Запрос успешно обработан. 200 OK: Запрос успешно обработан, и сервер возвращает запрошенные данные. 201 Created: Запрос успешно выполнен, и в результате создан новый ресурс. 202 Accepted: Запрос принят для обработки, но обработка еще не завершена. 204 No Content: Запрос успешно выполнен, но сервер не возвращает никакого содержимого. 🟠3xx (Перенаправление): Для завершения обработки запроса требуется дальнейшее действие со стороны клиента. 301 Moved Permanently: Запрашиваемый ресурс был перемещен на новый постоянный URL. 302 Found: Запрашиваемый ресурс временно доступен по другому URL. 304 Not Modified: Запрашиваемый ресурс не изменился со времени последнего доступа (кэширование). 307 Temporary Redirect: Запрашиваемый ресурс временно доступен по другому URL. Клиент должен использовать исходный метод для нового запроса. 🟠4xx (Ошибка клиента): Ошибка в запросе клиента. 400 Bad Request: Сервер не может обработать запрос из-за неверного синтаксиса. 401 Unauthorized: Запрос требует аутентификации. 403 Forbidden: Сервер понял запрос, но отказывается его выполнять. 404 Not Found: Запрашиваемый ресурс не найден на сервере. 405 Method Not Allowed: Метод, указанный в запросе, не разрешен для запрашиваемого ресурса. 409 Conflict: Запрос не может быть выполнен из-за конфликта с текущим состоянием ресурса. 🟠5xx (Ошибка сервера): Ошибка на стороне сервера при попытке обработки запроса. 500 Internal Server Error: Общая ошибка сервера. Сервер не может выполнить запрос. 501 Not Implemented: Сервер не поддерживает функциональность, необходимую для выполнения запроса. 502 Bad Gateway: Сервер, действуя как шлюз или прокси, получил неверный ответ от вышестоящего сервера. 503 Service Unavailable: Сервер временно недоступен, обычно из-за перегрузки или технического обслуживания. 504 Gateway Timeout: Сервер, действуя как шлюз или прокси, не дождался ответа от вышестоящего сервера. Ставь 👍 и забирай 📚 Базу знаний

MTC Engineer Hack — хакатон на стыке инженерии и ИТ от МТС. Реши технический кейс онлайн и получи приглашение в финал, где см
MTC Engineer Hack — хакатон на стыке инженерии и ИТ от МТС. Реши технический кейс онлайн и получи приглашение в финал, где сможешь познакомиться с экспертами МТС и выиграть мерч. 12 победителей разделят призовой фонд в 500 000 рублей. 📎 Зарегистрироваться: ссылка 🎯 Для кого: студенты и молодые инженеры в областях DevOps, аппаратной разработки, радиоинженерии, сетевых технологий. 💻 Формат: онлайн-тур + офлайн-финал в Москве 👤 Участие: индивидуальное Приглашаем всех, кто интересуется телеком-отраслью, хочет прокачать навыки в инженерии и попробовать себя в задачах МТС. Будет отлично, если ты владеешь одним из навыков: → разбираешься в сотовых сетях и оборудовании базовых станций; → умеешь работать с данными и статистикой; → знаком с LTE/NR и схемотехникой; → интересуешься цифровой обработкой сигналов; → понимаешь маршрутизацию и пишешь скрипты для сетевого оборудования. C 3 по 5 октября пройдёт онлайн-этап: участники готовят кейс по своему профилю. 11 октября — встреча финалистов на площадке, где эксперты компании помогут разобраться в деталях и дадут советы по доработке решений. Что тебя ждёт: 🔺 Задачи, близкие к реальной работе инженеров МТС: от проектирования до оптимизации сетей. 🔺 Возможность показать экспертам свои решения и получить обратную связь. 🔺 Практика, которая позволит почувствовать себя частью технологической команды МТС. 🔺 Офлайн-финал в Москве: живое общение, защита проектов и Tech Corner с Arduino и роботами. Билеты и проживание оплатят организаторы. Регистрация открыта до 1 октября включительно: https://cnrlink.com/mtsengineerhackeasydev

🤔 Как различается работа Prometheus и Zabbix? Prometheus — это pull-based система: сам забирает метрики. Zabbix — чаще push-based, через агента. Prometheus легче в интеграции с Kubernetes, облаками, микросервисами. Zabbix — удобен для классической инфраструктуры и Windows-машин. Prometheus масштабируется горизонтально, Zabbix — вертикально. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Чем firewall отличается от iptables? Firewall (брандмауэр) — это общее понятие, означающее систему фильтрации сетевого трафика. iptables — это конкретный инструмент (утилита) для управления брандмауэром в Linux. 🚩Что такое firewall? Firewall (брандмауэр) — это система фильтрации трафика, которая пропускает или блокирует пакеты на основе правил. Аппаратным (Cisco ASA, FortiGate, Palo Alto). Программным (UFW, firewalld, iptables). Облачным (AWS Security Groups, Azure Firewall). 🚩Что такое iptables? iptables — это утилита для настройки брандмауэра в Linux. Ключевая особенность: iptables работает на основе **таблиц и цепочек правил. Пример команды iptables
iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # Разрешить SSH (22 порт)
iptables -A INPUT -p tcp --dport 80 -j DROP    # Заблокировать HTTP (80 порт)
Ставь 👍 и забирай 📚 Базу знаний

🤔 Экспортеры в Prometheus? Экспортеры — это компоненты, которые собирают метрики с внешних систем и преобразуют их в формат, совместимый с Prometheus. Например, node_exporter для метрик узлов, blackbox_exporter для проверки доступности сервисов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что сейчас больше используется ингресс класс в ингрессе или указывается ингресс контроллер непосредственно в апликейшене? Сейчас стандартом является использование ingressClassName, а аннотации kubernetes.io/ingress.class считаются устаревшими (deprecated). 🚩Что лучше использовать? 🟠`ingressClassName` (новый метод, Kubernetes 1.19+) Современный, удобный, поддерживается официально Работает с IngressClass ресурсами Можно управлять через CRD (IngressClass) 🟠Аннотация `kubernetes.io/ingress.class` (старый метод, deprecated с 1.18) Все еще работает, но устарела Нельзя контролировать IngressClass через CRD 🚩Как правильно указывать `ingressClassName`? 1⃣Настраиваем IngressClass (если нужно)
yaml  
apiVersion: networking.k8s.io/v1  
kind: IngressClass  
metadata:  
  name: nginx  
spec:  
  controller: k8s.io/ingress-nginx  
2⃣Используем ingressClassName в Ingress
yaml  
apiVersion: networking.k8s.io/v1  
kind: Ingress  
metadata:  
  name: my-ingress  
spec:  
  ingressClassName: nginx  
  rules:  
  - host: example.com  
    http:  
      paths:  
      - path: /  
        pathType: Prefix  
        backend:  
          service:  
            name: my-service  
            port:  
              number: 80  
🚩Старый способ (не рекомендуется, но все еще встречается) Раньше использовали аннотацию kubernetes.io/ingress.class
yaml  
apiVersion: networking.k8s.io/v1  
kind: Ingress  
metadata:  
  name: my-ingress  
  annotations:  
    kubernetes.io/ingress.class: "nginx"  
spec:  
  rules:  
  - host: example.com  
    http:  
      paths:  
      - path: /  
        pathType: Prefix  
        backend:  
          service:  
            name: my-service  
            port:  
              number: 80
Ставь 👍 и забирай 📚 Базу знаний