DevOps собеседование: популярные технические вопросы
DevOps: вопросы и ответы для подготовки к собеседованию. Раздел охватывает: CI/CD, Docker, Kubernetes (Pods, Deployments, Services, Ingress), Helm, автомасштабирование (HPA/VPA), Git/GitFlow/GitOps, инфраструктуру как код (Terraform, Ansible), мониторинг и логирование (Prometheus, Grafana, ELK, OpenTelemetry), сети и балансировку (L4/L7, ingress, service mesh), облака (AWS/GCP/Azure), безопасность и секреты (TLS, Vault), стратегии релизов (blue-green, canary), SLA/SLO/SLI и SRE-практики.
Junior
-
Что такое DevOps? Junior
DevOps — это подход к разработке ПО, объединяющий разработку и эксплуатацию для улучшения сотрудничества, ускорения доставки и повышения качества программного обеспечения через автоматизацию процессов и постоянное тестирование.
Посмотреть ответ полностью -
Что такое CI и CD? Junior
Непрерывная интеграция (CI) — это практика регулярного объединения кода разработчиков с автоматизированным тестированием для быстрого обнаружения ошибок, а непрерывная доставка (CD) — это автоматизация развертывания проверенного кода на разных средах, что позволяет выпускать обновления в любое время.
Посмотреть ответ полностью -
Что такое Docker? Junior
Docker — это платформа для контейнеризации приложений, которая позволяет создавать, развертывать и запускать их в изолированных средах, обеспечивая портативность и управление зависимостями, что упрощает разработку и развертывание.
Посмотреть ответ полностью -
В чем разница между Docker-контейнером и виртуальной машиной? Junior
Docker-контейнеры представляют собой легковесные среды, использующие общий ядро операционной системы, что делает их быстрыми и портативными, в то время как виртуальные машины включают полные операционные системы, требующие больше ресурсов и времени для запуска, но обеспечивают более высокий уровень изоляции.
Посмотреть ответ полностью -
Что такое Dockerfile? Junior
Dockerfile — это текстовый файл с инструкциями для сборки образа приложения в контейнере Docker, который автоматизирует создание и настройку среды выполнения. Он включает команды для определения базового образа, установки зависимостей, копирования файлов и указания команд для запуска приложения, что позволяет создавать воспроизводимые и надежные образы.
Посмотреть ответ полностью -
Что такое Docker Compose? Junior
Docker Compose — это инструмент для управления многоконтейнерными приложениями в Docker, который позволяет описывать конфигурацию сервисов в одном YAML-файле и запускать их одной командой, упрощая процесс разработки и управления зависимостями.
Посмотреть ответ полностью -
Что такое Kubernetes? Junior
Kubernetes — это система управления контейнерами с открытым исходным кодом, предназначенная для автоматизации развертывания, масштабирования и управления приложениями в контейнерах, упрощая работу разработчиков и операторов.
Посмотреть ответ полностью -
Что такое Pod в Kubernetes? Junior
Pod в Kubernetes — это основная единица развертывания, представляющая собой группу контейнеров, которые разделяют ресурсы и сеть, что упрощает их взаимодействие. Pods управляются Kubernetes для обеспечения высокой доступности и автоматического восстановления приложений, что делает их ключевыми для организации контейнеризированных решений.
Посмотреть ответ полностью -
Что такое Deployment в Kubernetes? Junior
Deployment в Kubernetes — это объект, который управляет созданием, обновлением и масштабированием экземпляров приложений в контейнерах, обеспечивая автоматизацию процессов и возможность отката к предыдущим версиям.
Посмотреть ответ полностью -
Что такое Service в Kubernetes? Junior
Service в Kubernetes — это абстракция, обеспечивающая стабильный доступ к подам, предоставляя постоянный IP-адрес и DNS-имя, а также осуществляя балансировку нагрузки и обнаружение сервисов. Существуют различные типы Service, такие как ClusterIP, NodePort и LoadBalancer, которые позволяют настроить доступ как внутри кластера, так и извне.
Посмотреть ответ полностью -
Что такое Ingress в Kubernetes? Junior
Ingress в Kubernetes — это объект, который управляет внешним доступом к сервисам внутри кластера, позволяя определять правила маршрутизации HTTP и HTTPS трафика. Он включает Ingress Resource для описания маршрутов и Ingress Controller для их реализации, что упрощает управление доступом и настройку безопасных соединений.
Посмотреть ответ полностью -
Что такое виртуальная машина (VM)? Junior
Виртуальная машина (VM) — это программное обеспечение, эмулирующее физический компьютер, позволяющее запускать разные операционные системы и приложения в изолированной среде на одном сервере, что обеспечивает эффективное использование ресурсов и гибкость в разработке и тестировании.
Посмотреть ответ полностью -
Что такое VPC? Junior
VPC (Virtual Private Cloud) — это изолированное сетевое пространство в облаке, позволяющее управлять ресурсами с высокой степенью безопасности и гибкости. Он позволяет настраивать сети, контролировать доступ и адаптироваться под изменяющиеся потребности, что делает его идеальным для разработки, тестирования и размещения приложений.
Посмотреть ответ полностью -
Что такое EC2? Junior
EC2 (Elastic Compute Cloud) — это сервис AWS, предоставляющий возможность запускать и управлять виртуальными серверами в облаке, обеспечивая гибкость, масштабируемость и оплату по мере использования, что позволяет разрабатывать, тестировать и разворачивать приложения без необходимости управления физической инфраструктурой.
Посмотреть ответ полностью -
Что такое S3? Junior
Amazon S3 — это облачное объектное хранилище от AWS, предназначенное для хранения и извлечения любых объемов данных с высокой доступностью и надежностью. Оно обеспечивает масштабируемость, безопасность и различные классы хранения для оптимизации затрат в зависимости от частоты доступа к данным.
Посмотреть ответ полностью -
Что такое AWS Lambda? Junior
AWS Lambda — это облачный серверless-сервис от Amazon, который позволяет запускать код в ответ на события без управления серверами, автоматически масштабируя ресурсы и предлагая оплату только за время выполнения.
Посмотреть ответ полностью -
Что такое Infrastructure as Code (IaC)? Junior
Infrastructure as Code (IaC) — это метод управления инфраструктурой с помощью кода, что позволяет автоматизировать развертывание, улучшить согласованность и обеспечить версионирование конфигураций. Этот подход минимизирует ошибки, упрощает тестирование и масштабирование, что делает его ключевым элементом в DevOps-практиках.
Посмотреть ответ полностью -
Что такое Terraform? Junior
Terraform — это инструмент для управления инфраструктурой как кодом, позволяющий создавать и изменять ресурсы в облачных средах с помощью конфигурационных файлов, обеспечивая предсказуемость изменений и управление версиями.
Посмотреть ответ полностью -
Что такое CI/CD pipeline? Junior
CI/CD pipeline — это автоматизированный процесс, который помогает разработчикам быстро и качественно разрабатывать, тестировать и разворачивать программное обеспечение, обеспечивая непрерывную интеграцию и доставку изменений для повышения надежности и ускорения выпуска новых версий.
Посмотреть ответ полностью -
Приведите пример этапов CI/CD. Junior
CI/CD — это методология для автоматизации процессов интеграции и развертывания программного обеспечения, включающая этапы планирования, разработки, контроля версий, сборки, тестирования, развертывания, получения обратной связи и мониторинга, что позволяет повысить качество кода и ускорить его доставку.
Посмотреть ответ полностью -
Что такое Git? Junior
Git — это распределенная система управления версиями, позволяющая разработчикам отслеживать изменения в коде и совместно работать над проектами, обеспечивая возможность работы оффлайн, легкое отслеживание изменений и поддержку ветвления для упрощения разработки.
Посмотреть ответ полностью -
В чём разница между Git merge и rebase? Junior
Git merge объединяет ветки, создавая новый коммит и сохраняя историю изменений, тогда как Git rebase перемещает коммиты на новое основание, создавая линейную историю и изменяя хеши коммитов. Merge лучше подходит для публичных веток, а rebase — для упрощения истории перед объединением с основной веткой.
Посмотреть ответ полностью -
Что такое ветка (branch) в Git? Junior
Ветка в Git — это отдельная линия разработки, позволяющая работать над изменениями в проекте, не затрагивая основную кодовую базу, что обеспечивает стабильность и упрощает параллельную работу над различными функциями и исправлениями.
Посмотреть ответ полностью -
Что такое merge request (Pull Request)? Junior
Merge Request (MR) и Pull Request (PR) — это механизмы в системах контроля версий, позволяющие разработчикам предлагать изменения в коде для рассмотрения и интеграции в основную ветку проекта, обеспечивая эффективное сотрудничество и улучшение качества кода через процессы ревью и тестирования.
Посмотреть ответ полностью -
Что такое контейнерный реестр (registry)? Junior
Контейнерный реестр — это хранилище для управления и распространения контейнерных образов, которые включают приложения и все их зависимости. Он может быть публичным или приватным, обеспечивая безопасность и контроль доступа, а также упрощая автоматизацию процессов развертывания и управления зависимостями.
Посмотреть ответ полностью -
Что такое виртуальная приватная сеть (VPN)? Junior
Виртуальная приватная сеть (VPN) создает защищенное соединение через Интернет, обеспечивая конфиденциальность и целостность данных с помощью шифрования и туннелирования, что позволяет безопасно передавать информацию и получать доступ к удаленным ресурсам.
Посмотреть ответ полностью -
Что такое балансировщик нагрузки? Junior
Балансировщик нагрузки распределяет входящий трафик между несколькими серверами для повышения доступности и оптимизации ресурсов, обеспечивая непрерывность работы приложений даже в случае сбоев.
Посмотреть ответ полностью -
Что такое мониторинг (Prometheus, Grafana)? Junior
Мониторинг в DevOps — это процесс сбора и анализа данных о состоянии систем и приложений, позволяющий выявлять проблемы и поддерживать их производительность. Инструменты, такие как Prometheus для сбора метрик и Grafana для их визуализации, помогают командам отслеживать производительность и настраивать оповещения о критических ситуациях.
Посмотреть ответ полностью -
Что такое логирование и зачем оно нужно? Junior
Логирование — это процесс записи событий в системе, который помогает в отладке, мониторинге производительности, обеспечении безопасности и соблюдении нормативных требований. Оно позволяет разработчикам выявлять и исправлять ошибки, анализировать поведение пользователей и улучшать качество программного обеспечения.
Посмотреть ответ полностью -
Что такое SSH-ключ и зачем он нужен? Junior
SSH-ключ — это пара криптографических ключей, используемых для безопасной аутентификации и шифрования соединений между клиентом и сервером, обеспечивая более высокий уровень безопасности по сравнению с паролями. Приватный ключ хранится на устройстве пользователя, а публичный устанавливается на сервере, что позволяет легко управлять доступом и автоматизировать процессы.
Посмотреть ответ полностью -
Как проверить, что сервис запущен на сервере? Junior
Для проверки, запущен ли сервис на сервере, можно использовать команды
Посмотреть ответ полностьюsystemctlдля систем сsystemd,serviceдля более старых систем, а такжеps,netstatилиssдля проверки процессов и портов. Эти методы позволяют получить информацию о статусе сервиса и его доступности. -
Что такое HTTP и HTTPS? Junior
HTTP — это основной протокол для передачи данных в интернете, который не обеспечивает безопасность, тогда как HTTPS является его защищённой версией, использующей шифрование для защиты информации, что повышает доверие пользователей и улучшает SEO.
Посмотреть ответ полностью -
Что такое firewall? Junior
Межсетевой экран — это устройство или программа, которая контролирует сетевой трафик по установленным правилам для защиты от несанкционированного доступа и угроз, обеспечивая фильтрацию, мониторинг и управление доступом в сети.
Посмотреть ответ полностью -
Что такое скрипт Bash? Junior
Скрипт Bash — это текстовый файл с командами для автоматизации задач в командной строке Bash, позволяющий управлять системными процессами и конфигурациями. Они важны в DevOps для упрощения рутинных операций и повышения эффективности разработки и администрирования.
Посмотреть ответ полностью -
Что такое cron? Junior
Cron — это планировщик задач в Unix-подобных системах, который автоматически выполняет команды и скрипты по расписанию, что позволяет автоматизировать рутинные операции, такие как резервное копирование и обновление систем.
Посмотреть ответ полностью -
Что такое .env-файл? Junior
Посмотреть ответ полностью.env-файл — это текстовый файл для хранения переменных окружения приложения, таких как ключи API и настройки базы данных, что повышает безопасность и упрощает развертывание, позволяя отделить конфиденциальные данные от исходного кода. -
Что такое менеджмент секретов (secrets management)? Junior
Менеджмент секретов — это процесс безопасного хранения и управления конфиденциальной информацией, такой как пароли и ключи API, с целью минимизации рисков утечек данных. Он включает в себя шифрование, управление доступом, ротацию секретов и аудит, что способствует повышению безопасности в разработке и операционных процессах.
Посмотреть ответ полностью -
Что такое роль (Role) и ролевое управление доступом (RBAC)? Junior
Роль в контексте управления доступом — это набор разрешений для пользователей, а ролевое управление доступом (RBAC) позволяет контролировать доступ на основе этих ролей, обеспечивая безопасность и упрощая управление правами. Основные принципы RBAC включают минимизацию прав, разделение обязанностей и простоту управления.
Посмотреть ответ полностью -
Что такое AWS IAM? Junior
AWS IAM — это служба управления доступом к ресурсам AWS, позволяющая создавать пользователей, группы и роли с определенными политиками доступа. Основная идея заключается в обеспечении безопасности через минимизацию прав, многофакторную аутентификацию и аудит действий пользователей для защиты ресурсов в облаке.
Посмотреть ответ полностью -
Что такое AWS Security Group? Junior
AWS Security Group – это виртуальный брандмауэр, который контролирует входящий и исходящий трафик для ресурсов в AWS, обеспечивая безопасность экземпляров, таких как EC2, путем определения разрешенных соединений через правила, основанные на состоянии.
Посмотреть ответ полностью -
Что такое авто-масштабирование (Auto Scaling) в облаке? Junior
Авто-масштабирование — это автоматическое увеличение или уменьшение вычислительных ресурсов в ответ на изменения нагрузки, что обеспечивает оптимальную производительность и доступность приложений, а также помогает контролировать затраты на инфраструктуру.
Посмотреть ответ полностью -
Что такое высокодоступная система (High Availability)? Junior
Высокодоступная система обеспечивает непрерывное функционирование приложений, минимизируя время простоя и гарантируя надежность через избыточность компонентов, мониторинг, автоматическое восстановление и геораспределение. Это архитектурное решение направлено на защиту от сбоев и потерь данных, делая систему устойчивой к авариям.
Посмотреть ответ полностью -
Что такое резервное копирование (backup) и для чего нужно DRP? Junior
Резервное копирование — это процесс создания копий данных для их защиты и восстановления в случае потери или повреждения, а план восстановления после катастроф (DRP) определяет действия по восстановлению ИТ-инфраструктуры и данных после серьезных инцидентов, минимизируя время простоя и обеспечивая подготовленность к угрозам.
Посмотреть ответ полностью -
Что такое Docker Volume? Junior
Docker Volume — это механизм для хранения данных контейнеров вне их файловой системы, обеспечивающий персистентность, изоляцию и удобство управления, что позволяет сохранять важные данные даже после остановки или удаления контейнеров.
Посмотреть ответ полностью -
Что такое Docker Registry? Junior
Docker Registry — это система для хранения и управления образами контейнеров, позволяющая разработчикам загружать и загружать образы, что упрощает развертывание приложений. Она включает публичные (например, Docker Hub) и частные реестры, обеспечивая контроль доступа и версионирование для эффективного управления.
Посмотреть ответ полностью -
Мониторинг vs логирование: в чем разница? Junior
Мониторинг — это сбор и анализ данных о состоянии системы в реальном времени для выявления проблем, тогда как логирование — это запись событий и действий для последующего анализа и диагностики. Оба подхода важны для эффективного управления приложениями и инфраструктурой.
Посмотреть ответ полностью -
Что такое масштабирование (scaling)? Junior
Масштабирование — это процесс адаптации ресурсов системы для повышения её производительности и доступности, который делится на горизонтальное (добавление серверов) и вертикальное (увеличение ресурсов одного сервера); выбор подхода зависит от архитектуры приложения и требований к доступности.
Посмотреть ответ полностью -
Что такое обновление Rolling Update? Junior
Rolling Update — это стратегия поэтапного обновления приложений, позволяющая минимизировать время простоя и поддерживать доступность сервиса, заменяя старые версии на новые по одному экземпляру за раз и обеспечивая возможность быстрого отката в случае ошибок.
Посмотреть ответ полностью -
Что такое среда исполнения контейнера (runtime)? Junior
Среда исполнения контейнера (runtime) – это программное обеспечение для создания и управления контейнерами, которые обеспечивают изоляцию приложений с их зависимостями, облегчая их развертывание и портируемость.
Посмотреть ответ полностью -
Что такое Pipeline для инфраструктуры? Junior
Pipeline для инфраструктуры — это автоматизированный процесс, который управляет и разворачивает инфраструктуру с помощью кода, обеспечивая быструю и надежную доставку программного обеспечения, минимизируя ошибки и повышая эффективность работы команд.
Посмотреть ответ полностью -
Чем отличается CloudFormation от Terraform? Junior
CloudFormation — это инструмент для развертывания ресурсов в AWS, использующий JSON или YAML, тогда как Terraform поддерживает множество облачных провайдеров и предлагает более гибкое управление состоянием с помощью собственного языка конфигурации HCL. Terraform позволяет создавать мультиоблачные архитектуры и предлагает большую экосистему плагинов, что делает его более универсальным, в то время...
Посмотреть ответ полностью
Middle
-
Как обеспечить отказоустойчивость инфраструктуры? Middle
Отказоустойчивость инфраструктуры обеспечивает доступность сервисов при сбоях за счет дублирования компонентов, геораспределения, автоматического восстановления, регулярного тестирования и использования инфраструктуры как кода, что позволяет минимизировать время простоя и повысить надежность систем.
Посмотреть ответ полностью -
Что такое blue-green deployment и чем отличается от canary? Middle
Blue-Green Deployment — это метод, при котором используются две идентичные среды для минимизации простоя и быстрого отката, тогда как Canary Deployment подразумевает постепенное развертывание новой версии для ограниченной группы пользователей с целью выявления возможных проблем.
Посмотреть ответ полностью -
Что такое балансировка нагрузки и какие есть алгоритмы? Middle
Балансировка нагрузки — это метод распределения трафика между несколькими серверами для оптимизации ресурсов, повышения производительности и обеспечения отказоустойчивости. Основные алгоритмы включают круговое распределение, наименьшее количество соединений и хеширование по IP, каждый из которых имеет свои преимущества и недостатки.
Посмотреть ответ полностью -
Что такое Jenkins и зачем он нужен? Middle
Jenkins — это инструмент для автоматизации разработки, поддерживающий непрерывную интеграцию и развертывание, который помогает командам улучшать качество кода и ускорять процесс доставки за счет автоматизации сборок, тестирования и мониторинга.
Посмотреть ответ полностью -
Что такое Jenkinsfile? Middle
Jenkinsfile — это текстовый файл, определяющий процесс сборки, тестирования и развертывания приложений в Jenkins с использованием DSL на Groovy, что позволяет автоматизировать CI/CD процессы и управлять версиями конфигураций через систему контроля версий.
Посмотреть ответ полностью -
Чем отличается GitLab CI от Jenkins? Middle
GitLab CI и Jenkins — это инструменты для автоматизации CI/CD, где GitLab CI интегрирован с GitLab и проще в настройке, а Jenkins предлагает широкие возможности кастомизации через плагины, но требует больше усилий для настройки и управления.
Посмотреть ответ полностью -
Как хранить артефакты сборки? Middle
Хранение артефактов сборки — это процесс управления выходными данными разработки, который включает использование артефактных репозиториев, облачных хранилищ и систем контроля версий для обеспечения доступности, версионирования и упрощения интеграции с CI/CD. Правильное хранение помогает избежать проблем с воспроизводимостью и управлением зависимостями.
Посмотреть ответ полностью -
Что такое GitOps? Middle
GitOps — это метод управления и развертывания приложений, использующий Git как единственный источник правды, позволяющий автоматизировать процессы через CI/CD и обеспечивать предсказуемость, безопасность и простоту отката изменений.
Посмотреть ответ полностью -
Что такое Helm Chart? Middle
Helm Chart — это пакетное решение для управления приложениями в Kubernetes, которое упрощает развертывание и обновление с помощью конфигурационных файлов и шаблонов. Он позволяет легко управлять версиями, использовать шаблонизацию и имеет обширную экосистему готовых решений, что делает процесс развертывания более эффективным.
Посмотреть ответ полностью -
Как собрать стек логирования (ELK/EFK)? Middle
Стек логирования ELK/EFK состоит из Elasticsearch, Logstash (или Fluentd) и Kibana, позволяя собирать, обрабатывать и визуализировать логи для эффективного мониторинга и анализа систем.
Посмотреть ответ полностью -
Как управлять секретами в CI/CD (Vault, GitHub Secrets, KMS)? Middle
Управление секретами в CI/CD включает использование инструментов, таких как HashiCorp Vault, GitHub Secrets и AWS KMS, для безопасного хранения и контроля доступа к конфиденциальной информации, что критически важно для защиты данных и предотвращения утечек.
Посмотреть ответ полностью -
Что такое immutable infrastructure (иммьютабл-инфраструктура)? Middle
Иммьютабл-инфраструктура — это подход к управлению IT-инфраструктурой, при котором компоненты системы создаются и развертываются в неизменном виде, а изменения осуществляются путем создания новых экземпляров, что обеспечивает простоту развертывания, легкость отката и упрощение управления.
Посмотреть ответ полностью -
Что такое Kubernetes namespace? Middle
Kubernetes namespace – это логическая изоляция ресурсов внутри кластера, позволяющая организовывать объекты в отдельные группы для упрощения управления и повышения безопасности. Каждый namespace действует как независимое пространство, что полезно для разделения окружений и управления доступом к ресурсам.
Посмотреть ответ полностью -
Что такое Pod Disruption Budget (PDB)? Middle
Pod Disruption Budget (PDB) в Kubernetes управляет минимальной доступностью приложений при операциях, которые могут временно сделать поды недоступными, гарантируя, что заданное количество подов останется работающим во время обновлений или масштабирования.
Посмотреть ответ полностью -
Что такое ConfigMap и Secret в Kubernetes? Middle
ConfigMap и Secret в Kubernetes используются для управления конфигурацией приложений: ConfigMap хранит нешифрованные данные, а Secret - чувствительную информацию в зашифрованном виде, что обеспечивает безопасность и гибкость при развертывании.
Посмотреть ответ полностью -
Какие типы оркестрации контейнеров вы знаете? Middle
Оркестрация контейнеров — это автоматизация развертывания и управления контейнеризованными приложениями с помощью таких инструментов, как Kubernetes для масштабируемых решений, Docker Swarm для простоты, Apache Mesos для гибкости и Amazon ECS для облачной интеграции.
Посмотреть ответ полностью -
Чем отличаются stateful и stateless приложения? Middle
Stateful приложения сохраняют состояние между запросами, что упрощает управление сессиями, но усложняет масштабируемость, в то время как stateless приложения обрабатывают каждый запрос независимо, что делает их более масштабируемыми и надежными, но требует дополнительных решений для хранения состояния.
Посмотреть ответ полностью -
Что такое стек CI/CD (lint, build, test, deploy)? Middle
Стек CI/CD включает в себя автоматизацию этапов разработки программного обеспечения: линтинг для проверки кода, сборку для компиляции, тестирование для обеспечения качества и развертывание для размещения приложения, что в целом улучшает эффективность разработки и снижает вероятность ошибок.
Посмотреть ответ полностью -
Что такое deployment strategies (blue-green, canary и т.д.)? Middle
Стратегии развертывания, такие как blue-green, canary и rolling updates, определяют, как новая версия приложения внедряется, минимизируя время простоя и риски, позволяя тестировать обновления на ограниченной аудитории или в параллельных окружениях, что обеспечивает более безопасное и контролируемое развертывание.
Посмотреть ответ полностью -
Что такое Git branching strategies? Middle
Стратегии ветвления в Git помогают организовывать работу с ветками, управлять разработкой и минимизировать конфликты. К основным стратегиям относятся Git Flow, Git Hub Flow и Git Lab Flow, каждая из которых имеет свои преимущества и недостатки, подходящие для различных проектов и команд.
Посмотреть ответ полностью -
Что такое SLI, SLO, SLA? Middle
SLI — это метрика, измеряющая уровень сервиса, SLO — целевое значение для SLI, а SLA — формальное соглашение между поставщиком и клиентом, описывающее уровень услуг и последствия за их невыполнение.
Посмотреть ответ полностью -
Что такое мониторинг Pull vs Push? Middle
Существует два основных подхода к мониторингу: Pull, при котором система периодически опрашивает целевые системы для получения данных, и Push, где целевые системы отправляют метрики непосредственно на сервер мониторинга. Pull подходит для обеспечения безопасности и контроля нагрузки, а Push — для мгновенного уведомления о проблемах и гибкости в отправке данных. Выбор между ними зависит от...
Посмотреть ответ полностью -
Чем Ansible отличается от Terraform? Middle
Ansible — это инструмент для управления конфигурацией с императивным подходом, подходящий для автоматизации задач, в то время как Terraform управляет инфраструктурой как код, используя декларативный подход и поддерживая состояние для эффективного управления ресурсами.
Посмотреть ответ полностью -
Что такое Service Mesh? Middle
Service Mesh — это инфраструктурный слой для управления сетевыми взаимодействиями между микросервисами, который обеспечивает маршрутизацию трафика, безопасность и мониторинг без изменения кода приложений. Он упрощает администрирование, поддерживает шифрование данных и позволяет интегрировать мониторинг, что делает взаимодействия между сервисами более организованными и безопасными.
Посмотреть ответ полностью -
Что такое GitHub Actions / GitLab CI? Middle
GitHub Actions и GitLab CI — это инструменты для автоматизации процессов разработки и развертывания приложений, позволяющие создавать конвейеры для интеграции изменений кода. GitHub Actions хорошо интегрирован с GitHub и прост в использовании, тогда как GitLab CI предлагает большую гибкость и возможности для настройки.
Посмотреть ответ полностью -
Как обеспечить непрерывную интеграцию при нескольких зависимостях? Middle
Непрерывная интеграция с несколькими зависимостями требует чёткого документирования зависимостей, использования менеджеров зависимостей для их управления, автоматизации сборки и тестирования, а также создания изолированных окружений для каждого модуля. Важно согласовывать версии зависимостей и регулярно проводить тестирование на совместимость для предотвращения конфликтов.
Посмотреть ответ полностью -
Что такое GitLab Runner? Middle
GitLab Runner - это инструмент для автоматизации процессов CI/CD, который выполняет сборку, тестирование и развертывание приложений в изолированных средах, поддерживает различные платформы и обеспечивает гибкость настройки.
Посмотреть ответ полностью -
Что такое Канареечный разворот (Canary Release)? Middle
Канареечный разворот — это стратегия развертывания новой версии ПО на ограниченной группе пользователей для тестирования в реальных условиях, что позволяет выявлять ошибки и оценивать функциональность перед полным развертыванием.
Посмотреть ответ полностью -
Что такое Dynatrace/NewRelic/Datadog? Middle
Dynatrace, New Relic и Datadog — это инструменты для мониторинга производительности приложений, которые помогают поддерживать высокую доступность и оптимизацию работы систем. Dynatrace использует AI для глубокого анализа, New Relic предлагает простоту интеграции и анализа пользовательского опыта, а Datadog объединяет мониторинг приложений и инфраструктуры с мощными визуализациями.
Посмотреть ответ полностью -
Что такое Observability (наблюдаемость)? Middle
Наблюдаемость — это подход, позволяющий понять состояние системы через сбор и анализ метрик, логов и трейсинга, что помогает выявлять проблемы, оптимизировать производительность и улучшать пользовательский опыт.
Посмотреть ответ полностью -
Что такое CAP-теорема? Middle
CAP-теорема описывает ограничения распределённых систем, утверждая, что одновременно можно обеспечить только два из трёх свойств: согласованность, доступность и устойчивость к сетевым разделениям. Это важно учитывать при проектировании систем, чтобы выбрать подходящий баланс между этими характеристиками в зависимости от бизнес-требований.
Посмотреть ответ полностью -
Что такое миграции БД и откат? Middle
Миграции баз данных — это структурированные изменения схемы БД, позволяющие управлять версиями и обновлять структуру без потери данных, а откат — это процесс возврата к предыдущему состоянию в случае ошибок или необходимости отмены изменений.
Посмотреть ответ полностью -
Как оптимизировать базу данных и работать с медленными запросами? Middle
Оптимизация базы данных включает создание индексов, нормализацию и денормализацию данных, анализ и улучшение запросов, кэширование результатов и регулярное обслуживание системы. Эти подходы помогают повысить производительность приложений и ускорить время отклика на запросы пользователей.
Посмотреть ответ полностью -
Что такое SQL vs NoSQL базы? Middle
Реляционные базы данных (SQL) используют фиксированные схемы и поддерживают сложные запросы и транзакции, обеспечивая целостность данных, тогда как нереляционные базы данных (NoSQL) предлагают гибкость в структуре хранения и лучше подходят для масштабируемых приложений с большими объемами данных.
Посмотреть ответ полностью
Senior
-
Что такое observability и чем отличается от мониторинга? Senior
Наблюдаемость — это способность системы предоставлять информацию о своем внутреннем состоянии, позволяя диагностировать и предсказывать проблемы, в то время как мониторинг фокусируется на сборе данных и уведомлении о состоянии системы для обеспечения ее работоспособности.
Посмотреть ответ полностью -
Что такое eBPF и зачем он нужен? Senior
eBPF — это механизм в ядре Linux, позволяющий выполнять пользовательский код для мониторинга, управления производительностью и обеспечения безопасности системы без перезагрузки. Он позволяет отслеживать сетевой трафик и системные события, обеспечивая высокую производительность и гибкость в управлении.
Посмотреть ответ полностью -
Что такое service mesh и зачем он нужен? Senior
Service Mesh — это инфраструктурный слой для управления взаимодействиями между микросервисами, обеспечивающий контроль, безопасность и наблюдаемость, что позволяет разработчикам сосредоточиться на бизнес-логике.
Посмотреть ответ полностью -
Что такое Cluster Federation (мультикластер Kubernetes)? Senior
Мультикластер Kubernetes позволяет управлять несколькими кластерами как единым целым, обеспечивая высокую доступность и масштабируемость для распределённых приложений. Он упрощает автоматизацию и централизованное управление, но требует тщательного планирования из-за сложности управления и сетевых зависимостей.
Посмотреть ответ полностью -
Что такое GitOps в масштабе компании? Senior
GitOps — это методология управления инфраструктурой и приложениями, использующая Git как единственный источник правды для автоматизации развертывания и управления состоянием, что позволяет повысить скорость и надежность операций.
Посмотреть ответ полностью -
Что такое конфигурационный дрейф (Configuration Drift)? Senior
Конфигурационный дрейф — это отклонение системы от её задокументированного состояния, возникающее из-за ручных изменений, обновлений и различных окружений, что затрудняет диагностику проблем и может создавать уязвимости. Чтобы предотвратить дрейф, важно автоматизировать управление конфигурацией, регулярно проводить проверки и поддерживать актуальную документацию.
Посмотреть ответ полностью -
Как организовать on-call (дежурства) для команды DevOps? Senior
Организация дежурств для команды DevOps включает в себя определение целей, формирование команды с необходимыми компетенциями, использование подходящих инструментов для мониторинга и управления инцидентами, разработку четких процессов реагирования, проведение постинцидентного анализа и регулярное обучение команды, что позволяет обеспечивать надежную работу систем и быстрое реагирование на...
Посмотреть ответ полностью -
Что такое SLI, SLO, SLA и error budget? Senior
SLI, SLO, SLA и error budget - это ключевые концепции в DevOps, позволяющие измерять и управлять уровнем сервиса: SLI - метрика для оценки работы системы, SLO - целевое значение для SLI, SLA - формальное соглашение с клиентом о ожидаемых уровнях сервиса, а error budget - допустимая разница между SLO и фактическим уровнем сервиса.
Посмотреть ответ полностью -
Что такое CAP-теорема и зачем она нужна? Senior
CAP-теорема описывает компромисс между согласованностью, доступностью и устойчивостью к сетевым разделениям в распределённых системах, подчеркивая, что невозможно одновременно достичь всех трёх свойств. Это помогает разработчикам выбирать подходящие архитектуры и технологии в зависимости от потребностей приложения.
Посмотреть ответ полностью -
Как обеспечить безопасность Kubernetes-кластера (RBAC, OPA, Admission Controllers)? Senior
Обеспечение безопасности Kubernetes-кластера включает использование RBAC для управления доступом на основе ролей, OPA для определения политик безопасности и Admission Controllers для проверки запросов на создание и изменение ресурсов, что в совокупности помогает предотвратить несанкционированный доступ и защитить данные.
Посмотреть ответ полностью -
Что такое роль и политика доступа (RBAC vs ABAC)? Senior
RBAC (управление доступом на основе ролей) назначает права пользователям в зависимости от их ролей, что обеспечивает простоту управления, но ограничивает гибкость. ABAC (управление доступом на основе атрибутов) использует различные свойства пользователей и ресурсов для более сложных и адаптивных политик доступа, что позволяет учитывать множество условий, но требует большей сложности в настройке и...
Посмотреть ответ полностью -
Что такое StatefulSet vs Deployment в Kubernetes? Senior
Deployment используется для управления развертыванием статeless приложений с высокой доступностью и масштабируемостью, тогда как StatefulSet предназначен для stateful приложений, требующих уникальных идентификаторов и постоянного хранилища, таких как базы данных.
Посмотреть ответ полностью -
Что такое Linux namespaces и cgroups? Senior
Linux namespaces и cgroups обеспечивают изоляцию процессов и управление ресурсами в контейнеризированных средах, позволяя каждому контейнеру иметь свои собственные настройки и ограничения по ресурсам, что критически важно для безопасности и производительности приложений.
Посмотреть ответ полностью -
Что такое eBPF vs iptables? Senior
eBPF — это механизм для выполнения пользовательских программ в ядре Linux, обеспечивающий гибкость и высокую производительность для сетевого мониторинга и анализа, тогда как iptables — это инструмент для настройки правил фильтрации пакетов, который проще в использовании, но менее гибок и может иметь больший накладной расход при большом количестве правил.
Посмотреть ответ полностью -
Что такое DPDK и SR-IOV? Senior
DPDK — это набор библиотек для ускоренной обработки сетевых пакетов с минимальными задержками, в то время как SR-IOV позволяет виртуальным машинам напрямую взаимодействовать с физическими сетевыми интерфейсами, что улучшает производительность и снижает нагрузку на гипервизор.
Посмотреть ответ полностью -
Что такое NetFlow / IPFIX? Senior
NetFlow и IPFIX — это технологии для мониторинга и анализа сетевого трафика, позволяющие собирать данные о потоках для управления производительностью, безопасности и оптимизации ресурсов. Они обеспечивают детальный анализ трафика и экспорт информации для дальнейшей обработки, что помогает выявлять узкие места и аномалии в работе сети.
Посмотреть ответ полностью -
Что такое SDN (Software-Defined Networking)? Senior
Software-Defined Networking (SDN) — это подход к управлению сетями, который отделяет управление от аппаратного обеспечения, позволяя гибко настраивать и оптимизировать сетевую инфраструктуру через централизованный контроллер и программируемые приложения.
Посмотреть ответ полностью -
Что такое DRP (Disaster Recovery Plan)? Senior
План восстановления после катастроф (DRP) — это документ, описывающий процедуры для восстановления инфраструктуры и операций после серьезного сбоя, с целью минимизации времени простоя и потерь данных. Он включает анализ рисков, идентификацию критических ресурсов, стратегии и процедуры восстановления, а также регулярное тестирование и обновление плана.
Посмотреть ответ полностью -
Что такое on-call rotation и runbook? Senior
On-call rotation — это система дежурства, при которой члены команды поочередно отвечают на инциденты для обеспечения бесперебойной работы систем, а runbook — это документ с пошаговыми инструкциями для решения рутинных задач и инцидентов.
Посмотреть ответ полностью -
Что такое Autoscaling Kubernetes (HPA vs Cluster Autoscaler)? Senior
Автоматическое масштабирование в Kubernetes включает Horizontal Pod Autoscaler (HPA), который изменяет количество подов в зависимости от нагрузки, и Cluster Autoscaler, который управляет узлами кластера для обеспечения необходимых ресурсов. HPA адаптирует приложения к текущим метрикам, а Cluster Autoscaler добавляет или удаляет узлы в зависимости от потребностей подов.
Посмотреть ответ полностью -
Что такое Infrastructure API (например, AWS SSM Parameter Store)? Senior
Infrastructure API, такие как AWS SSM Parameter Store, позволяют программно управлять инфраструктурой, автоматизируя конфигурацию и мониторинг ресурсов, а также обеспечивая безопасное хранение параметров и секретов приложений.
Посмотреть ответ полностью -
Что такое immutable AMI (golden image)? Senior
Immutable AMI — это неизменяемый образ виртуальной машины, который гарантирует стабильность и предсказуемость окружения, позволяя создавать новые версии при обновлениях и минимизируя конфликты между разными средами.
Посмотреть ответ полностью -
Как настроить мониторинг метрик Kubernetes (Prometheus)? Senior
Настройка мониторинга метрик в Kubernetes с помощью Prometheus включает установку через Helm, конфигурацию сбора метрик с использованием аннотаций, настройку постоянного хранилища и доступ к веб-интерфейсу для анализа данных и создания алертов.
Посмотреть ответ полностью -
Что такое Admission Controller (Validating и Mutating)? Senior
Admission Controller в Kubernetes — это компонент, который обрабатывает запросы на создание, обновление или удаление ресурсов, разделяясь на Validating (проверяющие корректность) и Mutating (изменяющие запросы) контроллеры, что помогает обеспечить соблюдение политик и автоматизацию управления ресурсами.
Посмотреть ответ полностью -
Что такое RBAC vs ABAC vs ACL? Senior
RBAC (управление доступом на основе ролей) назначает пользователям права через роли, ABAC (управление доступом на основе атрибутов) учитывает различные атрибуты для определения прав, а ACL (списки управления доступом) явно перечисляет, какие пользователи имеют доступ к ресурсам и их действия.
Посмотреть ответ полностью -
Что такое Azure DevOps и GitHub Actions (сравнение)? Senior
Azure DevOps и GitHub Actions — это инструменты для автоматизации разработки и доставки ПО, где Azure DevOps предлагает комплексное управление жизненным циклом проектов и интеграцию с Azure, а GitHub Actions обеспечивает простоту настройки рабочих процессов непосредственно в GitHub с использованием готовых действий.
Посмотреть ответ полностью