В глазах многих людей, “DevOps инженер” кажется профессией будущего с невероятными возможностями (хотя это вовсе не профессия). Международные компании самого высокого уровня (вроде Netflix, Facebook и Amazon) в последнее время начали оперативно внедрять систему ДевОпс в их рабочий процесс. Конечно же, благодаря такой востребованности, необходимость в профессионалах сферы DevOps стала соразмерно расти. Именно поэтому, в данном руководстве мы поговорим о том, что должен знать DevOps инженер для успешного прохождения собеседования на одну из таких должностей.
Мы расскажем как о самых общих (что такое DevOps), так и более с
ложных темах Dev Ops, которые вы можете ожидать. Кроме того, мы дадим вам несколько полезных советов, способных помочь вам более эффективно провести время перед собеседованием.
Содержание
- 1. Введение
- 1.1. Вопрос 1: Что Такое DevOps?
- 1.2. Вопрос 2: Какие Самые Популярные Инструменты DevOps?
- 1.3. Вопрос 3: Какие Основные Отличия DevOps От Agility?
- 1.4. Вопрос 4: Что Такое Контроль Версий?
- 1.5. Вопрос 5: Каковы 4 Ключевых Компонента?
- 1.6. Вопрос 6: Какие Языки Программирования Использует DevOps Инженер?
- 1.7. Вопрос 7: Как AWS Работает с DevOps?
- 1.8. Вопрос 8: Что Такое Экстремальное Программирование?
- 1.9. Вопрос 9: Что Такое Шаблон Проектирования?
- 1.10. Вопрос 10: Что Такое CBD?
- 2. Продвинутые Вопросы Собеседования DevOps
- 2.1. Вопрос 1: Объясните Понятие Ветвление (Контроль Версий).
- 2.2. Вопрос 2: Как Скопировать Jenkins На Другой Сервер?
- 2.3. Вопрос 3: Назовите Три Способа, Которые Вы Бы Использовали Для Защиты Jenkins.
- 2.4. Вопрос 4: Опишите Автоматическое Тестирование.
- 2.5. Вопрос 5: Каковы Основные Преимущества Использования Автоматического Тестирования?
- 2.6. Вопрос 6: Что Такое Memcached?
- 2.7. Вопрос 7: Если Какие-то Данные Изменяются, Как Вы Обновите Memcached?
- 2.8. Вопрос 8: Почему Компонент Непрерывного Тестирования Так Важен Для DevOps?
- 2.9. Вопрос 9: Является Ли Selenium Хорошим Инструментом Для Тестирования?
- 2.10. Вопрос 10: Как Вы Можете Максимизировать Эффективность Непрерывной Интеграции?
- 3. Общие Советы Собеседования
- 4. Заключение
Введение
Мы начнём с базовых вопросов – коротких, но информативных. Такого рода вопросы встречаются во вступительной части собеседования. Хотя они и называются базовыми, это вовсе не означает их простоту – просто для ответа на них не нужно выполнять какую-либо работу с кодом или вдаваться в подробности слишком глубоко.
Последняя сделка действительна прямо сейчас:
GET 50% OFF
DataCamp Black Friday Sale
During this DataCamp Black Friday, you can access the top-rated courses with a 50% discount. Enroll now for way less!
Вопрос 1: Что Такое DevOps?
Конечно же, это должен быть самый первый вопрос, который у вас спросят. Ваш потенциальный работодатель может попросить вас объяснить термин своими словами.
Проще говоря, Dev Ops является философским методом сокращения цикла разработки систем. Сам термин состоит из комбинации слов “development” и “operations”.
Способ, которым DevOps стремится достичь этого, заключается в реализации автоматизации, мониторинга событий (и тестирования!) на протяжении всего процесса создания программного обеспечения.
Вопрос 2: Какие Самые Популярные Инструменты DevOps?
Git, Jenkins, Docker и Selenium являются самыми популярными инструментами DevOps.
Вопрос 3: Какие Основные Отличия DevOps От Agility?
DevOps и Agility часто сравнивают друг с другом. DevOps инженер должен уметь сравнить и отличить один набор практик от других.
Одним из самых главных отличий можно назвать ориентированность Agility на время, тогда как DevOps уделяет внимание как времени, так и качеству. В таком случае необходимое качество может быть достигнуто за отведённый промежуток времени.
Другим серьёзным отличием является налаживание обратной связи, Agility целиком и полностью полагается на клиентов, тогда как DevOps использует лишь самоконтроль. Оба метода имеют под собой веские основания, но самоконтроль всё равно считается более эффективным. Данный подход кажется более объективным способом поиска потенциальных проблем. Более того, самоконтроль позволяет достичь оперативности, чего нельзя сказать про ожидание отзывов пользователей.
Вопрос 4: Что Такое Контроль Версий?
Люди считают, что DevOps инженер просто обязан это знать – это способ отслеживать предыдущие версии определённого файла.
Вопрос 5: Каковы 4 Ключевых Компонента?
Интеграция, тестирование, поставка и мониторинг. Все упомянутые методы имеют прикреплённый к ним тег непрерывного действия – они не происходят лишь раз или два, а скорее являются непрерывными процессами.
Вопрос 6: Какие Языки Программирования Использует DevOps Инженер?
В основном – Ruby, но также может использоваться Python.
Вопрос 7: Как AWS Работает с DevOps?
Это одна из тех тем, которые обязательно должен знать ДевОпс инженер – в процессе собеседования вопросы по AWS занимают не последнее место.
AWS означает Amazon Web Services. Этот сервис обеспечивает масштабируемость бизнеса, используя огромные (почти бесконечные) ресурсы и мощность.
AWS используется во многих компаниях для поддержания и доставки своих продуктов - Dev Ops просто метод, с помощью которого он используется.
Вопрос 8: Что Такое Экстремальное Программирование?
Экстремальное программирование (более известное как XP) — это метод разработки программного обеспечения. Главной целью XP является удовлетворение потребностей клиентов – все задачи, решения и методы работы нацелены лишь на эту цель.
Многие компании, которые используют ДевОпс, также практикуют XP.
Вопрос 9: Что Такое Шаблон Проектирования?
Это один из множества терминов, которые должен знать DevOps инженер. Именно поэтому вам стоит обратить на этот вопрос собеседования особое внимание.
В общих чертах, шаблон проектирования представляет собой решение какой-то проблемы, с которой сталкиваются разработчики.
Эти шаблоны помогают новым разработчикам избежать возможных проблем… что же, показывая возможные шаблоны и решения.
Всего существует три главных типа шаблонов проектирования для разработчиков – поведенческие, творческие и структурные.
Вопрос 10: Что Такое CBD?
CBD или компонентно-ориентированное программирование — это в каком-то роде уникальный способ подхода к разработке продукта.
С помощью CBD разработчики ищут уже существующие, качественные и проверенные компоненты для формирования нового и оригинального продукта. Этот процесс проходит вместо обычного для многих процесса создания продукта с нуля.
Продвинутые Вопросы Собеседования DevOps
Теперь, вы уже более менее знакомы с темами, которые должен знать DevOps инженер в первую очередь. Давайте перейдём к более продвинутым вопросам. Часть “продвинутые” означает то, что данные вопросы требуют более углубленного ответа или затрагивают сразу несколько тем.
Вопрос 1: Объясните Понятие Ветвление (Контроль Версий).
Одна из самых распространённых тем, которые должен знать DevOps инженер – ваше объяснение покажет ваши знания и опыт вашей прошлой работы с этой сферой.
Существуют три различных типах ветвления (branching) – ветвление задачи, функции и релиза.
Ветвление задачи включает в себя каждую задачу в различных ветвях, с ключами задач в названии ветви. Ветвление функции хранит изменения и модификации внутри ветви. Когда работа с этой функцией завершена, ветвь, содержащая эту функцию, объединяется (merge) с мастер файлом. Наконец, ветвление релиза позволяет вам клонировать ветвь, чтобы при её релизе, вы всё равно могли вносить изменение в клонированную версию.
Вопрос 2: Как Скопировать Jenkins На Другой Сервер?
Этот вопрос может быть непростым, так как для этого существует несколько способов. Потенциальные работодатели могут задать несколько схожих вопросов, чтобы получить различные ответы. Давайте рассмотрим самый простой способ скопировать Jenkins с одного сервера на другой.
Самым простым способом будет скопировать рабочий каталог и просто переименовать его. После этого, вам нужно будет переместить его на другой сервер.
Вопрос 3: Назовите Три Способа, Которые Вы Бы Использовали Для Защиты Jenkins.
Этот вопрос целиком и полностью зависит от того, какой подход предпочитает DevOps инженер. В этом плане у вас есть некоторая вольность в ответе, но давайте рассмотрим некоторые варианты в качестве примера:
- Запускать периодические аудиты безопасности.
- Настроить лимит доступа к данным, хранящимся на Jenkins.
- Убедиться в том, что опция “global security” включена.
Вопрос 4: Опишите Автоматическое Тестирование.
По умолчанию для тестирования системы используются ручные инструменты. Это означает, что для этого требуется много людских ресурсов и по этой причине такой подход имеет шанс человеческой ошибки. Однако автоматические тестирование позволяет внедрять автоматические процессы, способные тестировать систему за вас.
Вопрос 5: Каковы Основные Преимущества Использования Автоматического Тестирования?
У использования автоматического тестирования в рабочем процессе существует довольно много преимуществ. Давайте назовём только лишь самые основные.
- Как упоминалось ранее, ошибки случаются гораздо реже.
- Оно сохраняет время и деньги.
- Позволяет проводить более масштабные тесты, которые могли занять долгое время при ручном тестировании.
Вопрос 6: Что Такое Memcached?
Memcached — это система кеширования объектов памяти с открытым исходным кодом. В основном Memcached используется для избежания повторяющихся задач извлечения данных SQL, которые могут занимать долгое время при параллельном выполнении.
Вопрос 7: Если Какие-то Данные Изменяются, Как Вы Обновите Memcached?
Это один из сотни похожих вопросов, ответ на которые должен знать DevOps инженер. У конкретных тем, таких как Memcached, обычно есть дополнительные вопросы, поэтому рекомендуется подготовиться к этой теме как можно тщательнее.
Существует два способа обновить Memcached в данном случае – либо очищать кеш после каждого обновления, либо сбрасывать ключи после совершения обновления.
Вопрос 8: Почему Компонент Непрерывного Тестирования Так Важен Для DevOps?
Мы упомянули 4 ключевых компонента DevOps в первой части нашего руководства, но очень важно узнать о каждом из них более подробно – они являются четырьмя столпами, на которых основан ДевОпс. Ведь вы понимаете, что подобные вопросы у вас точно будут?
По сути, непрерывное тестирование позволяет разработчикам выполнять постоянное тестирование после каждого обновления, внедрённого в системe. Делая это, весь процесс становится более плавным – в других случаях, все тесты будут проходить до окончания периода спринта, что выльется в падения и следовательно трату времени.
Вопрос 9: Является Ли Selenium Хорошим Инструментом Для Тестирования?
Да, на самом деле он считается одним из самых лучших инструментов тестирования для операций Dev Ops. Selenium имеет открытый исходный код, может быть использован на различных браузерах, обладает огромным сообществом, поддерживает опцию распределённого тестирования и, конечно же, бесплатен.
- Простой в использовании
- Предлагает качественный контент
- Очень открытый в своих ценах
- Бесплатные сертификаты об окончании
- Фокус на навыки науки о данных
- Гибкое расписание занятий
- Простой дизайн (без бесполезной информации)
- Хорошее качество курсов (даже бесплатных)
- Разнообразие возможностей обучения
- Программа Nanodegree
- Подходит для корпоративного обучения
- Платные сертификаты об окончании
- Известная платформа в индустрии
- Широкий спектр особенностей
- Курсы университетского уровня
- Курсы университетского уровня
- Подходит для компаний
- Платные сертификаты об окончании
Вопрос 10: Как Вы Можете Максимизировать Эффективность Непрерывной Интеграции?
Как вы скорее всего заметили, такой формат вопросов популярен для DevOps собеседования – выполнение непрерывных процессов часто является важной темой для работодателя.
Если дело касается максимизации эффективности непрерывной интеграции, то вариантов предостаточно. Однако наиболее известными являются:
- Автоматизации как создания, так и развертывания.
- Тестирование должно проходить в точной копии среды, в которой будут проходить производственные процессы.
- Позволить каждому увидеть результаты – это повысит продуктивность и сгладит процесс коммуникации.
Общие Советы Собеседования
Что же, мы уже успели разобрать самые популярные вопросы, с которыми может столкнуться DevOps инженер. Теперь давайте уделим некоторое время общим аспектам, чтобы успешно подготовиться к вашему собеседованию.
Скорее всего, самым важным советом будет не перегореть. Мы все были в этой ситуации – вы очень хотите заполучить эту работу и чем ближе дата собеседования, тем более стрессовой становится ситуация. Что, если вашему работодателю не понравится ваш внешний вид? Что, если вы не сможете найти нужного ответа на вопрос?
Попробуйте расслабиться – скорее всего, вы слишком сильно преувеличиваете важность той или иной вещи. Ваш потенциальный работодатель почувствует будете ли вы спокойны или же ваш разум будет собран – это может оказать серьёзное влияние на собеседование.
Поэтому не забудьте снять стресс перед собеседованием – попробуйте дыхательные упражнения, избегайте экранов и приготовьте все для более комфортного сна заранее. Может звучать странно, но даже небольшие мелочи могут вызвать у вас стресс в таких ситуациях.
Также, стоит не перестараться с изучением вопросов собеседования DevOps – если вы пойдёте на собеседование с заученными ответами, то это явно вам не сыграет на руку. Конечно, знать только, что такое DevOps недостаточно, но и заучивать всю теорию тоже не стоит.
Вы можете уделить обучению и подготовке целую неделю, но один день перед собеседованием вы обязательно должны выделить под отдых.
Да, многие эксперты рекомендуют именно такой подход.
Это популярный способ подготовки ко многим мероприятиям. Поступая таким образом, вы позволяете вашему мозгу отдохнуть и восстановиться – как от огромного количества информации, так и от стресса. Выйдите на прогулку – попробуйте не думать о грядущем собеседовании.
Во время самого собеседования вам нужно сделать лишь одну вещь – показать себя с лучшей стороны. Однако не пытайтесь быть слишком неестественным. Это вам явно не поможет при длительном собеседовании. Просто будьте собой – работодатель это оценит.
Вы знали?
Вы когда-либо хотели узнать, какие платформы для онлайн обучения лучше всего подходят для вашей карьеры?
Заключение
Очевидно, что философия DevOps берёт мир штурмом – с таким количеством известных компаний, жаждущих её внедрения, рост этого направления неизбежен.
Вы можете увидеть термины вроде DevOps или ДевОпс повсюду! Хотя честно говоря, они не совсем правильные – нет такой вещи как DevOps инженер или программист – DevOps не является профессией. Однако некоторые люди всё равно используют эту терминологию, поэтому лучше всего под неё подстроиться, чем вдаваться в сложные подробности.
В этом руководстве, мы рассказали про вопросы и темы собеседования DevOps направления. Мы затронули Memcache, Jenkins, Selenium и даже AWS DevOps. Кроме того, вы узнали некоторые общие советы, которые помогут вам как перед, так и во время самого собеседования. Желаем вам удачи и достижения ваших целей!