50 самых популярных вопросов на собеседовании DevOps & Ответы

Anonim

Скачать PDF

1) Объясните, что такое DevOps?

Это новый термин в области ИТ, который представляет собой не что иное, как практику, которая подчеркивает сотрудничество и общение как разработчиков программного обеспечения, так и команды развертывания (эксплуатации). Он ориентирован на более быструю доставку программного продукта и снижение количества отказов выпусков.

2) Назовите ключевые аспекты или принципы DevOps?

Ключевые аспекты или принцип DevOps:

  • Инфраструктура как код
  • Непрерывное развертывание
  • Автоматизация
  • Мониторинг
  • Безопасность

3) Каковы основные операции DevOps с разработкой приложений и инфраструктурой?

Основные операции DevOps:

Разработка приложения

  • Построение кода
  • Покрытие кода
  • Модульное тестирование
  • Упаковка
  • Развертывание

Инфраструктура

  • Подготовка
  • Конфигурация
  • Оркестровка
  • Развертывание

4) Объясните, как «Код инфраструктуры» обрабатывается или выполняется в AWS?

В AWS

  • Код инфраструктуры будет в простом формате JSON.
  • Этот код JSON будет организован в файлы, называемые шаблонами.
  • Эти шаблоны можно развернуть на AWS DevOps, а затем управлять ими как стеками.
  • Позже служба CloudFormation выполнит в стеке операцию создания, удаления, обновления и т. Д.

5) Объясните, какой язык сценариев наиболее важен для разработчика DevOps?

Более простой язык сценариев будет лучше для разработчика DevOps. Python кажется очень популярным.

6) Объясните, чем DevOps может помочь разработчикам?

DevOps может помочь разработчикам исправить ошибку и быстро реализовать новые функции. Это также способствует более четкому общению между членами команды.

7) Перечислите некоторые популярные инструменты для DevOps?

Некоторые из популярных инструментов для DevOps:

  • Дженкинс
  • Nagios
  • Монит
  • ELK (Elasticsearch, Logstash, Kibana)
  • Дженкинс
  • Докер
  • Ansible
  • Git

8) Укажите, в каком случае вы использовали SSH?

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

9) Объясните, как вы будете обрабатывать контроль версий (версий)?

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

10) Какие бывают типы HTTP-запросов?

Типы HTTP-запросов:

  • ПОЛУЧАТЬ
  • ГОЛОВА
  • ПОЛОЖИТЬ
  • ПОЧТОВЫЙ
  • ПЛАСТЫРЬ
  • УДАЛИТЬ
  • СЛЕД
  • СОЕДИНЯТЬ
  • ОПЦИИ

11) Объясните, что бы вы проверили, если Linux-build-server внезапно начинает замедляться?

Если Linux-build-server внезапно начинает замедляться, вы должны проверить следующие три вещи

  • Устранение неполадок на уровне приложений
Проблемы, связанные с ОЗУ, проблемы чтения-записи дискового ввода-вывода, проблемы, связанные с дисковым пространством и т. Д.
  • Устранение неполадок на системном уровне
Проверьте файл журнала приложения ИЛИ файл журнала сервера приложений, проблемы с производительностью системы, журнал веб-сервера - проверьте журналы HTTP, tomcat lo, jboss или WebLogic, чтобы узнать, не является ли время ответа / получения сервера приложений проблемами медлительности, утечки памяти заявление
  • Устранение неполадок зависимых служб
Проблемы, связанные с антивирусом, проблемы, связанные с брандмауэром, проблемы с сетью, проблемы со временем отклика сервера SMTP и т. Д.

12) Каковы ключевые компоненты DevOps?

Наиболее важные компоненты DevOps:

  • Непрерывная интеграция
  • Непрерывное тестирование
  • Непрерывная доставка
  • Непрерывный мониторинг

13) Назовите несколько облачных платформ, которые используются для реализации DevOps.

Популярные платформы облачных вычислений, используемые для реализации DevOps:

  1. Google Cloud
  2. Веб-сервисы Amazon
  3. Microsoft Azure

14) Дайте некоторые преимущества использования системы контроля версий

  • Система контроля версий позволяет членам команды свободно работать с любым файлом в любое время.
  • Все прошлые версии и варианты плотно упакованы внутри VCS.
  • Распределенная система контроля версий, например, помогает вам хранить полную историю проекта, поэтому в случае поломки центрального сервера вы можете использовать локальный репозиторий Git члена вашей команды.
  • Позволяет увидеть, какие именно изменения были внесены в содержимое файла.

15) Объясните Git Bisect

Git bisect поможет вам найти фиксацию, в которой была обнаружена ошибка, с помощью двоичного поиска.

16) Какая сборка?

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

17) Что такое марионетка?

Puppet - полезный инструмент для управления проектами. Это помогает автоматизировать задачи администрирования.

18) Объясните двухфакторную аутентификацию

Двухфакторная аутентификация - это метод безопасности, при котором пользователь предоставляет два способа идентификации из разных категорий.

19) Объясните термин «канарейка».

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

20) Какие типы тестирования важны для обеспечения готовности новой службы к производству?

Вам необходимо проводить непрерывное тестирование, чтобы убедиться, что новый сервис готов к работе.

21) Что такое бродяга?

Бродяга - это инструмент, который может создавать виртуализированные среды для тестирования и разработки программного обеспечения и управлять ими.

22) Какая польза от PTR в DNS?

Запись указателя, также известная как (PTR), используется для обратного поиска в DNS.

23) Что такое шеф-повар?

Это мощная платформа автоматизации, которая превращает инфраструктуру в код. В этом инструменте вы можете использовать сценарии записи, которые используются для автоматизации процессов.

24) Каковы предпосылки для внедрения DevOps?

Ниже приведены полезные предварительные условия для реализации DevOps:

  • Как минимум одно программное обеспечение для контроля версий
  • Правильное общение между членами команды
  • Автоматизированное тестирование
  • Автоматическое развертывание

25) Назовите несколько лучших практик, которым следует следовать для успеха DevOps.

Вот основные передовые методы реализации DevOps:

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

26) Инструмент объяснения SubGIt

SubGit помогает перенести SVN на Git. Это также позволяет вам создать доступное для записи зеркало Git локального или удаленного репозитория Subversion.

27) Назовите некоторые важные инструменты мониторинга сети

Некоторые наиболее известные инструменты сетевого мониторинга:

  • Splunk
  • Icinga 2
  • Wireshark
  • Nagios
  • OpenNMS

28) Как узнать, может ли ваша видеокарта работать с Unity?

Когда вы используете команду

/usr/lib/Linux/unity_support_test-p

он предоставит подробный вывод о требованиях Unity, и если они будут выполнены, ваша видеокарта сможет работать с Unity.

29) Объясните, как включить звук при запуске в Ubuntu?

Чтобы включить звук при запуске

  • Щелкните механизм управления, а затем щелкните Запуск приложений.
  • В окне « Параметры запускаемого приложения» нажмите « Добавить», чтобы добавить запись.
  • Затем введите информацию в поля для комментариев, такие как Имя, Команда и Комментарий.
/usr/bin/canberra-gtk-play-id= "desktop-login"-description= "play login sound"
  • Выйдите из системы, а затем войдите в систему, как только вы закончите

Вы также можете открыть его с помощью комбинации клавиш Ctrl + Alt + T .

30) Как быстрее всего открыть терминал Ubuntu в определенном каталоге?

Чтобы открыть терминал Ubuntu в определенном каталоге, вы можете использовать настраиваемое сочетание клавиш.

Для этого в поле команды новой настраиваемой клавиатуры введите genome - terminal - - working - directory = / path / to / dir.

31) Объясните, как можно получить текущий цвет текущего экрана на рабочем столе Ubuntu?

Вы можете открыть фоновое изображение в GIMP (редакторе изображений), а затем использовать инструмент пипетки, чтобы выбрать цвет в определенной точке. Он дает вам значение RGB цвета в этой точке.

32) Объясните, как вы создаете лаунчеры на рабочем столе в Ubuntu?

Для создания пусковых установок на рабочем столе в Ubuntu вы можете использовать

ALT + F2, затем введите «gnome-desktop-item-edit -create-new ~ / desktop», он запустит старый диалог графического интерфейса и создаст средство запуска на вашем рабочем столе.

33) Объясните, что такое Memcached?

Memcached - это бесплатная высокопроизводительная система кэширования объектов распределенной памяти с открытым исходным кодом. Основная цель Memcached - увеличить время отклика для данных, которые в противном случае можно было бы восстановить или сконструировать из другого источника или базы данных. Он используется, чтобы избежать необходимости многократно работать с базой данных SQL или другим источником для получения данных для одновременного запроса.

Memcached можно использовать для

  • Социальные сети-> Кэширование профиля
  • Агрегация контента-> Кэширование HTML / страниц
  • Таргетинг рекламы-> Отслеживание файлов cookie / профиля
  • Отношения-> Кеширование сеанса
  • Электронная коммерция -> Сессия и кеширование HTML
  • Услуги на основе местоположения-> Масштабирование запросов к базе данных
  • Игры и развлечения-> Кеширование сеанса

Memcache помогает в

  • Ускорьте процессы подачи заявок
  • Он определяет, что хранить, а что нет.
  • Уменьшите количество поисковых запросов к базе данных
  • Сокращает доступ к вводу / выводу (ввод / вывод) (жесткий диск)

Недостатком Memcached является

  • Это не постоянное хранилище данных
  • Не база данных
  • Это не конкретное приложение
  • Он не может кэшировать большой объект

34) Назовите некоторые важные особенности Memcached?

Важные особенности Memcached включают:

  • Токены CAS: токен CAS прикреплен к объекту, полученному из кеша. Вы можете использовать этот токен для сохранения обновленного объекта.
  • Обратные вызовы: упрощает код
  • getDelayed: уменьшает время задержки вашего скрипта, который ожидает возвращения результатов с сервера.
  • Двоичный протокол: вы можете использовать двоичный протокол вместо ASCII с новым клиентом.
  • Igbinary: раньше клиент всегда выполнял сериализацию значения со сложными данными, но с Memcached вы можете использовать опцию igbinary.

35) Объясните, можно ли использовать один экземпляр Memcache для нескольких проектов?

Да, можно использовать один экземпляр Memcache для нескольких проектов. Memcache - это пространство для хранения памяти, и вы можете запускать memcache на одном или нескольких серверах. Вы также можете настроить своего клиента так, чтобы он разговаривал с определенным набором экземпляров. Таким образом, вы можете запускать два разных процесса Memcache на одном хосте, но при этом они полностью независимы. Если вы не разбили свои данные на разделы, тогда становится необходимым знать, из какого экземпляра получить данные или в который они будут помещены.

36) У вас есть несколько серверов Memcache, на которых один из серверов memcache выходит из строя, и на нем есть ваши данные, попытается ли он когда-нибудь получить ключевые данные с этого одного отказавшего сервера?

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

37) Объясните, как можно минимизировать простои сервера Memcached?

  • Когда один экземпляр выходит из строя, несколько из них выходят из строя, и это увеличивает нагрузку на сервер базы данных, когда потерянные данные перезагружаются по мере того, как клиент делает запрос. Чтобы избежать этого, если ваш код был написан так, чтобы свести к минимуму зацикливание на кеше, это окажет минимальное влияние.
  • Другой способ - запустить экземпляр Memcached на новом компьютере, используя IP-адрес потерянного компьютера.
  • Код - еще один вариант минимизировать простои сервера, поскольку он дает вам возможность изменять список серверов Memcached с минимальными усилиями.
  • Установка значения тайм-аута - это еще один вариант, который некоторые клиенты Memcached применяют для отключения сервера Memcached. Когда ваш сервер Memcached выходит из строя, клиент будет продолжать попытки отправить запрос, пока не будет достигнут предел времени ожидания.

38) Объясните, как можно обновить Memcached при изменении данных?

При изменении данных вы можете обновить Memcached с помощью

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

39) Объясните, что такое эффект Dogpile? Как можно предотвратить этот эффект?

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

40) Объясните, как нельзя использовать Memcached?

  • Распространенное неправильное использование Memcached - использовать его как хранилище данных, а не как кеш.
  • Никогда не используйте Memcached как единственный источник информации, необходимой для запуска вашего приложения. Данные всегда должны быть доступны и из другого источника.
  • Memcached - это просто хранилище ключей или значений и не может выполнять запросы к данным или перебирать содержимое для извлечения информации.
  • Memcached не предлагает никаких форм безопасности ни при шифровании, ни при аутентификации.

41) Когда сервер выключается, остаются ли данные, хранящиеся в Memcached, доступными?

Данные, хранящиеся в Memcached, недолговечны, поэтому при выключении или перезапуске сервера все данные, хранящиеся в Memcached, удаляются.

42) Упомяните, в чем разница между Memcache и Memcached?

  • Memcache: это расширение, которое позволяет вам работать через удобные объектно-ориентированные (ООП) и процедурные интерфейсы. Он разработан для уменьшения нагрузки на базу данных в динамических веб-приложениях.
  • Memcached : это расширение, которое использует библиотеку libmemcached для предоставления API для связи с серверами Memcached. Он используется для увеличения динамических веб-приложений за счет уменьшения нагрузки на базу данных. Это новейший API.

43) Объясните синюю / зеленую схему развертывания

Сине-зеленая раскраска решает самые важные проблемы, с которыми сталкивается процесс автоматического развертывания. При синем / зеленом подходе к развертыванию необходимо обеспечить две идентичные производственные среды. Однако только один из них является ЖИВЫМ в любой момент времени. Живая среда называется синей средой.

Когда команда готовит следующий выпуск своего программного обеспечения, они проводят заключительный этап тестирования в среде, известной как «Зеленая среда». После проверки трафик направляется в зеленую среду.

44) Какие бывают контейнеры?

Контейнеры из облегченной виртуализации. Они предлагают изоляцию между процессами.

45) Что такое посмертная встреча применительно к DevOps?

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

46) Какой самый простой способ построить небольшое облако?

VMfres - один из самых эффективных вариантов мгновенного создания облака IaaS из виртуальных машин Virtual Box. Однако, если вам нужен облегченный PaaS, Dokku - хороший вариант, потому что сценарий bash может быть PaaS вне контейнеров Dokku.

47) Назовите два инструмента, которые используются для работы в сети докеров.

Для сети докеров вы можете использовать Kubernetes и Docker swarm.

48) Назовите некоторые области, в которых реализуется DevOps.

DevOps используются для производства, ИТ-операций, обратной связи с производством и разработки программного обеспечения.

49) Что такое CBD?

CBD или разработка на основе компонентов - это уникальный подход к разработке продукта. В этом методе разработчики всегда ищут существующие четко определенные, протестированные и проверенные компоненты, чтобы скомпоновать их и собрать в продукт, а не разрабатывать с нуля.

50) Объясните парное программирование со ссылкой на DevOps

Парное программирование - это инженерная практика правил экстремального программирования. В этом методе два программиста работают над одной и той же системой, над одним и тем же дизайном / алгоритмом / кодом.

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

51) Объясните тест на устойчивость

Тест, который обеспечивает восстановление без потери данных и функциональности после сбоя, называется тестами на отказоустойчивость.

52) Назовите три важных ключевых показателя эффективности DevOps.

Три наиболее распространенных KPI DevOps:

  • Между тем до отказа
  • Частота развертывания
  • Процент неудачных развертываний