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

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

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

Для обратной связи: @proglibrary_feeedback_bot
加入频道
🧠 Прокрастинация: почему разработчики к ней склонны и что с этим делать

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

🔗 Читать по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
Опишите, чем архитектура производственной среды с большими объемами данных будет отличаться от маломасштабной среды.

На этот вопрос есть несколько возможных ответов. Один из них следующий: мелкомасштабная архитектура elastic будет состоять из стека elastic как такового. Это означает, что у нас будут beats, logstash, elastcsearch и kibana. Производственная среда с большими объемами данных может включать какой-либо компонент буферизации (например, Reddis или RabbitMQ), а также компонент безопасности, такой как Nginx.
Как можно использовать Kubernetes для оптимизации распределения рабочей нагрузки?

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

Балансировка нагрузки: Kubernetes предоставляет встроенный балансировщик нагрузки для распределения входящего сетевого трафика по модулям, работающим в кластере. Это помогает равномерно распределить рабочую нагрузку по узлам в кластере, что может помочь оптимизировать использование ресурсов.

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

Управление ресурсами: Kubernetes позволяет вам указывать требования к ресурсам и ограничения для каждого модуля, что помогает гарантировать, что каждому модулю будет выделено правильное количество ресурсов.
🎁🎄Как ваше настроение? Рассказывайте, что вам подарили на Новый год?
Опишите, как должна выглядеть идеальная облачная инфраструктура и настройка системы ведения логов.

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

Планировщик Kubernetes отвечает за выбор наиболее подходящего узла для развертывания новых модулей. Если в хост-системе активирована подкачка памяти, это может вызвать проблемы с производительностью и стабильностью работы Kubernetes. Поэтому для корректной работы системы требуется отключить swap в хост-среде.
Чем Router в Openshift отличается от Ingress в Kubernetes?

Router Openshift использует haproxy, как прокси-вебсервер. Ingress как в Kubernetes, так и OpenShift может быть разным (nginx, haproxy, caddy, etc).
Назовите инструменты Ansible

Вот перечень различных инструментов, которые стоит упомянуть на собеседовании с разработчиком:

Ansible Galaxy: этот веб-сайт позволяет находить и делиться ролями в сообществе, что помогает сэкономить ваше время.
Ansible Tower: это инструмент командной строки с графическим интерфейсом, который предлагает дополнительные функциональные возможности.
Visual Studio Code: редактор кода от Microsoft, поддерживающий YAML и Ansible через расширения.
Atom: текстовый редактор с открытым исходным кодом, который помогает отслеживать изменения в проекте и хорошо интегрируется с файлами YAML.
Что такое Jenkinsfile?

Jenkinsfile — это скриптовый файл, который применяется в системе автоматизации сборки и развертывания Jenkins. Jenkins является популярным инструментом с открытым исходным кодом, предназначенным для автоматизации различных задач в процессе разработки программного обеспечения.

Jenkinsfile обычно используется в сочетании с функцией Jenkins, известной как «Pipeline» (конвейер). Pipeline предлагает мощные инструменты для определения и управления процессом сборки, тестирования и развертывания приложений.

В Jenkinsfile содержатся инструкции и скрипты на Groovy DSL (язык, ориентированный на конкретную область), которые описывают этапы и шаги, необходимые для сборки, тестирования и развертывания проекта. Он может включать такие действия, как клонирование репозитория, установка зависимостей, выполнение тестов, сборка проекта и многое другое.

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

Микроконтроллер — это небольшая интегральная схема, которая управляет определенными задачами во встроенной системе. Обычно она включает в себя ЦП, память и периферийные устройства ввода/вывода.
Как оцениваете свой уровень знания ОС Linux по десятибальной шкале?

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

Задержка. Чтобы обеспечить хорошую задержку, поисковый запрос следует перенаправлять в ближайший центр обработки данных.
В чем разница между ConfigMaps и Secret?

В то время как Secret хранит критические данные в зашифрованном формате, ConfigMaps хранит конфигурацию приложения в обычном текстовом формате. Однако оба они могут использоваться как том и монтироваться на pod через файл определения pod.
Что такое очередь сообщений? Когда она используется?

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

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

Данные о данных. По сути, это описание типа информации, которую будут содержать базовые данные.
Что представляют собой Puppet Modules и как они отличаются от Puppet Manifests?

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

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

Это тип метаданных, которые работают через концепцию пары ключ-значение, прикрепленной к объектам. Во многих случаях они также используются для определения «идентифицирующих аспектов» объекта, в основном для помощи пользователю на более позднем этапе. Кроме того, поскольку они не подразумевают семантику для Kubernetes по умолчанию, они не изменяют напрямую никакую функциональность, как другие метаданные.
Перечислите некоторые начальные пространства имен, с которых стартует Kubernetes.

Вот некоторые начальные пространства имен:

Default это пространство имен включено Kubernetes, чтобы пользователи могли начать использовать новый кластер без необходимости предварительного создания пространства имен.

Kube-system: это пространство имен для объектов, созданное системой Kubernetes.

Kube-public: это пространство имен доступно для чтения как всем клиентам. Оно зарезервировано в основном для использования в кластере.
🤖 Что такое «совместное использование пространства»?

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