Библиотека собеса по 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
加入频道
Назовите три механизма безопасности, которые Дженкинс использует для аутентификации пользователей.

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

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

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

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

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

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

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

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

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

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

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

Если безопасность включена, файл конфигурации содержит XML-элемент с именем useSecurity, которому будет присвоено значение true.

Если изменить этот параметр на false, безопасность будет отключена при следующем перезапуске Jenkins.
Почему важно иметь управление конфигурацией в DevOps?

Пример ответа: «Это гарантирует, что конфигурации приложения согласованы в различных средах, уменьшая количество ошибок во время развертывания и гарантируя, что приложения ведут себя должным образом».
Что такое Puppet Modules и чем они отличаются от Puppet Manifests?

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

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

Необходимо добавить when: manual в описание заданной джобы. По-умолчанию при использовании when: manual параметр allow_failure установлен в true, поэтому данная джоба будет запускаться автоматически. Чтобы такого не было, необходимо также установить параметр allow_failure: false.
Какие факторы необходимы для успешного выполнения непрерывной интеграции?

Для успешной непрерывной интеграции необходимо несколько факторов. К ним относятся хорошо поддерживаемая библиотека кода, автоматизированные сборки и тестирование, а также комплексный набор автоматизированных тестов. Перед непрерывной интеграцией важно запустить все тесты на локальном компьютере.
Зачем использовать контроль версий в DevOps?

Система контроля версий позволяет командам работать независимо над различными компонентами проекта и легко объединять их после завершения. Система также упаковывает все предыдущие версии. Это может быть удобно, если вы хотите вернуться к предыдущей версии, чтобы со временем управлять изменениями в исходном коде.
Зачем вообще нужен DevOps?

Основные причины для принятия DevOps перечислены ниже:
✍🏻 Ускорение инноваций
✍🏻 Сокращение циклов разработки
✍🏻 Снижение количества ошибок при развертывании
✍🏻 Улучшение коммуникации и совместной работы
✍🏻 Более стабильная операционная среда
✍🏻 Повышение эффективности
✍🏻 Сокращение затрат и численности ИТ-персонала
Каковы компоненты непрерывной интеграции и DevOps? Как вы относитесь к каждому из них?

Пример ответа: «Непрерывная интеграция включает в себя автоматическое тестирование и интеграцию кода, а DevOps охватывает весь конвейер доставки. Я подхожу к CI, настраивая автоматизированные конвейеры сборки и тестирования, а в DevOps я фокусируюсь на циклах сотрудничества, мониторинга и обратной связи.»
Что такое Ethernet?

Ethernet просто относится к наиболее распространенному типу локальной сети (LAN), используемому сегодня. LAN — в отличие от WAN (глобальной сети), которая охватывает большую географическую территорию, — это объединенная сеть компьютеров на небольшой территории, например, в вашем офисе, кампусе колледжа или даже дома.
Что такое Pod Disruption Budget (PDB)?

Этот функционал в k8s позволяет поддерживать минимально необходимое количество запущенных PODов приложения. При возникновении событий, таких как удаление PODов, вытеснение PODов с узла или удаления с ноды, Kubernetes не удалит PODы, если общее количество PODов приложения останется ниже значения PDB.
Что такое ingress и зачем он нужен?

Ingress дает возможность настраивать маршрутизацию трафика от внешних источников к сервисам внутри кластера.

В Ingress описываются правила маршрутизации к сетевым сервисам, а контроллер Ingress отвечает за их выполнение. Контроллер не входит в поставку Kubernetes, но можно использовать стороннее решение, если вы сможете до этого изучить его возможности и особенности.