Библиотека собеса по 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
加入频道
Что такое сетевой анализатор 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.
Каково значение непрерывного тестирования в DevOps?

Процесс непрерывного тестирования выполняется в DevOps, чтобы избежать тестирования всего кода за раз. В традиционном SDLC мы тестируем код после того, как весь код разработан, но в DevOps мы тестируем мгновенно каждое изменение, внесенное в код. Этот вид тестирования позволяет избежать задержек с выпуском продукта, а также помогает добиться более высокого качества.
Как посмотреть нагрузку на диски?

Установить утилиту sysstat, проверить нагрузку на диски iostat -xtc.
По вашему опыту, в чем преимущества DevOps?

Пример ответа: «Применяя философию DevOps, я получил несколько преимуществ, в том числе более быстрый выход на рынок, повышенную надежность и стабильность, а также улучшенную масштабируемость. Благодаря простоте распределения ресурсов, которую обеспечивает горизонтальное и вертикальное масштабирование, команды могут улучшить масштабируемость приложения и лучше удовлетворить требования пользователей. Автоматизация, непрерывная интеграция и непрерывная доставка также могут облегчить командам быстрое создание, тестирование и развертывание своих приложений и сократить время вывода на рынок. Автоматизированное тестирование и мониторинг также могут помочь повысить общую надежность и стабильность приложения.»
Опишите идеальную облачную инфраструктуру и настройку облачного ведения логов.

Пример ответа: «Я предпочитаю сочетание инстансов для обработки, управляемых баз данных для хранения данных, балансировщиков нагрузки для распределения трафика и CDN для доставки контента. Для логгинга я использую централизованные решения, такие как ELK Stack, для мониторинга и анализа поведения системы».