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

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

Kanalga Telegram’da o‘tish
5 510
Obunachilar
+124 soatlar
-67 kunlar
+130 kunlar
Postlar arxiv
🤔 За счёт чего происходит распределение по зонам для PersistentVolume? Распределение происходит через: - StorageClass с параметром zone (например, allowedTopologies в GCP). - Использование CSI-драйвера, указывающего, где создаётся том. - Topology-aware provisioning — PVC привязывается к ближайшей доступной зоне. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое IaC? Это практика управления и настройки IT-инфраструктуры (серверов, сетей, баз данных и других ресурсов) с помощью кода, а не вручную через консоли или графические интерфейсы. 🚩Зачем нужен IaC? 🟠Автоматизация вместо ручной настройки серверов вы пишете код, который делает это автоматически. 🟠Консистентность одинаковая среда на всех серверах, исключение человеческих ошибок. 🟠Быстрое развертывание развернуть инфраструктуру можно за минуты. 🟠Легкость в откате если что-то пошло не так, можно быстро вернуть предыдущее состояние. 🟠Масштабируемость легко добавить новые серверы или ресурсы при увеличении нагрузки. 🚩Как работает IaC? С помощью IaC вы описываете всю инфраструктуру в коде (например, в YAML, JSON, HCL и др.), а затем используете инструменты для автоматического развертывания.
provider "aws" {
  region = "us-east-1"
}

resource "aws_instance" "example" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t2.micro"
}
🚩Основные инструменты IaC 🟠Terraform универсальный инструмент для облаков (AWS, Azure, GCP и др.). 🟠Ansible удобен для настройки серверов (конфигурации ПО). 🟠Puppet / Chef похожи на Ansible, но требуют агента на серверах. 🟠CloudFormation инструмент от AWS для управления ресурсами. Ставь 👍 и забирай 📚 Базу знаний

🔔 Прокачайте системный подход + скидка 🎁 10% на курс до 30 июня Системный дизайн — для тех, кто отвечает за стратегическое
🔔 Прокачайте системный подход + скидка 🎁 10% на курс до 30 июня Системный дизайн — для тех, кто отвечает за стратегическое мышление и принятие архитектурных решений Хотите глубже понимать, как проектируются масштабируемые и устойчивые системы? Курс «System Design» от OTUS — это: — Не просто паттерны, а практика проектирования сложных систем, — Подготовка к архитектурным интервью, — Реальные кейсы из крупных компаний, — Финальный проект, который можно показать в портфолио. Курс подойдёт разработчикам, архитекторам, техническим лидам и DevOps-инженерам, которые хотят повысить квалификацию и системно мыслить при проектировании. 🚀Только до 30 июня — скидка 10% при полной оплате курса. Оставьте заявку, чтобы зафиксировать условия: 🔗 Получить скидку и оставить заявку https://otus.pw/r1aV/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

🤔 Как TCP устанавливает соединение? С помощью трёхстороннего рукопожатия (3-way handshake): 1. Клиент → сервер: SYN. 2. Сервер → клиент: SYN-ACK. 3. Клиент → сервер: ACK. После этого соединение считается установленным. Это обеспечивает надёжный канал связи. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 В docker контейнере локальной учётной записи выполнили команду docker Run Alpine пробел ID: Какой ID будет выведен? Если в контейнере выполнить:
docker run alpine ID:
🚩Как проверить ID контейнера? Если вы хотите получить ID запущенного контейнера, правильная команда:
docker run --rm alpine sh -c 'echo $HOSTNAME'
🚩Как получить ID уже запущенного контейнера? Если контейнер уже работает, его ID можно посмотреть так
docker ps -q
или
docker inspect -f '{{.Id}}' container_name
Ставь 👍 и забирай 📚 Базу знаний

