Библиотека собеса по 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
加入频道
Что такое git stash?

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

main.tf — основной конфигурационный файл, описывающий, какие инстансы необходимо создать. variables.tf — конфигурация с описанием переменных и значениями по умолчанию. Если значения по умолчанию не задано, то они являются обязательными. terraform.tfvars — конфигурация со значениями переменных. Часто является секретным файлом, поэтому нужно с осторожностью пушить в публичные репозитарии. outputs.tf — описание выходных переменных. Необязательный файл, но очень удобно выделять нужные параметры из созданного инстанса, например IP созданного в облаке инстанса.
За что отвечает kube-proxy?

Kube-proxy отвечает за взаимодействие между сервисами на разных нодах кластера.
Может ли Selenium протестировать приложение в браузере Android?

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

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

Обычно Nagios использует для мониторинга следующие номера портов.
Объясните Git Bisect.

Git bisect поможет вам найти коммит, в котором возникла ошибка, с помощью двоичного поиска.
Как запустить браузер с помощью WebDriver в Selenium?

Чтобы запустить браузер с помощью WebDriver, используется следующий синтаксис:

WebDriver driver = new InternetExplorerDriver();

WebDriver driver = new ChromeDriver();

WebDriver driver = new FirefoxDriver();
Что такое 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.