Библиотека собеса по DevOps | вопросы с собеседований
3.07K subscribers
121 photos
4 videos
2 files
154 links
Вопросы с собеседований по DevOps и ответы на них.

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

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

Работать у нас: https://job.proglib.io/

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
Что такое CBD в DevOps?

CBD — разработка на основе компонентов (Component-Based Development). Это уникальный подход к разработке продукта. Здесь разработчики продолжают искать существующие четко определенные, протестированные и проверенные компоненты кода и освобождают коллег от необходимости разработки с нуля.
Что вы знаете о DevOps?

Ваш ответ должен быть простым и понятным. Начните с объяснения растущей важности DevOps в ИТ-индустрии. Обсудите, как такой подход направлен на объединение усилий групп разработки и эксплуатации для ускорения поставки программных продуктов с минимальным уровнем отказов. Расскажите о том, что DevOps — это практика с добавленной стоимостью, когда инженеры по разработке и эксплуатации объединяют усилия на протяжении всего жизненного цикла продукта или услуги, начиная со стадии проектирования и заканчивая развертыванием.
Как Kubernetes организует контейнеры?

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

Конфликты слияния возникают при объединении двух ветвей с конкурирующими коммитами. Конфликты слияния обычно возникают, когда разные разработчики изменяют одну и ту же строку кода или файл.
Что такое сетевой анализатор Nagios?

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

[Unit]
Description=Test_service
After=postgres.service
StartLimitBurst=5
StartLimitIntervalSec=10
[Service]
Type=simple
Restart=always
RestartSec=1
User=centos
ExecStart=/usr/bin/env python /app/server.py
[Install]
WantedBy=multi-user.target
Объясните паттерны IaaS/PaaS/SaaS на примере пиццы.

На картинках варианты ответов.
Напишите политику для AWS S3 бакета, которая разрешает доступ только с определенных IP адресов.

{
"Id": "AllowFromSourceIP",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SourceIP",
"Action": "s3:*",
"Effect": "Deny",
"Resource": [
"arn:aws:s3:::demo-bucket",
"arn:aws:s3:::demo-bucket/*"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"11.11.11.11/32",
"22.22.22.22/32"
]
}
},
"Principal": "*"
}
]
}
Что такое непрерывная интеграция?

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

Каждый фрагмент кода (изменение / патч) проверяется для того, чтобы изменения можно было безопасно объединить. Сегодня обычной практикой является тестирование изменений с помощью автоматизированной сборки, которая обеспечивает интеграцию кода. Это может быть одна сборка, которая запускает несколько тестов на разных уровнях (модульных, функциональных и т. д.), или несколько отдельных сборок, которые нужно пройти, чтобы изменения были добавлены в репозиторий.
Что такое тестовая кухня в Chef?

Test Kitchen — это инструмент командной строки в Chef, который запускает экземпляр и тестирует на нем cookbook перед ее развертыванием на реальных узлах.

Вот наиболее часто используемые команды.
Какие инструменты с открытым исходным кодом вы используете, чтобы сделать Puppet более мощным?

Изменения в конфигурации отслеживаются с помощью Jira, а дальнейшее обслуживание осуществляется посредством внутренних процедур. Контроль версий использует поддержку Git и приложения диспетчера кода Puppet. Изменения передаются через конвейер непрерывной интеграции Jenkins.
Какие ресурсы есть в Puppet?

Ресурсы — это базовые единицы любого инструмента управления конфигурацией. Это функции ноды, такие как его пакеты программного обеспечения или услуги. Объявление ресурса, записанное в каталоге, описывает действие, которое должно быть выполнено над ресурсом или с ним. Когда каталог выполняется, он устанавливает ноду в желаемое состояние.
Почему люди используют SSH?

SSH, или Secure Shell, используется для установки безопасного соединения между клиентом и сервером. Это важно для таких задач, как удаленное управление сервером, обеспечение зашифрованной и аутентифицированной связи.
Какова важность управления конфигурацией в DevOps?

Управление конфигурацией (CM) помогает команде автоматизировать трудоемкие и утомительные задачи, тем самым повышая производительность и гибкость организации. Это также помогает обеспечить согласованность и улучшить процесс разработки продукта за счет использования средств оптимизации проектирования, обширной документации, контроля и внедрения изменений на различных этапах.
Что такое тестирование устойчивости?

Тестирование устойчивости — это программный процесс, который проверяет поведение приложения в неконтролируемых и хаотических сценариях. Он гарантирует, что данные и функциональность не будут потеряны после возникновения сбоя.
Что такое синий/зеленый шаблон развертывания?

Это метод непрерывного развертывания, который обычно используется для сокращения времени простоя. Здесь трафик передается от одного экземпляра к другому. Чтобы включить новую версию кода, мы должны заменить старый код новой версией кода. Новая версия существует в зеленой среде, а старая версия — в синей среде. После внесения изменений в предыдущую версию нам нужен новый экземпляр из старого, чтобы выполнить более новую версию экземпляра.
Назовите три механизма безопасности, которые Дженкинс использует для аутентификации пользователей.

⚡️Дженкинс использует внутреннюю базу данных для хранения пользовательских данных и учетных данных.
⚡️Jenkins может использовать сервер облегченного протокола доступа к каталогам (LDAP) для аутентификации пользователей.
⚡️Jenkins можно настроить на использование механизма аутентификации, который использует развернутый сервер приложений.
Опишите некоторые шаблоны развертывания.

Blue Green развертывания и Canary-релизы являются распространенными шаблонами развертывания.

В сине-зеленых развертываниях у вас есть две идентичные среды. В «зеленой» среде находится текущая производственная система. Развертывание происходит в «синей» среде.

«Синяя» среда проверяется на наличие неисправностей и, если все работает хорошо, балансировка нагрузки и другие компоненты переключаются из «зеленой» среды в «синюю».

Canary-релизы — это релизы, в которых определенные функции предоставляются определенной группе пользователей, чтобы снизить риск, связанный с выпуском новых функций.
Как запустить несколько контейнеров с помощью одного сервиса?

С помощью Docker Compose можно запускать несколько контейнеров как одну службу. Здесь каждый контейнер работает изолированно, но может взаимодействовать друг с другом. Все файлы Docker Compose представляют собой файлы YAML.