Библиотека задач по DevOps | тесты, код, задания
2.87K subscribers
115 photos
3 videos
2 files
150 links
Задачи и тесты по DevOps для тренировки и обучения.

По рекламе: @proglib_adv

Наши каналы: https://yangx.top/proglibrary/9197

Учиться у нас: https://proglib.io/w/2b07c285

Работать у нас: https://job.proglib.io/
加入频道
Что означает CAMS в DevOps?

CAMS означает «Культура, автоматизация, измерение и обмен» (Culture, Automation, Measurement, and Sharing). Это основы DevOps.
Какова концепция sudo в ОС Linux?

Sudo означает «superuser do», где суперпользователь является корневым пользователем Linux. Это программа для систем на базе Linux/Unix, которая позволяет пользователям с ролью суперпользователя использовать определенные системные команды на их корневом уровне.
Какая команда git загружает любой репозиторий с GitHub на ваш компьютер?

Команда git, которая загружает любой репозиторий с GitHub на ваш компьютер, — git clone.
Как создать резервную копию и скопировать файлы в Jenkins?

Чтобы создать файл резервной копии, периодически создавайте резервную копию каталога JENKINS_HOME.

Чтобы создать резервную копию настройки Jenkins, скопируйте каталог JENKINS_HOME. Вы также можете скопировать каталог задания, чтобы клонировать или реплицировать задание, или переименовать каталог.
Как разработать самовосстанавливающуюся распределенную службу?

Любая система, которая должна быть способна к самовосстановлению, должна в определенной степени иметь возможность обрабатывать ошибки и разделения (т. е. когда часть системы не может получить доступ к остальной части системы).

Для баз данных обычным способом решения проблемы толерантности к разделам является использование кворума для записи. Это значит, что каждый раз, когда что-то записывается, минимальное количество узлов должно подтвердить запись.

Минимальное количество узлов, необходимое для корректного восстановления после отказа одного узла, составляет три узла. Таким образом, два исправных узла смогут подтвердить состояние системы.

Для облачных приложений эти три узла обычно распределяются по трем зонам доступности.
Объясните, что такое state stalking в Nagios.

State stalking используется для целей логгинга в Nagios.

Когда для определенного хоста или службы включено stalking, Nagios будет очень внимательно следить за этим хостом или службой.

Он будет регистрировать любые изменения, которые он увидит в результатах проверки.

Это помогает при анализе файлов логов.
Перечислите лучшие инструменты непрерывного тестирования?

Ниже приведены лучшие инструменты непрерывного тестирования:

✍🏻 Selenium
✍🏻 Katalon Studio
✍🏻 Eggplant
✍🏻 Watir
✍🏻 Tosca
В чем разница между CI и CD?

CI означает «непрерывная интеграция», а CD — «непрерывная доставка» или «непрерывное развертывание». CI — это основа непрерывной доставки и непрерывного развертывания. Непрерывная доставка и непрерывное развертывание автоматизируют выпуски, тогда как CI автоматизирует только сборку.

Хотя непрерывная поставка направлена на создание программного обеспечения, которое может быть выпущено в любое время, выпуск в прод по-прежнему осуществляется вручную по чьему-либо решению. Непрерывное развертывание делает еще один шаг вперед и фактически выпускает эти компоненты в производственные системы.
Какую последнюю ошибку в безопасности вы допустили? Чему вы научились благодаря этому?

Пример ответа: «Однажды я пропустил обновление патча безопасности, что привело к незначительной уязвимости. Я осознал важность регулярного внесения исправлений и теперь настроил автоматические оповещения».
Почему использовать платформу как услугу проще, чем размещать код на одном вычислительном экземпляре?

Пример ответа: «Решения PaaS абстрагируют управление инфраструктурой, позволяя разработчикам сосредоточиться на коде. Они автоматически масштабируются в зависимости от спроса, тогда как одиночный вычислительный инстанс имеет ограничения и требует масштабирования вручную».
Если на каждой ноде Kubernetes кластера нужно запустить контейнер, то какой ресурс Kubernetes вам подойдет?

DaemonSet является контроллером, основным назначением которого является запуск подов на всех нодах кластера. Если нода добавляется/удаляется — DaemonSet автоматически добавит/удалит под на этой ноде.

DaemonSet подходят для запуска приложений, которые должны работать на всех нодах, например — екпортёры мониторинга, сбор логов и так далее.
Что будет если на сервере LA = 100?

Вероятно, что на сервере будет наблюдаться замедленная работа сервисов, но если параметр LA равен количеству ядер в системе или количеству потоков в системе, то данная нагрузка является нормальной.
Чем отличается Kubernetes от Openshift?

Openshift имеет более строгие политики безопасности и модели аутентификации.
Openshift поддерживает полную интеграцию CI/CD Jenkins.
Openshift имеет веб-консоль по-умолчанию. В Kubernetes консоль необходимо дополнительно устанавливать консоль.
В Kubernetes возможно устанавливать сторонние сетевые плагины. В Openshift используется собственное сетевое решение Open vSwitch, которое предоставляет 3 различный плагина.
Kubernetes может быть установлен практически на любой дистрибутив Linux. Openshift имеет ограничения на устанавливаемые дистрибутивы, преимущественно используются RH-дистрибутивы.
Kubernets доступен в большинстве облачных платформ - GCP, AWS, Azure, Yandex.Cloud. Openshift доступен на облачной платформе Azure и облаке от IBM.
По-умолчанию, в Openshift поды в кластере могут быть запущены только под обычным пользователем, чтобы запустить под под пользователем root необходимо выдать права для сервисного аккаунта. В Kubernetes по-умолчанию поды могут быть запущены по пользователем root.
Напишите простую конфигурацию Terraform для создания корзины AWS S3.
Зачем нужен terraform taint?

Команда terraform taint пометит ресурс инфраструктуры, который будет удален и заново создан при следующем применении команды terraform apply.
Что можно использовать вместо YAML в качестве альтернативного файла для создания композиции Docker?

Можно использовать файл JSON вместо YAML. Если пользователь хочет использовать файл JSON, он должен указать имя файла, как указано:

Docker-compose -f Docker-compose.json up
Почему компании используют непрерывную интеграцию в процессе разработки?

Непрерывная интеграция помогает разработчикам писать код быстрее. Она позволяет командам легче работать над отдельными фичами за счет автоматизации ручного процесса программирования в комплексный сервис. Команды разработчиков могут сосредоточиться на одном аспекте проекта и быстро завершить его, при этом перекидывая на автоматизацию более утомительные задачи интеграции.
Объясните непрерывное тестирование и опишите его цель.

Непрерывное тестирование — это процесс, в котором автоматизированное тестирование происходит на каждом этапе жизненного цикла разработки продукта. В нем используется стратегия сдвига влево, что означает, что команды проводят тестирование на начальных этапах процесса разработки, а не в конце. Целью непрерывного тестирования является улучшение тестового покрытия для функциональных, нефункциональных и автоматизированных тестовых кейсов, которые представляют собой наборы действий, выполняемых в системах, чтобы определить, удовлетворяют ли они требованиям конечного пользователя. Благодаря этому процессу разные команды могут быстро выявлять проблемы и быстрее их обеспечивать. поставки программного обеспечения.
Какие инструменты DevOps наиболее популярны?

✍🏻 Git: инструмент системы контроля версий
✍🏻 Jenkins: инструмент непрерывной интеграции
✍🏻 Docker: инструмент контейнеризации
✍🏻 Puppet: инструменты управления конфигурацией и развертывания
✍🏻 Ansible: инструмент управления конфигурацией и развертывания
✍🏻 Nagios: инструмент непрерывного мониторинга
Как выглядит хороший кандидат на роль инженера DevOps?

Компетентный инженер DevOps должен обладать глубоким пониманием конвейеров CI/CD, иметь опыт работы с облачными сервисами и проявлять упреждающий подход к решению проблем. Он должен демонстрировать внимательное отношение к вопросам безопасности, уметь сотрудничать и иметь стремление к постоянному обучению.

Красные флаги


Будьте осторожны с кандидатами, у которых нет практического опыта работы с популярными инструментами DevOps или которые не знакомы с базовыми облачными сервисами. Нежелание сотрудничать или неспособность сформулировать важность безопасности в DevOps также могут вызывать опасения.