1) Объясните, что такое DevOps?
Это новый термин в области ИТ, который представляет собой не что иное, как практику, которая подчеркивает сотрудничество и взаимодействие как разработчиков программного обеспечения, так и команды развертывания (операций). Он ориентирован на более быструю доставку программного продукта и снижение частоты отказов релизов.
2) Укажите, какие ключевые аспекты или принципы лежат в основе DevOps?
Ключевые аспекты или принцип, лежащие в основе DevOps это
- Инфраструктура как код
- Непрерывное развертывание
- автоматизация
- Мониторинг
- Безопасность
3) Каковы основные операции DevOps с разработкой приложений и с инфраструктурой?
Основные операции DevOps:
Разработка приложения
- Кодовое здание
- Покрытие кода
- Модульное тестирование
- упаковка
- развертывание
инфраструктура
- Provisioning
- конфигурация
- оркестровка
- развертывание
4) Объясните, как «код инфраструктуры» обрабатывается или выполняется в AWS?
В AWS
- Код для инфраструктуры будет в простом формате JSON
- Этот код JSON будет организован в файлы, называемые шаблонами
- Эти шаблоны могут быть развернуты в AWS devops, а затем управляться как стеки
- Позже сервис CloudFormation выполнит операцию «Создание, удаление, обновление и т. Д.» В стеке.
5) Объясните, какой язык сценариев наиболее важен для инженера DevOps?
Более простой язык сценариев будет лучше для инженера DevOps. Питон, кажется, очень популярен.
6) Объясните, как DevOps полезен для разработчиков?
DevOps может помочь разработчикам исправить ошибку и быстро внедрить новые функции. Это также помогает для более четкого общения между членами команды.
7) Перечислите некоторые популярные инструменты для DevOps?
Некоторые из популярных инструментов для DevOps:
- Дженкинс
- Nagios
- монит
- ELK (Elasticsearch, Logstash, Kibana)
- Дженкинс
- докер
- анзибль
- Гит
8) Укажите, в каком случае вы использовали SSH?
Я использовал SSH для входа на удаленный компьютер и работы в командной строке. Кроме того, я также использовал его для туннелирования в систему, чтобы обеспечить безопасную зашифрованную связь между двумя ненадежными хостами по небезопасной сети.
9) Объясните, как вы будете обрабатывать ревизию (версию)?
Мой подход к обработке контроля версий — разместить код на SourceForge или GitHub, чтобы каждый мог его просмотреть. Кроме того, я опубликую контрольный список с последней ревизии, чтобы убедиться, что все нерешенные проблемы решены.
10) Какие типы запросов Http?
Типы запросов Http:
- ПОЛУЧИТЬ
- ГЛАВА
- ПОЛОЖИЛ
- ПОСЛЕ
- PATCH
- УДАЛЯТЬ
- TRACE
- CONNECT
- ОПЦИИ
11) Объясните, что бы вы проверили, вдруг ли Linux-build-сервер начинает работать медленно?
Если Linux-build-сервер неожиданно начинает работать медленно, вы проверите следующие три вещи
|
Проблемы, связанные с ОЗУ, проблемы чтения-записи дискового ввода-вывода, проблемы с дисковым пространством и т. Д. |
|
Проверьте наличие файла журнала приложения ИЛИ файла журнала сервера приложений, проблем с производительностью системы, журнала веб-сервера — проверьте журналы HTTP, tomcat lo, jboss или WebLogic, чтобы определить, являются ли время ответа / приема сервера приложений проблемами медлительности, утечки памяти любого применение |
|
Проблемы с антивирусом, проблемы с брандмауэром, проблемы с сетью, время отклика SMTP-сервера и т. Д. |
12) Каковы ключевые компоненты DevOps?
Наиболее важные компоненты DevOps:
- Непрерывная интеграция
- Непрерывное тестирование
- Непрерывная доставка
- Непрерывный мониторинг
13) Назовите несколько облачных платформ, которые используются для реализации DevOps
Популярная платформа облачных вычислений, используемая для реализации DevOps:
- Google Cloud
- Amazon Web Services
- Microsoft Azure
14) Дайте некоторые преимущества использования системы контроля версий
- Система контроля версий позволяет членам команды свободно работать с любым файлом в любое время.
- Все предыдущие версии и варианты тесно упакованы внутри VCS.
- Распределенный 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
- Исинга 2
- Wireshark
- Nagios
- OpenNMS
28) Может ли ваша видеокарта работать под управлением Unity, как вы узнали бы?
Когда вы используете команду
/usr/lib/Linux/unity_support_test-p
это даст подробный вывод о требованиях Unity, и если они будут выполнены, ваша видеокарта сможет работать с Unity
29) Объясните, как включить звук запуска в Ubuntu?
Чтобы включить звук запуска
- Нажмите на механизм управления, а затем нажмите на Startup Applications
- В окне « Параметры запуска приложений» нажмите кнопку « Добавить», чтобы добавить запись.
- Затем заполните информацию в полях для комментариев, таких как Имя, Команда и Комментарий.
/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», он запустит старый диалог GUI и создаст панель запуска на вашем рабочем столе
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? Как вы можете предотвратить этот эффект?
Эффект «собачьей кучи» относится к событию, когда срок действия кэша истекает, и веб-сайты попадают под множественные запросы, сделанные клиентом одновременно. Этот эффект можно предотвратить с помощью блокировки семафора. В этой системе, когда значение истекает, первый процесс получает блокировку и начинает генерировать новое значение.
40) Объясните, как не следует использовать Memcached?
- Распространенное злоупотребление Memcached — использовать его как хранилище данных, а не как кеш
- Никогда не используйте Memcached в качестве единственного источника информации, необходимой для запуска вашего приложения. Данные всегда должны быть доступны из другого источника.
- Memcached — это просто хранилище ключей или значений и не может выполнять запрос к данным или выполнять итерацию по содержимому для извлечения информации.
- Memcached не предлагает никакой формы безопасности ни в шифровании, ни в аутентификации.
41) Когда сервер отключается, остаются ли данные, хранящиеся в Memcached, доступными?
Данные, хранящиеся в Memcached, недолговечны, поэтому, если сервер выключен или перезапущен, все данные, хранящиеся в Memcached, будут удалены.
42) Укажите, в чем разница между Memcache и Memcached?
- Memcache: это расширение, которое позволяет вам работать через удобные объектно-ориентированные (ООП) и процедурные интерфейсы. Он предназначен для снижения нагрузки на базу данных в динамических веб-приложениях.
- Memcached : это расширение, которое использует библиотеку libmemcached для предоставления API для связи с серверами Memcached. Он используется для увеличения динамических веб-приложений за счет снижения нагрузки на базу данных. Это новейший API.
43) Объясните синий / зеленый шаблон развертывания
Сине-зеленая раскраска предназначена для решения наиболее важных задач, возникающих в процессе автоматического развертывания. В подходе Blue / Green Deployment необходимо обеспечить две идентичные производственные среды. Тем не менее, только один из них в прямом эфире в любой момент времени. Живая среда называется Blue окружающей средой.
Когда команда готовит следующую версию своего программного обеспечения, они проводят заключительный этап тестирования в среде, известной как среда Green. После проверки трафик направляется в зеленую среду.
44) Что такое контейнеры?
Контейнеры из облегченной виртуализации. Они предлагают изоляцию между процессами.
45) Что такое посмертная встреча со ссылкой на DevOps?
Посмертная встреча проводится, чтобы обсудить, что пошло не так, и какие шаги нужно предпринять, чтобы избежать сбоев.
46) Какой самый простой способ построить маленькое облако?
VMfres — это один из наиболее эффективных вариантов быстрого создания облака IaaS из виртуальных машин Virtual Box. Однако, если вам нужен легкий PaaS, то Dokku — хороший вариант, потому что bash-скрипт может быть PaaS из контейнеров Dokku.
47) Назовите два инструмента, которые используются для сетевого взаимодействия с докером.
Для работы в Docker вы можете использовать Kubernetes и Docker Swarm.
48) Назовите некоторые области, в которых реализованы DevOps
DevOps используются для производства, ИТ-операций, обратной связи и разработки программного обеспечения.
49) Что такое КБР?
CBD или разработка на основе компонентов — это уникальный способ подхода к разработке продукта. В этом методе разработчики всегда ищут существующие четко определенные, протестированные и проверенные компоненты, чтобы составлять и собирать их в продукт, а не разрабатывать с нуля.
50) Объяснить парное программирование со ссылкой на DevOps
Парное программирование — это инженерная практика правил экстремального программирования. В этом методе два программиста работают в одной системе, над одним и тем же дизайном / алгоритмом / кодом.
Один программист выступает в роли «водителя». Другой выступает в роли «наблюдателя», который постоянно следит за ходом проекта для выявления проблем. Роли можно поменять местами в любой момент времени без предварительного уведомления.
51) Объясните испытание на устойчивость
Тест, обеспечивающий восстановление без потери данных и функциональности после сбоя, называется тестами на отказоустойчивость.
52) Назовите три важных ключевых показателя эффективности DevOps
Три наиболее распространенных KPI DevOps:
- Между тем восстановление после сбоя
- Частота развертывания
- Процент неудачных развертываний