DevOps | Вопросы собесов
Kanalga Telegram’da o‘tish
Cайт easyoffer.ru Реклама @easyoffer_adv ВП @easyoffer_vp Тесты t.me/+2P7cpjeyfDVlZjcy Вакансии t.me/+i5KFWEWJ21hhYWEy
Ko'proq ko'rsatish5 510
Obunachilar
-324 soatlar
-77 kunlar
-530 kunlar
Postlar arxiv
🤔 Какие DNS records есть?
Основные:
- A — IP-адрес (IPv4);
- AAAA — IP-адрес (IPv6);
- CNAME — псевдоним (редирект на другой домен);
- MX — почтовый сервер;
- TXT — текстовая информация (часто SPF, DKIM);
- NS — сервера имен;
- SRV — служебные записи для сервисов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Можно ли на лету изменить настройки dns контейнре через cli?
Нет, нельзя изменить DNS у уже запущенного контейнера напрямую через CLI. Но есть обходные способы!
🚩Остановка и перезапуск контейнера с новыми DNS
Самый надежный способ — перезапустить контейнер с нужными DNS-серверами
docker run --dns 8.8.8.8 --dns 8.8.4.4 -d my_container
Или задать DNS через docker network
docker network create mynet --dns=1.1.1.1
docker run --net=mynet -d my_container
🚩Изменение `/etc/resolv.conf` внутри контейнера (может сработать)
Можно изменить DNS вручную внутри работающего контейнера
docker exec -it my_container sh
echo "nameserver 1.1.1.1" > /etc/resolv.conf
🚩Использование `network connect` (только для user-defined сетей)
Можно подключить контейнер к другой сети с нужными DNS:
docker network create mynewnet --dns=8.8.8.8
docker network connect mynewnet my_container
🚩Изменение настроек `systemd-resolved` (для контейнеров с `host`-сетью)
Если контейнер использует сеть хоста (--network host), можно поменять DNS на хосте:
resolvectl dns eth0 8.8.8.8
Ставь 👍 и забирай 📚 Базу знанийSolaris KRX у оф. дилера с первоначальным взносом от 0%
Хэтчбек Solaris KRX - комфортный автомобиль со встроенной телематикой и автозапуском.
В кредит от производителя на выгодных условиях!
✨Низкая процентная ставка
✨Срок от 1 до 8 лет
✨Оформление без визита в банк
Успейте приобрести Solaris KRX до повышения цен. Бронируйте сейчас!
Получить предложение
Изучите все условия кредита (займа) на сайте в соответствующем разделе. Оценивайте свои финансовые возможности и риски. Финансовые услуги оказывает: ПАО "Совкомбанк", АО "Альфа-Банк".
#реклама
solaris.auto
О рекламодателе
🤔 Из чего состоит control plane в Kubernetes?
- Control Plane включает:
- kube-apiserver — входная точка API.
- etcd — хранилище состояния кластера.
- controller-manager — следит за desired state.
- scheduler — определяет, где запускать поды.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Как AWS работает с DevOps?
AWS предоставляет облачные сервисы для автоматизации CI/CD, управления инфраструктурой, мониторинга и безопасности.
🚩CI/CD (Непрерывная интеграция и развертывание)
AWS предлагает инструменты для автоматической сборки, тестирования и деплоя.
AWS CodePipeline – автоматизация CI/CD-процессов
AWS CodeBuild – сборка и тестирование кода
AWS CodeDeploy – автоматический деплой в EC2, ECS, Lambda
AWS CodeCommit – репозиторий Git в AWS
Пример CI/CD-пайплайна в AWS CodePipeline
1. CodeCommit получает новый коммит
2. CodeBuild собирает и тестирует код
3. CodeDeploy разворачивает приложение на EC2
🚩Управление инфраструктурой (IaC)
В DevOps важно автоматически создавать и управлять ресурсами AWS.
Terraform – создает инфраструктуру по коду
AWS CloudFormation – аналог Terraform от AWS
AWS CDK (Cloud Development Kit) – IaC на Python/TypeScript
hcl
resource "aws_instance" "web" {
ami = "ami-123456"
instance_type = "t2.micro"
}
🚩Контейнеризация и оркестрация
AWS поддерживает управление контейнерами и Kubernetes.
Amazon ECS (Elastic Container Service) – контейнеры без Kubernetes
Amazon EKS (Elastic Kubernetes Service) – управляемый Kubernetes
AWS Fargate – запуск контейнеров без управления серверами
Пример развертывания контейнера в AWS ECS:
1. Собираем Docker-образ
2. Загружаем его в Amazon ECR (Elastic Container Registry)
3. ECS автоматически масштабирует и управляет контейнерами
🚩Мониторинг и логирование
Amazon CloudWatch – сбор метрик и логов
AWS X-Ray – трассировка запросов в микросервисах
AWS CloudTrail – аудит действий в AWS
Пример мониторинга EC2
1. CloudWatch собирает метрики CPU, RAM
2. Настраиваем авто-масштабирование на основе этих метрик
3. CloudTrail записывает все изменения инфраструктуры
🚩Безопасность и управление доступом
AWS IAM (Identity and Access Management) – контроль прав
AWS Secrets Manager – управление паролями и API-ключами
AWS KMS (Key Management Service) – шифрование данных
hcl
resource "aws_iam_role" "s3_read" {
name = "s3-read-only"
assume_role_policy = jsonencode({
Statement = [{
Effect = "Allow"
Action = "s3:GetObject"
Resource = "arn:aws:s3:::my-bucket/*"
}]
})
}
Ставь 👍 и забирай 📚 Базу знаний🤔 Что такое Redis и для чего он нужен?
Redis — это in-memory хранилище данных типа ключ-значение. Используется как:
- кэш,
- брокер сообщений (Pub/Sub),
- счётчики,
- очереди,
- сессионное хранилище,
- блокировки и семафоры.
Он хранит данные в памяти, с возможностью сброса на диск (RDB, AOF), что делает его молниеносным.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Что нужно сделать чтобы после того как вы создали репозиторий с этим репозиторием можно было работать?
После создания нового репозитория, будь то локальный или удаленный, необходимо выполнить несколько шагов для начала полноценной работы с ним. Эти шаги включают инициализацию репозитория, настройку удаленного репозитория, добавление файлов, коммит и настройку синхронизации с удаленным репозиторием.
🚩Основные шаги
1⃣Создание нового репозитория
Перейдите на GitHub и войдите в свой аккаунт. Нажмите на кнопку "New" для создания нового репозитория. Введите имя репозитория, описание (опционально), выберите публичный или приватный доступ, инициализируйте с README (если нужно). Нажмите "Create repository".
2⃣Клонирование или инициализация репозитория
Если репозиторий уже существует на GitHub
git clone https://github.com/yourusername/your-repository.git
cd your-repository
Если вы создаете новый локальный репозиторий
mkdir your-repository
cd your-repository
git init
3⃣Добавление файлов и коммит начального состояния
Создайте или добавьте файлы
echo "# Your Repository" > README.md
Добавьте файлы в индекс
git add README.md
Сделайте первый коммит
git commit -m "Initial commit"
4⃣Настройка удаленного репозитория
Если вы инициализировали локальный репозиторий, вам нужно настроить удаленный репозиторий.
git remote add origin https://github.com/yourusername/your-repository.git
5⃣Пуш изменений в удаленный репозиторий
Отправьте ваши изменения в удаленный репозиторий
git push -u origin master
🚩Дополнительные шаги для совместной работы
1⃣Создание веток
Для разработки новых функций или исправлений багов рекомендуется создавать отдельные ветки
git checkout -b feature-branch
2⃣Создание Pull Request (PR)
После завершения работы в ветке создайте Pull Request на GitHub для обзора и слияния.
3⃣Настройка файлов `.gitignore`
Добавьте файл .gitignore для исключения ненужных файлов из коммитов.
echo "node_modules/" > .gitignore
git add .gitignore
git commit -m "Add .gitignore"
4⃣Настройка CI/CD
Подключите сервисы Continuous Integration/Continuous Deployment, такие как GitHub Actions, Travis CI или Jenkins, для автоматизации тестирования и развертывания.
# Пример файла .github/workflows/ci.yml для GitHub Actions
name: CI
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '14'
- run: npm install
- run: npm test
Ставь 👍 и забирай 📚 Базу знаний🤔 Что известно про эластик-стэк (ELK/EFK)?
ELK (Elasticsearch + Logstash + Kibana) и EFK (Elasticsearch + Fluentd + Kibana) — это стэки для сбора, хранения и визуализации логов. Logstash или Fluentd обрабатывают и отправляют логи в Elasticsearch, где они индексируются и хранятся. Kibana предоставляет UI для поиска, анализа и дашбордов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Динамическая маршрутизация и разные протоколы динамической маршрутизации, ebgp ibgp, константы bgp. На чём сейчас принято строить bgp-пиринги?
🟠Динамическая маршрутизация
Динамическая маршрутизация – это механизм автоматического выбора маршрута на основе изменяющихся сетевых условий. В отличие от статической маршрутизации, она автоматически адаптируется к изменениям в сети.
Протоколы динамической маршрутизации делятся на:
Протоколы внутреннего шлюза (IGP – Interior Gateway Protocol)
RIP (Routing Information Protocol) – устаревший, работает на алгоритме дистанционно-векторного маршрутизации.
OSPF (Open Shortest Path First) – основан на SPF (Dijkstra) и работает по принципу линк-стейт.
IS-IS (Intermediate System to Intermediate System) – аналог OSPF, но чаще используется в провайдерских сетях.
Протоколы внешнего шлюза (EGP – Exterior Gateway Protocol)
BGP (Border Gateway Protocol) – основной протокол маршрутизации в интернете.
🟠BGP: Основной протокол глобальной маршрутизации
eBGP vs iBGP
BGP бывает двух типов:
eBGP (External BGP) – маршрутизация между автономными системами (AS). Используется для обмена маршрутами между разными организациями или провайдерами.
iBGP (Internal BGP) – работает внутри одной AS, передавая BGP-маршруты между роутерами этой сети.
🚩Константы BGP (Attributes)
BGP использует атрибуты маршрута для выбора наилучшего пути. Основные атрибуты:
🟠Local Preference
приоритетный маршрут внутри AS (чем выше, тем лучше).
🟠AS Path
список AS, через которые проходит маршрут (короче – лучше).
🟠MED (Multi-Exit Discriminator)
предпочтение одного из выходов из AS (меньше – лучше).
🟠Origin
источник маршрута (
IGP < EGP < Incomplete).
🟠Community
метки маршрутов для упрощения политики маршрутизации.
🟠Weight (Cisco-only)
локальный параметр (чем больше, тем лучше).
🚩На чём сейчас строят BGP-пиринги?
BGP можно развернуть на разных платформах, включая аппаратные и программные решения:
🟠Оборудование (Аппаратные маршрутизаторы)
Cisco (IOS, IOS-XE, IOS-XR, NX-OS) – классика для крупных сетей.
Juniper (Junos OS) – мощное решение для дата-центров и операторов.
Arista (EOS) – высокопроизводительные маршрутизаторы для ЦОДов.
Huawei (VRP) – популярно в крупных корпоративных сетях.
🟠Программные решения (SOFT-router)
FRRouting (FRR) – open-source, поддерживает BGP, OSPF, IS-IS.
BIRD – лёгкий BGP-демон для Linux, используется в IX (Internet Exchange).
GoBGP – BGP-демон, написанный на Go.
VyOS – Linux-маршрутизатор с поддержкой BGP.
MikroTik (RouterOS) – бюджетное, но мощное решение.
Ставь 👍 и забирай 📚 Базу знаний🤔 Как поднять лимиты Nginx?
1. В конфигурации Nginx увеличить worker_connections и worker_rlimit_nofile.
2. Настроить ulimit в системных настройках.
3. Обновить параметры ядра через sysctl (например, fs.file-max, net.core.somaxconn).
4. Перезапустить сервис, чтобы изменения вступили в силу.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Что такое pv, pvc?
Это понятия из Kubernetes, которые используются для управления хранилищем данных (storage). Они решают задачу обеспечения долгоживущего хранилища для приложений, которое сохраняется независимо от жизненного цикла подов (Pods).
🚩Persistent Volume (PV)
Это объект Kubernetes, который представляет физическое хранилище, доступное в кластере. Это может быть локальное хранилище, сетевой диск (например, NFS), или облачный сервис хранения (например, Amazon EBS, Google Persistent Disk, Azure Disk).
PV создается администратором или автоматически через StorageClass. Это ресурс хранилища, выделенный для использования в кластере. Независим от подов, что позволяет хранить данные, даже если под был удален или перезапущен.
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
hostPath:
path: "/mnt/data"
🚩Persistent Volume Claim (PVC)
Это запрос на использование хранилища (PV) со стороны пользователя или приложения. Это как "заявка" на нужное количество места и определенный тип хранилища.
PVC создается разработчиком или приложением. PVC связывается с подходящим PV, который соответствует запросу. Если подходящий PV найден, он "привязывается" к PVC.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
🚩Как работают PV и PVC вместе?
🟠Создание PV
Администратор или динамическое создание выделяет хранилище (например, сетевой диск).
🟠Создание PVC
Приложение запрашивает хранилище с помощью PVC.
🟠Привязка
Kubernetes автоматически находит подходящий PV, который соответствует запросу PVC (по размерам, режимам доступа и другим параметрам). После этого PVC "связывается" с PV.
🟠Использование в поде
PVC указывается в поде как volume, что позволяет контейнерам работать с данным хранилищем.
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: nginx
volumeMounts:
- mountPath: "/data"
name: my-storage
volumes:
- name: my-storage
persistentVolumeClaim:
claimName: my-pvc
Ставь 👍 и забирай 📚 Базу знанийКиберугрозы становятся всё более сложными. Что если злоумышленник может получить доступ к памяти вашей системы и извлечь данные?
9 сентября в 20:00 МСК мы проведём открытый вебинар «Вложенная виртуализация. Анализ памяти». Мы разберём новые модели угроз, при которых злоумышленник может атаковать память, научим вас использовать инструменты криминалистического анализа и покажем, как защитить данные от атак на L1 и L2 виртуализацию.
Если вы специалист по информационной безопасности, системный администратор или форензик-эксперт, этот вебинар откроет для вас новые подходы к защите данных, которые могут спасти ваше приложение от утечек информации.
Урок проходит в преддверие старта курса «Компьютерная криминалистика». Пройдите регистрацию и получите скидку на обучение: https://otus.pw/0fXq/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Запустите рекламу в телеграм-каналах с Яндекс Директом
Перфоманс-реклама теперь в телеграм-каналах ⚡
Яндекс Директ знает, как привлечь целевую аудиторию 💰👌
Попробовать
#реклама
yandex.ru
О рекламодателе
🤔 Какие могут быть причины CrashLoopBackOff?
Это значит, что контейнер падает и перезапускается:
- Ошибка внутри приложения (не хватает переменной, зависимостей, крэш при запуске).
- Неправильный command или entrypoint.
- Отсутствие подключения к БД или внешнему сервису.
- Недостаточно ресурсов (kill по памяти).
- Проблемы с томами (доступ, монтирование).
Стоит смотреть logs и describe pod для диагностики.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Тариф, с которым хватит на всё
50 ГБ и безлимитные минуты за 390 ₽ в месяц, если перенесете номер в Т-Мобайл до 30 сентября
Узнать больше
#реклама
tbank.ru
О рекламодателе
🤔 Что такое брокеры сообщений?
Это программные системы, которые позволяют обмениваться данными между разными компонентами приложения или между различными приложениями. Они действуют как посредники, принимая сообщения от отправителей (producers) и доставляя их получателям (consumers).
🚩Основные функции брокеров сообщений
🟠Прием и маршрутизация сообщений
Сообщения отправляются от одного компонента и доставляются нужному получателю. Брокер определяет, куда отправить сообщение, используя темы (topics), очереди (queues) или маршруты (routing keys).
🟠Асинхронное взаимодействие
Отправитель может передать сообщение, не дожидаясь его обработки, что повышает производительность системы.
🟠Очереди сообщений
Если получатель временно недоступен, сообщение сохраняется в очереди до тех пор, пока оно не будет доставлено.
🟠Гарантированная доставка
Некоторые брокеры предоставляют механизмы подтверждения получения сообщений (acknowledgment), чтобы избежать их потери.
🟠Распределение нагрузки
Сообщения могут быть обработаны несколькими получателями, что позволяет распределить нагрузку между ними.
🟠Фильтрация и маршрутизация
Сообщения доставляются только тем потребителям, которые их ожидают, используя фильтры или ключи маршрутизации.
🚩Примеры использования брокеров сообщений
🟠Микросервисы
Компоненты приложения обмениваются данными через брокер, что позволяет им оставаться изолированными и независимыми.
🟠Логирование и мониторинг
Сбор логов и метрик от множества источников с их дальнейшей обработкой.
🟠Управление задачами
Постановка задач в очередь для выполнения одним или несколькими воркерами.
🟠Интеграция систем
Связывание разнородных систем, которые обмениваются данными.
🚩Примеры брокеров сообщений
🟠RabbitMQ
Протокол: AMQP (Advanced Message Queuing Protocol). Поддерживает очереди, маршрутизацию, подтверждения доставки. Хорошо подходит для сложных сценариев с разными типами маршрутизации.
🟠Apache Kafka
Протокол: Проприетарный. Отличается высокой производительностью и надежностью. Используется для потоковой обработки данных, аналитики в реальном времени.
🟠Redis (Pub/Sub)
Протокол: Redis. Простая и быстрая модель pub/sub. Хорошо подходит для временных сообщений без сохранения состояния.
🟠ActiveMQ
Протокол: AMQP, STOMP, MQTT. Гибкий и совместимый с различными сценариями.
🟠NATS
Легковесный и быстрый брокер для приложений, требующих низкой задержки.
🚩Как работают брокеры сообщений
Producers (отправители) отправляют сообщение в брокер.
Брокер размещает сообщение в соответствующей очереди или теме.
Consumers (получатели) получают сообщение: Либо сразу, если они активны. Либо позже, если оно сохраняется в очереди.
🚩Пример использования RabbitMQ
1⃣Отправитель публикует сообщение в очередь:
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
channel.basic_publish(exchange='', routing_key='hello', body='Hello World!')
connection.close()
2⃣Получатель забирает сообщение из очереди:
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
def callback(ch, method, properties, body):
print(f"Received {body}")
channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)
channel.start_consuming()
🚩Плюсы использования
➕Разделение ответственности
Компоненты системы сосредотачиваются на своих задачах, а не на доставке данных.
➕Масштабируемость
Легко добавлять новых потребителей или отправителей.
➕Устойчивость к сбоям
Брокеры обеспечивают сохранность сообщений, даже если один из компонентов временно недоступен.
➕Гибкость
Возможность использовать различные стратегии маршрутизации и обработки данных.
Ставь 👍 и забирай 📚 Базу знанийНовинки от Braun
Оригинальные бритвы, триммеры и эпиляторы с гарантией.
Точность, комфорт и стиль — вместе с Braun
Купить
#реклама
market.yandex.ru
О рекламодателе
🤔 Как происходит процесс сборки в CI/CD?
Последовательно:
1. Checkout кода из репозитория.
2. Сборка артефактов (jar, docker-образ, бинарник и т.д.).
3. Тестирование (юнит, интеграция).
4. Анализ кода (Sonar, Linter).
5. Публикация артефакта в регистри или хранилище.
6. Деплой в среду (staging/prod).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Расскажи про разницу PVC и full stack?
Понимание этих двух терминов поможет нам различить их предназначение и использование в контексте Kubernetes и программного обеспечения.
🚩PVC (Persistent Volume Claim)
Это объект в Kubernetes, который позволяет пользователям запрашивать выделение постоянного хранилища для подов. PVC абстрагирует детали физического хранилища, позволяя разработчикам и администраторам фокусироваться на объеме и типе хранилища, необходимого для приложения, без необходимости управлять деталями самого хранилища.
🚩Основные аспекты PVC
🟠Запрос хранилища
PVC определяет запрос на объем хранилища и его характеристики, такие как размер и класс хранилища (Storage Class).
🟠Абстракция хранилища
PVC абстрагирует конкретные детали физического хранилища, предоставляя единый интерфейс для запросов хранилища.
🟠Динамическое и статическое связывание
PVC может использовать как динамическое связывание (где Kubernetes автоматически создает PV на основе PVC), так и статическое связывание (где администраторы заранее создают PV).
🟠Совместимость с подами
PVC могут быть подключены к подам, обеспечивая постоянное хранилище для приложений.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: standard
🚩Full Stack
Это термин, используемый для описания разработчиков или инженеров, которые обладают навыками и знаниями для работы со всеми уровнями разработки программного обеспечения, от фронтенда до бэкенда, включая базы данных, серверы и даже DevOps практики.
🚩Основные аспекты Full Stack разработки
🟠Фронтенд
Создание пользовательских интерфейсов с использованием HTML, CSS, JavaScript и фреймворков, таких как React, Angular или Vue.js.
🟠Бэкенд
Разработка серверной логики и API с использованием языков программирования, таких как Python, Node.js, Ruby, Java или PHP.
🟠Базы данных
Работа с реляционными (например, MySQL, PostgreSQL) и нереляционными (например, MongoDB, Redis) базами данных.
🟠DevOps
Управление развертыванием, настройкой серверов, CI/CD пайплайнами, мониторингом и масштабированием приложений.
🟠Сетевые технологии
Понимание протоколов, таких как HTTP/HTTPS, REST, WebSockets, и работа с серверными технологиями, такими как Nginx или Apache.
Ставь 👍 и забирай 📚 Базу знанийВебинар - "Прорыв в AI: применяйте DeepSeek эффективно"
⚡ Практикум по топовой китайской ии DeepSeek! Узнайте, как экономить 20+ часов в неделю!
Формат: Живой бесплатный вебинар!
Подойдет даже новичкам!
На вебинаре вы:
- Разберетесь в нейросетях и их возможностях
- Научитесь писать рабочие промпты
- Автоматизируете рутину (контент, аналитика и др.)
- Создадите ИИ-ассистента в прямом эфире!
Мы преготовили подарки:
✨ Подарок №1: Полезные материалы по ИИ
✨ Подарок №2: Руководство «Как создать цифровой аватар» (сразу после регистрации)!
Кому подойдет?
Контент-мейкерам, предпринимателям, специалистам и всем, кто хочет освоить ИИ для карьеры или дохода.
✅Успейте зарегистрироваться Бесплатно!
Не теряйте время на рутину – доверьте ее ИИ!
Зарегистрироваться
#реклама 16+
ed.bonnieandslide.com
О рекламодателе
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
