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

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

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish
5 543
Obunachilar
+224 soatlar
+97 kunlar
+4430 kunlar
Postlar arxiv
Бесплатный курс по дизайну: веб, графический и UX/UI Научись создавать дизайн сайтов и приложений, инфографику для карточек н
Бесплатный курс по дизайну: веб, графический и UX/UI Научись создавать дизайн сайтов и приложений, инфографику для карточек на маркетплейсах и работать в Figma! Студенты курса в среднем зарабатывают от 68 000 ₽ уже во время обучения💰 Этот курс для тебя, если ты: ✅ мечтаешь о новой профессии в digital, но не знаешь, с чего начать; ✅ чувствуешь, что хочешь большего — свободы, самореализации, творчества; ✅ полный новичок и хочешь систему, а не хаос; ✅ хочешь начать зарабатывать удалённо. Зарегистрироваться #реклама 16+ ydaev.ru О рекламодателе

🤔 Что такое императивный подход? Императивный подход — это пошаговое описание того, что делать. Скрипт задаёт последовательность инструкций: "установи пакет", "создай файл", "перезапусти службу". Контроль полностью в руках разработчика. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Реклама для бизнеса любого уровня в Яндекс Директе Создайте эффективную рекламную кампанию с алгоритмами Яндекс Директа 👌 На
Реклама для бизнеса любого уровня в Яндекс Директе Создайте эффективную рекламную кампанию с алгоритмами Яндекс Директа 👌 Начните прямо сейчас ⚡ Зарегистрироваться #реклама direct.yandex.ru О рекламодателе

🤔 В каких случаях используется multi stage? Multi-stage (многоэтапная сборка) — это метод создания Docker-образов, позволяющий уменьшить их размер и повысить безопасность. 🚩Когда используется? 🟠Оптимизация размера образа удаляем ненужные зависимости из финального образа. 🟠Безопасность не включаем инструменты сборки в рабочий контейнер. 🟠Скорость деплоя меньший образ быстрее скачивается и запускается. 🟠Кросс-компиляция собираем приложение в одном окружении, а запускаем в другом. 🚩Пример использования Multi-stage в Docker Допустим, у нас есть приложение на Go. Мы сначала компилируем его в одном контейнере, а затем создаем минимальный образ для запуска.
# Этап 1: сборка
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# Этап 2: минимальный образ для запуска
FROM alpine:latest
WORKDIR /root/
COPY --from=builder /app/myapp .
CMD ["./myapp"]
🚩Использование в React / Angular / Vue При сборке фронтенда мы можем сначала установить зависимости и собрать проект, а затем развернуть его на nginx.
# Этап 1: сборка приложения
FROM node:18 AS builder
WORKDIR /app
COPY package.json ./
RUN npm install
COPY . .
RUN npm run build

# Этап 2: деплой на nginx
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
CMD ["nginx", "-g", "daemon off;"]
Ставь 👍 и забирай 📚 Базу знаний

Курс "Дизайн карточек для WB и Ozon". Бесплатно и с нуля Дизайнер карточек для маркетплейсов — востребованная и доходная проф
Курс "Дизайн карточек для WB и Ozon". Бесплатно и с нуля Дизайнер карточек для маркетплейсов — востребованная и доходная профессия 💰 Научись ей бесплатно! - Бесплатный доступ - Разбор ДЗ от наставника - Мощные кейсы в портфолио Узнать больше #реклама 16+ yudaevschool24.online О рекламодателе

🤔 Чем проводить процедуру траблшутинга? Процедура траблшутинга проводится с помощью логов (journalctl, kubectl logs), мониторинга (Prometheus, Grafana), сетевых утилит (netstat, tcpdump, nmap), профилировщиков (htop, top, iotop) и инструментов трассировки (strace, lsof). Также полезны APM-системы и средства централизованного логирования (ELK, Loki). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Квартиры Prime-класса в Краснодаре. 2 часа до моря ЖК "Гарантия PRIME" в Краснодаре — тёплый климат и чистый воздух, лес и на
Квартиры Prime-класса в Краснодаре. 2 часа до моря ЖК "Гарантия PRIME" в Краснодаре — тёплый климат и чистый воздух, лес и набережная в двух шагах. Всего 2 часа до пляжей Чёрного моря и 4 часа до склонов Красной Поляны. Авторский двор-сад с фонтанами, лаунж-зонами, японским двориком и многообразием растений. ✅ Река и заповедная зелёная зона у дома; ✅ Панорамные и витражные окна; ✅ Гастрономический кластер и Арт-пространство; ✅ Образовательный кластер; ✅ Деловой хаб и офисы резидентов. Во дворе детский сад, международная школа, бизнес-школа с бакалавриатом, филиал школы-лицея. КубГУ — всего в 2,5 км от дома. Все условия для развития вас и ваших детей по международным стандартам. Деловой хаб. Вы можете работать в Зелёном коворкинге и проводить встречи на Винной террасе. Ваша личная резиденция на Юге! Узнать больше Проектная декларация на сайте https://наш.дом.рф/. #реклама gk-garantiaprime.ru О рекламодателе

🤔 Как дебажить поды в 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
Ставь 👍 и забирай 📚 Базу знаний

Стажировки и вакансии для DevOps - Вакансии которых нет на джоб-агрегаторах - Только прямые контакты HR в Telegram 👉 @jobs_d
Стажировки и вакансии для DevOps - Вакансии которых нет на джоб-агрегаторах - Только прямые контакты HR в Telegram 👉 @jobs_devops Пока другие листают джоб-сайты — ты уже пишешь HR в Telegram.

Новый выгодный тариф "Первый мобильный" от Ростелекома. В него включено только самое нужное: 100 ГБ, 1000 минут и 1000 SMS всего за 300 рублей в месяц. Стоимость фиксируется до конца 2027 года, а номер останется с вами навсегда. Подключайтесь онлайн с бесплатной доставкой SIM-карты. Подать заявку #реклама rt.ru О рекламодателе

🤔 Что известно про workflow GitLab? GitLab CI/CD workflow — это последовательность стадий (stages) и заданий (jobs), определённых в .gitlab-ci.yml. Стадии выполняются последовательно: build → test → deploy. Jobs могут выполняться параллельно внутри одной стадии. Также можно использовать правила (rules), переменные (env), артефакты и условия запуска. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какие микросервисы можно масштабировать горизонтально? Горизонтальное масштабирование – это добавление новых экземпляров (реплик) сервиса для увеличения производительности. Оно хорошо работает для статeless (без состояния) микросервисов, где нет привязки к конкретному серверу. 🚩Какие микросервисы можно масштабировать горизонтально? 🟠Веб-серверы и API-шлюзы Примеры: Nginx, Traefik, Kong, API Gateway (AWS, GCP) Почему можно масштабировать? - Обрабатывают независимые запросы - Не требуют сохранения состояния между запросами - Легко распределяются через Load Balancer
yaml  
apiVersion: apps/v1  
kind: Deployment  
metadata:  
  name: my-api  
spec:  
  replicas: 5  
  selector:  
    matchLabels:  
      app: my-api  
  template:  
    metadata:  
      labels:  
        app: my-api  
    spec:  
      containers:  
      - name: api-container  
        image: my-api:latest  
🟠Backend-сервисы (Stateless) Примеры: REST API (FastAPI, Express, Spring Boot), gRPC-сервисы Почему можно масштабировать? Каждый запрос обрабатывается независимо Нет привязки к конкретному серверу Можно использовать Load Balancer (например, AWS ALB, Nginx)
nginx  
upstream backend {  
  server backend1:5000;  
  server backend2:5000;  
  server backend3:5000;  
}  
server {  
  listen 80;  
  location / {  
    proxy_pass http://backend;  
  }  
}  
🟠Очереди сообщений и брокеры событий Примеры: RabbitMQ, Kafka, NATS, Redis Streams Почему можно масштабировать? Сообщения разбираются разными нодами Можно увеличивать число консьюмеров Поддерживают partitioning (разделение нагрузки)
python  
from kafka import KafkaConsumer  
consumer = KafkaConsumer('my_topic', group_id='workers', bootstrap_servers='kafka:9092')  
for message in consumer:  
    process_message(message)  
🟠Кэш-сервисы (Stateless) Примеры: Redis (в режиме Cluster), Memcached Почему можно масштабировать? Каждый узел хранит часть данных Можно распределять кэш по нескольким инстансам Redis поддерживает Sharding (разбиение данных на ноды)
sh  
redis-cli --cluster create 192.168.1.1:6379 192.168.1.2:6379 192.168.1.3:6379 --cluster-replicas 1  
🚩Какие микросервисы **нельзя просто так масштабировать горизонтально?** Некоторые сервисы сохраняют состояние (stateful) и сложны в горизонтальном масштабировании: Базы данных → MySQL, PostgreSQL (нужны реплики или шардирование) Сервисы с сессиями → Например, если пользователь всегда должен попасть на тот же сервер Хранилища файлов → Например, локальное хранение логов на сервере Ставь 👍 и забирай 📚 Базу знаний

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

🤔 Как экспортёры отдают метрики? Экспортёры собирают метрики из сервисов или ОС и предоставляют их по HTTP в формате, который Prometheus может опрашивать. Они работают по модели pull, где Prometheus забирает данные сам. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

📺 База 1000+ реальных собеседований На программиста, тестировщика, аналитика, проджекта и другие IT профы. Есть собесы от ведущих компаний: Сбер, Яндекс, ВТБ, Тинькофф, Озон, Wildberries и т.д. 🎯 Переходи по ссылке и присоединяйся к базе, чтобы прокачать свои шансы на успешное трудоустройство!

🤔 Как бы вы настроили уведомления для сервисов которые находятся без интернета полностью локализованы закрыты от всего извне? Для настройки уведомлений в изолированной сети без доступа к интернету используйте локальные инструменты и системы. Основные методы включают локальные почтовые серверы, мессенджеры и системы управления инцидентами. 🚩Локальный почтовый сервер (SMTP) 1⃣Установка
sudo apt update
sudo apt install postfix   
2⃣Настройка Отредактируйте /etc/postfix/main.cf
myhostname = local.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
relay_domains = $mydestination   
3⃣Перезапуск Postfix
sudo systemctl restart postfix   
4⃣Проверка
echo "Test email" | mail -s "Test Subject" user@example.com
🚩Локальный мессенджер (Mattermost) 1⃣Установка Mattermost Следуйте [документации](https://docs.mattermost.com/install/self-managed-install.html). 2⃣Настройка Создайте каналы и пользователей. 3⃣Интеграция с мониторингом Используйте веб-хуки Mattermost для уведомлений. 🚩Системы управления инцидентами (Zabbix) 1⃣Установка Zabbix Следуйте [документации](https://www.zabbix.com/download). 2⃣Настройка Настройте хосты, триггеры и действия. 3⃣Настройка уведомлений Медиатипы: Настройте Email и SMS. Пользователи: Создайте пользователей и уведомления. 🚩Локальный стек мониторинга (Prometheus, Alertmanager) 1⃣Установка Prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.26.0/prometheus-2.26.0.linux-amd64.tar.gz
tar xvf prometheus-2.26.0.linux-amd64.tar.gz
cd prometheus-2.26.0.linux-amd64
./prometheus --config.file=prometheus.yml   
2⃣Установка Alertmanager
wget https://github.com/prometheus/alertmanager/releases/download/v0.21.0/alertmanager-0.21.0.linux-amd64.tar.gz
tar xvf alertmanager-0.21.0.linux-amd64.tar.gz
cd alertmanager-0.21.0.linux-amd64
./alertmanager --config.file=alertmanager.yml   
3⃣Настройка алертинга в Prometheus
groups:
  - name: example-alerts
    rules:
      - alert: HighCPUUsage
        expr: avg_over_time(node_cpu_seconds_total{mode="idle"}[5m]) < 20
        for: 2m
        labels:
          severity: critical
        annotations:
          summary: "High CPU usage detected"
          description: "CPU usage is above 80% for more than 2 minutes"   
4⃣Настройка Alertmanager
global:
  smtp_smarthost: 'localhost:25'
  smtp_from: 'alertmanager@local.example.com'
route:
  receiver: 'email-notifications'
receivers:
  - name: 'email-notifications'
    email_configs:
      - to: 'admin@local.example.com'
        send_resolved: true
Ставь 👍 и забирай 📚 Базу знаний

Надежные VDS-сервера в NetAngels от 73₽/месяц Подберем мощные VDS-сервер для любых задач. Техподдержка 24/7. Защита от DDoS-а
Надежные VDS-сервера в NetAngels от 73₽/месяц Подберем мощные VDS-сервер для любых задач. Техподдержка 24/7. Защита от DDoS-атак. Гибкая конфигурация. Бесплатный перенос VDS с сохранением всех данных. Выбери тариф под свои задачи: Старт (Для низкой нагрузки: хранение файлов, раздача статики и простые веб-проекты) Оптима (NVMe-диски для высокой скорости и баланс цены и производительности) Турбо (Элитный VDS на базе топового оборудования с высокочастотными процессорами) Про (Мощный VDS с гарантированными ресурсами для масштабных проектов) ТурбоПро (VDS уровня enterprise с гарантированными ядрами и высокочастотными процессорами) Ультра (Высокопроизводительный VDS для ресурсоемких проектов и корпоративных систем. В тариф включена поддержка GPU) Попробуйте VDS-сервер от NetAngels! Перейти на сайт #реклама 16+ netangels.ru О рекламодателе

🤔 Из чего состоит worker node? Worker-нода содержит: - kubelet — агент, управляющий подами. - kube-proxy — сетевое взаимодействие и балансировка. - container runtime — Docker, containerd, CRI-O. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое debezium? Она позволяет отслеживать изменения в базах данных (INSERT, UPDATE, DELETE) в реальном времени и передавать их в Kafka, Elasticsearch, MongoDB и другие системы. 🚩Как работает Debezium? Подключается к базе данных (PostgreSQL, MySQL, MongoDB, Oracle и др.). Слушает лог изменений (binlog, WAL, oplog и т. д.) Формирует события в формате JSON Передаёт их в Kafka или другую шину данных. 🚩Где используется? Синхронизация данных между базами Репликация данных в реальном времени Отправка изменений в аналитические системы (Elasticsearch, ClickHouse) Аудит и логирование изменений 🟠Пример работы с Kafka Запускаем Debezium Connector для PostgreSQL*
{
  "name": "inventory-connector",
  "config": {
    "connector.class": "io.debezium.connector.postgresql.PostgresConnector",
    "database.hostname": "localhost",
    "database.port": "5432",
    "database.user": "debezium",
    "database.password": "dbz",
    "database.dbname": "inventory",
    "database.server.name": "dbserver1"
  }
}
При изменении данных в таблице, Kafka получит событие:
{
  "schema": { ... },
  "payload": {
    "before": { "id": 1, "name": "Old Name" },
    "after": { "id": 1, "name": "New Name" },
    "op": "u"  // Update
  }
}
Ставь 👍 и забирай 📚 Базу знаний

🤔 Когда выполняются факты в Ansible? Факты (facts) — это информация о целевой машине (ОС, IP, пакеты и т.д.). Они собираются в начале каждого play, если включено gather_facts: true (по умолчанию включено). Также можно собирать их вручную через модуль setup. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний