Добавить в корзинуПозвонить
Найти в Дзене
Просто DevOps

Топ 5 самых популярных вопросов на собесах DevOps

Сегодня мы рассмотрим 5 вопросов, которые задают практически на каждом собеседовании. Именно эти вопросы сразу дают понять, знаете ли вы базу. Почему спрашивают? Чтобы проверить, разбираетесь ли вы в базовых метриках Linux или делаете вид. Load average – это показатель, который показывает сколько процессов одновременно требуют CPU за последние 1, 5 и 15 минут. Как отвечать: Как готовиться, чтобы точно знать, о чем вы говорите: Почему спрашивают? Потому что если ваш Dockerfile — это беспорядочная свалка, компания получит огромные образы, потенциальные уязвимости и постоянные проблемы с деплоем. Что сказать, чтобы не упасть в грязь лицом: Где поднабраться опыта: Почему спрашивают? Потому что это основа Ansible. Если не понимаете, как устроены роли, вы автоматически попадаете в категорию новичка или человека, который ни разу до этого собеса не слышал про Ansible. Коротко, что нужно знать, чтобы не выглядеть жалко: Как прокачаться: Почему спрашивают? Kubernetes — ключевой навык DevOps, поч
Оглавление

Сегодня мы рассмотрим 5 вопросов, которые задают практически на каждом собеседовании. Именно эти вопросы сразу дают понять, знаете ли вы базу.

1. Что такое Load average и что она показывает?

Почему спрашивают?

Чтобы проверить, разбираетесь ли вы в базовых метриках Linux или делаете вид. Load average – это показатель, который показывает сколько процессов одновременно требуют CPU за последние 1, 5 и 15 минут.

Как отвечать:

  • Если у вас 4 ядра, и Load average = 4, всё идёт ровно впритык. Если больше 4, начинается очередь.
  • При одном ядре 1 –  уже нагрузка под завязку. Если растёт дальше — риск потери производительности.

Как готовиться, чтобы точно знать, о чем вы говорите:

  1. Проведите эксперименты на реальном/виртуальном сервере с командами uptime, top, htop.
  2. Используйте stress или ещё какую-нибудь утилиту, чтобы нагрузить процессор и посмотреть, как меняется Load average.
  3. Почитайте очень хорошую статью на Хабре

2. Какие есть best practices для написания Dockerfile

Почему спрашивают?

Потому что если ваш Dockerfile — это беспорядочная свалка, компания получит огромные образы, потенциальные уязвимости и постоянные проблемы с деплоем.

Что сказать, чтобы не упасть в грязь лицом:

  1. Нужно использовать минимальные базовые образы (Alpine, Distroless).
  2. Применять multi-stage build (сборка образа в несколько этапов), чтобы не тащить лишние данные.
  3. Не захламлять Dockerfile кучей последовательных RUN (объединять команды в одну) — тем самым кэшировать слои .
  4. Не гонять процессы под root, если можно запустить под обычным пользователем.
  5. Копировать только нужные файлы, не тащить туда кучу левого барахла.

Где поднабраться опыта:

  1. Поиграйтесь с Docker: соберите образ, посмотрите, сколько он весит, попробуйте оптимизировать.
  2. Почитайте документацию (совет работает для любого вопроса)

3. Что такое роли в Ansible и для чего они нужны?

Почему спрашивают?

Потому что это основа Ansible. Если не понимаете, как устроены роли, вы автоматически попадаете в категорию новичка или человека, который ни разу до этого собеса не слышал про Ansible.

Коротко, что нужно знать, чтобы не выглядеть жалко:

  1. Роль (role) в Ansible – это способ структурировать задачи, переменные, шаблоны и файлы в единую логическую группу, чтобы упростить повторное использование и поддержание плейбуков.
  2. У роли есть определённая структура: tasks/, handlers/, files/, templates/, vars/, defaults/, meta/.
  3. Одна роль — под одну конкретную задачу (к примеру, установка Nginx, Redis и т.д.).
  4. Роли удобно переиспользовать и поддерживать, потому что всё чётко структурировано.

Как прокачаться:

  1. Создайте роль для установки Nginx, чтобы руками прочувствовать механику.
  2. Узнайте, зачем нужны handlers, и чем отличаются vars от defaults.
  3. Опять же, почитайте документацию

4. В чём разница между Deployment и StatefulSet в Kubernetes?

Почему спрашивают?

Kubernetes — ключевой навык DevOps, почти все компании влюблены в куб.

Главное:

  1. Deployment: для stateless-приложений (веб-сервисы, API), где поды — полные клоны друг друга. Хотите — убивайте все, пересоздавайте — всё ок.
  2. StatefulSet: для случаев, когда нужно чтобы каждый под  был уникален (данные, состояние), и порядок рестарта важен. Тут требуются уникальные имена и аккуратная последовательность обновлений.

Как подготовиться:

  1. Поднимите minikube, поиграйтесь с манифестами.
  2. Посмотрите, как работают PersistentVolume и механизм пошагового перезапуска.
  3. Прочитайте статью

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

Почему спрашивают?

Потому что Git — наша рабочая лошадка. Незнание основ Git — это верный способ выглядеть балаболом.

Проще говоря:

  1. git fetch — скачивает изменения с удалённой ветки, но не мёрджит (не объединяет) их в ваш локальный репозиторий. Просто показывает, что изменилось на сервере.
  2. git pull — сперва делает fetch, а потом автоматически делает merge (или rebase, если так настроено).

Как быстро прокачаться:

Создайте тестовый репозиторий, попробуйте сделать fetch, затем смёрджить вручную, а потом посмотрите, как pull сделает всё автоматически. Разберитесь в мелочах — станете умнее.

В следующих постах разберём каждую тему более подробно, чтобы вы не выглядели растерянными на собеседованиях и могли уверенно претендовать на жирный оффер. Главное — не стойте на месте, учитесь и вырастайте в настоящих DevOps-инженеров.