Вопросы на собеседовании девопса

Господа, какие вопросы можно ожидать на позицию Devops-инженера? Как проходит стандартный день на работе? В чем заключается ежедневная рутина, если все автоматизированно и работает как часы.

В закладки

Решил круто изменить свою деятельность, имея небольшой бэкграунд в виде умения пользоваться линуксом на уровне админа и пайтона. Посмотрел видео уроки и немного разобрался с Jenkins, Ansible, Git, PostgreSQL, Prometheus и Докером, k8s ещё не усвоил (он кажется чем-то крайне сложным).

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

Нашёл на просторах интернета неплохую подборку вопросов, буду рад если дополните:

 Что такое Load Average, SWAP, inode?

— Опишите модель OSI и все ее уровни?

— Чем отличается TCP от UDP, как устанавливается соединение TCP?

— Когда нужно использовать SWAP, а когда нет?

— Чем отличается git pull от git fetch?

— Чем отличается транзакция от запроса, в контексте БД?

— Как починить chmod -x /bin/chmod?

— Что такое DevOps, Agile?

— С какими методологиями разработки ПО работал? Что знаешь о Scrum, Kanban и т.д?

— Чем виртуалки отличаются от контейнеров?

— Клиенты жалуются на то, что веб-сервис стал медленно работать, как бы ты последовательно докапывался до проблемы? Как обнаружить bottleneck?

— Чем отличаются реляционные БД от нереляционных и key-value? С какими из них работал, как бы ты организовывал разгрузку баз, репликации, миграции, бекапы?

— Что такое балансировщик? Какие типы балансировки при деплое знаешь? Что такое blue-green deployment, канареечные релизы?

— Как бы ты организовал поднятие инфраструктуры в облаке, в случае если отвалилась целая зона или регион?

— Как налету мигрировать работающую базу из одного региона в другую?

— Как бы ты строил ту или иную архитектуру проекта?

— Работал ли с облаками, AWS, GCP, Azure, OpenStack?

— Что представляет собой докер-контейнер? Из каких двух базовых вещей состоят контейнеры (имеется ввиду namespaces и cgroups)?

— Какие инструменты оркестрации контейнеров использовал? Для чего нужен Kubernetes, Nomad, Swarm, Compose?

— Есть ли опыт работы со стеком ELK, со стеком ПО от Hashicorp (Vault, Consul, Nomad, Terraform и т.д)?

— С какими системами мониторинга работал? Есть опыт работы с Prometheus?

— С какими CI-системами работал? В чем отличия Jenkins от TeamCity и других аналогичных систем?

— Что такое Continuous Integration/Delivery/Deployment и чем они друг от друга отличаются?

— Есть ли опыт внедрения CI/CD в инфраструктуру java-приложений (ant/maven/gradle)?

— С какими системами управления конфигурациями работал (Ansible/Puppet/Chef и т.д)? Почему именно с ними, в чем между ними разница?

— Как в access-логе Nginx посмотреть самые активные IP-адреса за последние сутки с помощью BASH?

— Как отсортировать массив в Python? Написать код в реальном времени.

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

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Глеб Федосов", "author_type": "self", "tags": [], "comments": 23, "likes": 0, "favorites": 4, "is_advertisement": false, "subsite_label": "ask", "id": 90344, "is_wide": false, "is_ugc": true, "date": "Wed, 30 Oct 2019 09:27:42 +0300", "is_special": false }
0
{ "id": 90344, "author_id": 262737, "diff_limit": 1000, "urls": {"diff":"\/comments\/90344\/get","add":"\/comments\/90344\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/90344"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199125, "last_count_and_date": null }
23 комментария
Популярные
По порядку
Написать комментарий...
2

Есть подборка с вопросами на гитхабе. https://github.com/bregman-arie/devops-interview-questions
Вообще, все сильно различается от проекта к проекту - и требования и вопросы и специфика работ. Кстати, приходилось собеседовании людей с опытом меньше чем у тебя, и в запросах они себя не ограничивали). Не забывай, что это и философия в том числе. И желаю удачи)

Ответить
1

Сорри, но, ИМХО в dev-ops с таким поверхностным знанием рановато... это более серьезная должность, чем вы думаете... Тут не подойдет "немного разобрался".

Ответить
3

Неправда. Все когда-то были джунами. Для джунского уровня достаточный набор. Автору: ходите по собеседованиям минимум 3 собеседования в день и вы найдете работу за неделю.

Ответить
0

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

Ответить
2

девопс - это специализация, а не уровень знаний

Ответить
0

Сорри, значит у меня ложные представления...

Ответить
0

А как получить опыт работы с гитом и докером, не будучи девопсом? Админ занимается немного другим, разраб - вообще другая ветка.

Ответить
0

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

Ответить
1

Например пофрилансить пару месяцев

Кем? Девопс может вообще не уметь ни программировать ни верстать. Какие-то только основы понимать и всё.

У нас вузы некоторые готовят девопсов, можно туда отправить, конечно.

Ответить
1

Ну не совсем посмотрел видосики, а посмотрел видосики несколько раз, выполнил примеры из видосиков, почитал документацию.)
Разработка всегда казалась не моим делом. Был опыт администрирования, сейчас работа вообще не связана с IT. Как я заметил, 95% девопсов это бывшие админы.
В целом согласен с вами в том, что ХОРОШИЙ девопс это шарящий человек, а такое только с опытом приходит.

Ответить
0

А что нужно сделать, что бы было не рановато? ))

Ответить
0

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

Ответить
2

ну а попасть в разрабы без опыта можно например с должности девопса...

Ответить
0

Товарищ сейчас так и планирует. По этому и вопросы возникли :)

Ответить
1

Стопэ. Девопс может вообще не иметь опыта разработки, он админ, а не программист.

Ответить
0

Я привел лишь пример, соглашусь.

Ответить
1

У нас на собеседованиях такие мелкие вещи никто не спрашивал, обычно дают сценарий и как бы ты решал проблему. Ну и конечно же даём задачу на дом и 1-2 дня на решение.
Это всегда сделать деплой в Cloud.
Git -> GitHub -> Jenkins - > AWS

Ответить
0

На всех моих собеседованиях было также. Больше проектирование и обоснование решений. А технические детали - ну такое, технологий для решения одной и той же проблемы очень-очень много: кто-то тесно работал с Jenkins, а кто-то со Spinnaker, кто-то эксперт в Nginx, а кто-то в Apache (а кто-то может и в Caddy) и так далее. Жизни не хватит быть экспертом во всем.  Обычно если появляется задача с использованием технологий, с которыми не знаком - учишься на ходу. Работа в DevOps неоднородна и нужно уметь всегда подстраиваться. 

Ответить
0

Git -> GitHub -> Jenkins - > AWS

А в чем прикол платить за гитхаб если есть бесплатный гитлаб, у которого и так есть ci? 

Ответить
0

Автору: Хорошо заданный вопрос содержит от 50 до 100% ответа. У Вас нормально сформулированные вопросы. Выделяем, например, "Чем отличается git pull от git fetch?" - нажимаем Найти - Профит!

Ответить
2

Да, но для собеседования кого? Если для собеседования джуна - то да, такие вопросы норм. Но для собеседование кого-то более-менее старше нужны вопросы помогающие понять как кандидат решает проблемы а не знает чем git pull от git fetch отличается. На свете много таких которые начитались "как пройти собеседование в гугл или фейсбук" а сами физзбаз написать не могут.

Ответить
0

Я немного о другом писал - о том, что накатав такой пост, состоящий из вопросов и тем для изучения (по сути, план обучения как раз) - можно было его не выкладывать "на оплевывание" на vc, а использовать по назначению - как план для обучения, внезапно!

Ответить
0

насчет K8S - он не кажется, он и есть сложный :) попробуй AWS ECS, он менее популярен, но это, по-моему, сейчас единственная альтернатива. намного интуитивнее и понятнее. 

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }