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

Господа, какие вопросы можно ожидать на позицию 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? Написать код в реальном времени.

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

11
24 комментария

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

2
Ответить

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

1
Ответить

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

3
Ответить

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

1
Ответить

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

Ответить

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

1
Ответить

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

Ответить