🤔 Какие бывают виды дополнительных контейнеров в поде? Дополнительные контейнеры включают init-контейнеры для подготовки среды и sidecar-контейнеры для дополнительных задач, таких как логирование или прокси. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Чем DevOps отличается от Agile? Это два различных подхода в разработке и доставке программного обеспечения, которые имеют разные цели и методы, но могут взаимодополнять друг друга. Давайте рассмотрим основные различия и связи между ними. 🚩Agile Увеличение гибкости и адаптивности разработки программного обеспечения. 🟠Итеративная разработка Разработка проходит в коротких циклах (итерациях), что позволяет регулярно представлять работающее программное обеспечение. 🟠Непрерывная обратная связь Регулярные встречи (например, ежедневные стендапы, спринт-ревью) для получения обратной связи от команды и заинтересованных сторон. 🟠Кросс-функциональные команды Команды, состоящие из разработчиков, тестировщиков, аналитиков и других специалистов, работают вместе над проектом. 🟠Фокус на клиенте Постоянное взаимодействие с клиентами для уточнения требований и проверки соответствия продукта их ожиданиям. Фреймворки: Scrum, Kanban, XP (Extreme Programming). 🚩DevOps Увеличение скорости и качества доставки программного обеспечения через автоматизацию и улучшение сотрудничества между разработчиками и операционными командами. 🟠Непрерывная интеграция и доставка (CI/CD) Автоматизация сборки, тестирования и развертывания кода, чтобы изменения могли быстро и надежно попасть в рабочую среду. 🟠Инфраструктура как код (IaC) Использование кода для управления и автоматизации инфраструктуры, что делает процессы повторяемыми и предсказуемыми. 🟠Мониторинг и логирование Постоянное отслеживание состояния приложений и инфраструктуры для быстрого обнаружения и устранения проблем. 🟠Сотрудничество и обмен знаниями Улучшение взаимодействия между разработчиками и операционными инженерами через общие инструменты и процессы. Инструменты: Jenkins, Docker, Kubernetes, Ansible, Terraform, Prometheus, Grafana. 🚩Сравнение и различия 🟠Фокус Agile: Сфокусирован на процессе разработки и управлении проектами, улучшая гибкость и адаптивность команды разработки. DevOps: Сфокусирован на процессе доставки и эксплуатации, улучшая автоматизацию и сотрудничество между разработчиками и операционными командами. 🟠Команды Agile: Включает кросс-функциональные команды, которые работают вместе над созданием программного обеспечения. DevOps: Включает команды разработчиков и операций, которые совместно работают над автоматизацией и улучшением процессов развертывания и эксплуатации. 🟠Методы и инструменты Agile: Методы Scrum, Kanban и другие Agile-практики, которые улучшают процесс управления проектами. DevOps: Инструменты и практики для автоматизации развертывания, мониторинга и управления инфраструктурой. 🚩Связь между Agile и DevOps 🟠Agile Помогает улучшить процесс разработки, делая его более гибким и отзывчивым к изменениям. 🟠DevOps Дополняет Agile, автоматизируя развертывание и эксплуатацию программного обеспечения, что позволяет быстрее доставлять изменения пользователям. 🟠Agile команда Может использовать Scrum для управления спринтами и задачами. 🟠DevOps практики Могут быть использованы для автоматизации CI/CD пайплайнов, чтобы каждая итерация разработки могла быть быстро и надежно развернута на серверы. Ставь 👍 и забирай 📚 Базу знаний

Образование, с которым всегда найдете работу Открытый социально-экономический колледж (ОСЭК) - ваш шаг к успешной карьере 🎓 Предоставляем высококачественное дистанционное обучение, что позволяет вам учиться в удобное время и в любом месте. Преподаватели — опытные профессионалы, которые помогут вам освоить материалы на практике. 📚 Среднее профессиональное образование в ОСЭК Без экзаменов - поступление без результатов ЕГЭ, ОГЭ и конкурса Госаккредитация - диплом ценится работодателями Высокое качество образования - наши программы соответствуют современным требованиям рынка труда. Востребованные специальности - получайте актуальные профессии 2 Диплома сразу - без увеличения срока обучения и стоимости Не покупайте учебники и материалы – всё включено в курс ⚡ Только в июне скидки на обучение до 48% Узнать больше #реклама 16+ pk.i-spo.ru О рекламодателе

🤔 Какие оркестрации знаешь для Microservices? - Kubernetes — самая популярная; - Docker Swarm — встроенное решение в Docker; - Nomad от HashiCorp; - Apache Mesos (редко используется сегодня). Они обеспечивают развертывание, масштабирование и управление контейнеризированными микросервисами. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Чем отличается маршрутизатор от коммутатора? Маршрутизатор (Router) – соединяет разные сети и передает пакеты между ними. Коммутатор (Switch) – соединяет устройства внутри одной сети (LAN) и передает данные между ними. 🚩Что делает маршрутизатор (Router)? Связывает разные сети (LAN ↔️ WAN, LAN ↔️ LAN) Определяет путь (маршрут) для передачи данных Использует IP-адреса (3-й уровень OSI) Может раздавать интернет через NAT Пример работы маршрутизатора Компьютер в 192.168.1.0/24 хочет отправить данные в 10.0.0.0/24 - Маршрутизатор определяет лучший путь и передает данные
ip route add 10.0.0.0/24 via 192.168.1.1
🚩Что делает коммутатор (Switch)? Объединяет устройства в одной сети (LAN) Переключает пакеты между портами по MAC-адресам Работает на 2-м уровне OSI (канальный уровень) Использует MAC-таблицу для ускорения передачи Пример работы коммутатора: Компьютер A (MAC: AA:BB:CC:01) отправляет данные компьютеру B (MAC: AA:BB:CC:02) Коммутатор смотрит MAC-таблицу и направляет данные только на нужный порт
show mac address-table
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое cl в Linux? Если имеется в виду команда cl, то она не является стандартной утилитой Linux. Возможны интерпретации: в некоторых дистрибутивах это может быть alias или часть кастомного набора утилит. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какие микросервисы можно масштабировать горизонтально? Горизонтальное масштабирование – это добавление новых экземпляров (реплик) сервиса для увеличения производительности. Оно хорошо работает для стат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 (нужны реплики или шардирование) Сервисы с сессиями → Например, если пользователь всегда должен попасть на тот же сервер Хранилища файлов → Например, локальное хранение логов на сервере Ставь 👍 и забирай 📚 Базу знаний

В турагентство на удаленку требуются стажеры Клиентов предоставим. Можно без опыта и совмещая с основной работой или декретом. С нас обучение с гарантированной стажировкой. Доход после обучения: от 50 000₽ до 220 000₽. Оплата в процессе обучения зависит от вашей вовлеченности. Задачи: Помогать людям организовывать путешествия: подбор самых выгодных предложений на отдых со скидкой до 50% в новых сервисах бронирования. Условия: ✅ Без опыта — обучение с нуля за 2 месяца, первые выплаты в среднем в течение 2 недель; ✅Удаленная работа или совмещение с офисом (по желанию, зависит от вашего города). Хотите проверить, подойдет ли это вам? Регистрируйтесь на бесплатный вводный урок, на котором узнаете: — как подбирать туры для себя и близких с выгодой до 40% — как получать комиссию 7-10% с каждого тура. Узнать больше #реклама 16+ via-tourism-school.space О рекламодателе

🤔 Что такое volume и persistent volume и какие есть типы этих вольюмов? Volume — это механизм для хранения данных контейнера вне его файловой системы, чтобы данные сохранялись между перезапусками. Persistent Volume (PV) в Kubernetes представляет собой хранилище, которое существует независимо от подов. Типы volumes включают emptyDir, hostPath, NFS, CIFS, AWS EBS, Azure Disk и PersistentVolumeClaim. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что сейчас больше используется ингресс класс в ингрессе или указывается ингресс контроллер непосредственно в апликейшене? Сейчас стандартом является использование 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
Ставь 👍 и забирай 📚 Базу знаний

Гайд по эффективным онлайн-встречам для корп. тренеров Как корпоративным тренерам и методистам повышать вовлеченность и резул
Гайд по эффективным онлайн-встречам для корп. тренеров Как корпоративным тренерам и методистам повышать вовлеченность и результативность обучения сотрудников? Гайд МТС Линк — чек-листы, кейсы и подходы для улучшения корпоративного обучения с помощью онлайн-встреч и интерактивных досок. ✅ В гайде: - Как создать постоянную ссылку на синки и тренинги с коллегами и подключаться в 2 клика; - Как повысить процент успешно завершивших обучение с помощью онлайн-досок; - Как вовлекать в обучение даже самых пассивных коллег; - Как автоматизировать проверку знаний после курса; - Как организовать тренинг так, чтобы участники действительно подключились и дошли до финального модуля. Бонус внутри: 5 способов не выгореть от бесконечных синков. ✨ Скачайте гайд бесплатно по ссылке Скачать #реклама 16+ mts-link.ru О рекламодателе

🤔 Для чего нужен Terraform? Terraform используется для инфраструктуры как кода. Он позволяет: - описывать ресурсы облака декларативно; - управлять зависимостями; - автоматически создавать, обновлять и удалять инфраструктуру; - сохранять состояние системы в одном месте. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое императивный подход? Императивный подход — это стиль программирования, где мы пошагово указываем компьютеру, что делать и как это делать. Программист описывает процесс решения задачи. Код выполняется шаг за шагом, изменяя состояние программы.
numbers = [1, 2, 3, 4, 5]
squared = []

for num in numbers:
    squared.append(num ** 2)  # Явно указываем, что делать на каждом шаге

print(squared)  # [1, 4, 9, 16, 25]
🚩Где используется императивный стиль? Языки программирования: C, Java, Python (может быть и императивным, и декларативным). Операционные системы (где важно управлять состоянием). Автоматизация в DevOps (например, скрипты Bash).
#!/bin/bash
mkdir /backup
cp /var/log/syslog /backup/
echo "Backup создан"
Пример в DevOps (Terraform) Императивный (Ansible, Bash)
  apt update
  apt install nginx
Шаги установки Nginx описаны вручную. Декларативный (Terraform, Kubernetes)
  resource "aws_instance" "web" {
    ami = "ami-123456"
    instance_type = "t2.micro"
  }
Ставь 👍 и забирай 📚 Базу знаний

Легендарная AIшница 3.0! Бесплатный онлайн-практикум 3 сезон масштабного онлайн-практикума про нейросети для бизнеса. 3 дня, в программе применение ИИ в продажах, маркетинге, HR и других бизнес-процессов Спикеры: Александр Горный, Сергей Нотевский, Павел Лебедев Регистрируйтесь бесплатно! Узнать больше #реклама 16+ ai-practicum.bitrix24.events О рекламодателе

🤔 Технологии AF_PACKET, PCAP, RAW socket, PF_RING. Что объединяет их и их различия? Все эти технологии используются для перехвата и обработки сетевого трафика: - AF_PACKET – низкоуровневый доступ к пакетам в пространстве ядра, позволяет захватывать пакеты до их обработки IP-стеком. - PCAP (libpcap/tcpdump) – библиотека для пользовательского пространства, позволяет фильтровать и анализировать пакеты. - RAW socket – создаёт сокеты для работы с IP- и Ethernet-пакетами напрямую, нужен root-доступ. - PF_RING – ускоренный механизм захвата пакетов, оптимизирован для высоких нагрузок. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний