Рубрики
Uncategorized

Как подготовиться к интервью DevOps & SRE?

Примечание. Следующее является самоуверенным. Примечание2: самая обновленная версия этого поста находится в моем git … Tagged с DevOps, Career, Linux.

Примечание. Следующее является самоуверенным. Примечание2: самая обновленная версия этого поста находится в моем GitHub проект

Навыки, которые у вас должны быть

Linux

Каждый инженер DevOps должен иметь глубокое понимание хотя бы одной операционной системы, и если у вас есть возможность выбрать, я бы сказал, что это обязательно должно быть Linux, так как я считаю, что это требование, по крайней мере, 90% работ DevOps.

Обычно последующий вопрос: «Насколько обширным должно быть мое знание? » Из всех навыков DevOps я бы сказал, что это, наряду с кодированием, должно быть вашими самыми сильными навыками. Познакомьтесь с процессами ОС, инструментами отладки, файловой системой, сетью, … знайте свою операционную систему, понимайте, как она работает, как управлять проблемами и т. Д.

Не так давно я создал список ресурсов Linux прямо здесь. Есть несколько хороших сайтов, которые вы можете использовать для получения дополнительной информации о Linux.

Кодирование

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

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

Лучший способ применять этот навык — выполнить некоторое фактическое кодирование — сценарии, онлайн -проблемы, инструменты CLI, веб -приложения, … просто код:)

Кроме того, следующее, вероятно, ясно для большинства людей, но давайте все еще проясним это: когда дай возможность выбрать любой язык для ответа на задачи кодирования/вопросы, выберите тот, с которым у вас есть опыт! Некоторые кандидаты предпочитают выбирать язык, который, по их мнению, использует компанию, и это огромная ошибка, поскольку дать правильный ответ всегда лучше, чем неправильный ответ, независимо от того, какой язык вы использовали:)

Я рекомендую следующие сайты для практики кодирования:

Архитектура и дизайн

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

Некоторые идеи для вас, чтобы исследовать:

  • Как разработать и реализовать конвейер CI (или трубопроводы) для проверки PR, запустить несколько различных типов тестов, упаковать проект и развернуть где -нибудь
  • Как разработать и реализовать защищенную архитектуру лося, которая будет получать журналы от 10 000 приложений и в конечном итоге отобразит данные для пользователя
  • Проекты микросервисов также довольно популярны в наши дни

Я рекомендую преодолеть следующие проекты GitHub, так как они действительно глубоко погружаются в дизайн системы:

Инструменты

Некоторые интервью будут посвящены конкретным инструментам или технологиям. Какие инструменты? Это в основном основано на комбинации того, что вы упомянули в своем C.V и тех, которые упоминаются в публикации и используемых в компании. Вот несколько вопросов, которые я считаю, что кто -то должен знать, чтобы ответить на инструменты, с которыми он/она знаком:

  • Что делает инструмент? Чего позволяет нам достичь этого без этого?
  • Каковы его преимущества перед другими инструментами в той же области, с той же целью? Почему вы решили его использовать?
  • Как это работает?
  • Как это использовать?

Давайте глубоко погрузимся в практические шаги подготовки

Сценарии || Проблемы || Задачи

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

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

» Знание в CI/CD » -> Сценарий: Создайте конвейер CI/CD для проекта.

На данный момент некоторые люди спрашивают: «Но какой проект?» А ответ: как насчет GitHub? Он имеет только 9125912851285192 проектов … и бесплатный способ настроить CI для любого из них (также отличный способ научиться сотрудничать с другими:))

Давайте преобразуем еще один сценарий:

» Опыт работы с обеспеченными серверами » -> Сценарий: предоставление сервера (чтобы сделать его более интересным: создать веб -сервер).

И последний пример:

«Опыт сценария» -> Сценарий: напишите сценарий. Не тратьте слишком много времени на размышления: «Какой сценарий мне написать?». Просто автоматизируйте то, что вы делаете вручную, или даже реализуйте свою собственную версию общих небольших утилит.

Начните свой собственный проект DevOps

Запуск проекта DevOps — хорошая идея, потому что:

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

То же самое здесь, не задумывайте, о чем должен быть ваш проект. Просто иди и построишь что -нибудь:)

Образец вопросов интервью

Составьте образец списка вопросов интервью по различным темам/областям, таким как техническая, компания, роль, … и постарайтесь ответить на них. Посмотрите, сможете ли вы ответить на них свободно, подробно.

Я собрал «пару» вопросов здесь

Еще лучше, попросите хорошего друга/коллеги бросить вам вызов с некоторыми вопросами. Ваше самосознание может быть препятствием в объективном самоотчетении ваших знаний:)

Сеть

Для тех, кто посещает технические встречи и конференции, это может быть прекрасной возможностью пообщаться с людьми из других компаний в процессе их собеседования. Но не начинайте с этого, это может быть довольно неловко. Скажи, по крайней мере, привет первым … (:

Это может дать вам много информации о том, чего ожидать от интервью в некоторых компаниях или как лучше подготовиться.

Знай свое резюме

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

Знать компания

Будьте знакомы с компанией, с которой вы интервью. Некоторые идеи:

  • Что делает компания?
  • Какие продукты у него есть?
  • Почему его продукты уникальны (или лучше других продуктов)? Это также может быть хорошим вопросом для вы спросите

Книги

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

В большинстве случаев у вас все будет хорошо, не читая книги, но для интервью AAA (самый сложный уровень) вы захотите прочитать несколько книг и в целом, если вы вдохновите быть лучшим инженером DevOps, книги (также статьи, сообщения в блоге) — отличная путь:)

Рассмотрим, как начинать с не-девопс положения

Хотя это не является шагом подготовки, вы должны знать, что приземление DevOps как первая позиция может быть сложной задачей. Нет, это не невозможно, но все же, так как DevOps охватывает множество различных практик, инструментов, … это может быть довольно сложным, а также ошеломляющим, чтобы кто -то пытался достичь ее в качестве первой позиции. Возможный путь к тому, чтобы стать инженером DevOps-начать с действительно другой (но связанной) позиции и переключаться оттуда через 1-2 года или более.

Некоторые идеи:

  • Системный администратор — Это идеально, потому что каждый инженер Devops должен иметь твердое понимание ОС, а Sysadmins знают свою ОС:)
  • Разработчик/инженер программного обеспечения — DevOps должны иметь навыки кодирования, и эта позиция предоставит больше, чем требуемые знания в большинстве случаев
  • QA Engineer — это более хитрый, потому что ИМХО, у ИМХО меньше перекрывающихся областей/навыков с инженером Devops. Конечно, инженеры DevOps должны иметь некоторые знания о тестировании, но обычно кажется, что их солидные навыки/фон в основном состоит из внутренних и навыков кодирования системы.

Чего ожидать от интервью DevOps?

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

Есть несколько вещей, которые вы можете сделать с этим, так что это будет менее ошеломляющий опыт:

  1. Вы можете и, вероятно, должны спросить HR (в некоторых случаях даже руководить командой), как выглядит процесс интервью. Некоторые будут достаточно любезны, чтобы даже рассказать вам, как подготовиться.
  2. Обычно публикация работы дает больше, чем намек на то, где будет сосредоточиться и на чем вы должны сосредоточиться в своих приготовлениях, поэтому внимательно прочитайте его.
  3. Есть много сайтов, которые имеют заметки или краткое изложение процесса собеседования в разных компаниях, особенно на крупных предприятиях.

Не забудьте также быть интервьюером

Некоторые люди, как правило, рассматривают интервью как одну сторону дороги «определения кандидата квалифицированы», но на самом деле кандидат также должен определить, является ли компания он//Она берет интервью, это подходящее место для него/ее.

  • Я забочусь о размере команды? Более конкретно, я забочусь о том, чтобы быть шоу с одним человеком или частью более крупной команды?
  • Я забочусь о балансе между работой и личной жизнью?
  • Я забочусь о личностном росте и о том, как это практически делается?
  • Я забочусь о том, чтобы знать, каковы мои обязанности как часть роли?

Если вы это сделаете, вы также должны сыграть роль интервьюера:)

Последняя вещь

Удачи 🙂

Оригинал: «https://dev.to/abregman/how-to-prepare-for-devops-sre-interviews-enj»