DevOps — это пересечение разработки, операционной работы и автоматизации. Собеседование на позицию DevOps Junior проверяет знание Linux, контейнеризации, CI/CD и мониторинга. Вот что реально спрашивают.
Linux и сети (вопросы 1–15)
1. Что такое Linux и зачем DevOps его знать?
Большинство серверов работает на Linux. DevOps управляет этими серверами: деплоит приложения, настраивает сервисы, дебажит проблемы.
2. Основные команды Linux?
`ls, cd, mkdir, rm, cp, mv, cat, grep, find, chmod, chown, ps, kill, top, df, du, tar, ssh, scp, curl, wget, systemctl, journalctl`.
3. Что такое права доступа в Linux?
Три группы: owner, group, others. Права: read (4), write (2), execute (1). `chmod 755` = rwxr-xr-x. `chown user:group file` меняет владельца.
4. Что такое процесс и как его найти?
`ps aux` — все процессы. `ps aux | grep nginx` — фильтр. `pgrep nginx` — PID по имени. `kill PID` — завершить, `kill -9 PID` — принудительно.
5. Что такое `grep` и как им пользоваться?
Поиск по содержимому: `grep "error" logfile.log`. Рекурсивно: `grep -r "pattern" /var/log`. Регулярки: `grep -E "error|warn" log`.
6. Что такое `systemctl`?
Управление systemd-сервисами. `systemctl start/stop/restart nginx`, `systemctl enable nginx` (автозапуск), `systemctl status nginx`, `journalctl -u nginx -f` (логи).
7. Что такое cron?
Планировщик задач. `crontab -e` — редактировать. Формат: `минуты часы день месяц день_недели команда`. `0 2 * /script.sh` — каждый день в 2:00.
8. Что такое IP, порт, протокол?
IP — адрес устройства в сети. Порт — адрес процесса на устройстве (0–65535). Протокол — правила обмена: TCP (надёжный), UDP (быстрый).
9. Что такое DNS?
Domain Name System — переводит доменные имена в IP-адреса. `nslookup` и `dig` для диагностики.
10. Что такое SSH и как им пользоваться?
Протокол безопасного удалённого подключения. `ssh user@host`. Ключи: `ssh-keygen` генерирует пару, публичный ключ кладётся в `~/.ssh/authorized_keys` на сервере.
11. Что такое `curl`?
Инструмент для HTTP-запросов из командной строки. `curl -X GET https://api.example.com`. `-H` — заголовки, `-d` — тело, `-o` — сохранить в файл.
12. Что такое firewall и как настроить базово?
Фильтр сетевого трафика. `ufw allow 80` и `ufw allow 443` — открыть порты для HTTP/HTTPS. `ufw enable` — включить.
13. Что такое `iptables` vs `nftables`?
Инструменты управления сетевыми правилами ядра Linux. `iptables` — классика, `nftables` — современная замена. `ufw` — удобная обёртка над ними.
14. Что такое `load average`?
Средняя нагрузка на систему за 1, 5, 15 минут. Показывает `top` и `uptime`. Значение выше числа CPU-ядер — очередь растёт.
15. Что такое `swap`?
Раздел на диске, используемый как виртуальная RAM при нехватке оперативной памяти. Медленнее RAM, но позволяет системе не падать при пиковой нагрузке.
Docker и контейнеризация (вопросы 16–25)
16. Что такое Docker?
Платформа для контейнеризации. Контейнер — изолированный процесс с собственной файловой системой, использующий ядро хоста. Легче VM, запускается быстрее.
17. Чем контейнер отличается от виртуальной машины?
VM эмулирует полноценное железо с ОС. Контейнер разделяет ядро хоста — меньше накладных расходов, быстрее старт, меньше памяти.
18. Что такое Dockerfile?
Инструкция для создания Docker-образа. `FROM` — базовый образ, `RUN` — команды при сборке, `COPY` — копирует файлы, `CMD/ENTRYPOINT` — команда запуска.
19. Что такое Docker Image vs Container?
Image — шаблон (read-only). Container — запущенный экземпляр image (read-write layer сверху).
20. Основные команды Docker?
`docker build -t name .`, `docker run -p 8080:80 name`, `docker ps`, `docker logs <id>`, `docker exec -it <id> bash`, `docker stop/rm <id>`.
21. Что такое docker-compose?
Инструмент для запуска многоконтейнерных приложений. `docker-compose.yml` описывает сервисы, сети, тома. `docker-compose up -d` — запустить в фоне.
22. Что такое volume в Docker?
Механизм хранения данных вне контейнера. Данные сохраняются при перезапуске контейнера. `docker run -v /host/path:/container/path image`.
23. Что такое `.dockerignore`?
Файл, перечисляющий то, что не нужно копировать в образ при сборке. Аналог `.gitignore`. Уменьшает размер образа.
24. Что такое multi-stage build?
Сборка образа в несколько этапов: в одном этапе компилируем/собираем, в другом — только результат. Уменьшает итоговый размер образа.
25. Что такое Kubernetes (K8s) базово?
Оркестратор контейнеров: управляет развёртыванием, масштабированием и отказоустойчивостью. Для junior — достаточно знать, что это такое и какие основные объекты: Pod, Deployment, Service.
CI/CD, Git и мониторинг (вопросы 26–35)
26. Что такое CI/CD?
Continuous Integration — автоматически собираем и тестируем код при каждом коммите. Continuous Delivery/Deployment — автоматически доставляем в среду.
27. Что такое GitHub Actions?
CI/CD-платформа от GitHub. `.github/workflows/main.yml` — описание пайплайна. Триггеры: push, pull_request, cron. Шаги: checkout, build, test, deploy.
28. Что такое Git-хуки?
Скрипты, запускаемые автоматически при git-событиях: pre-commit (до коммита), pre-push. Используются для линтинга, форматирования, проверок.
29. Что такое infrastructure as code?
Управление инфраструктурой через код (не ручная настройка). Инструменты: Terraform (облачные ресурсы), Ansible (конфигурация серверов).
30. Что такое Ansible?
Инструмент автоматизации конфигурации. YAML-playbooks описывают желаемое состояние серверов: установка пакетов, настройка сервисов, деплой.
31. Что такое мониторинг и зачем он нужен?
Отслеживание состояния системы: доступность, производительность, ошибки. Позволяет обнаружить проблему до пользователей.
32. Что такое Prometheus и Grafana?
Prometheus — сбор и хранение метрик (pull-модель). Grafana — визуализация метрик в виде дашбордов. Популярный стек для мониторинга.
33. Что такое алерты в мониторинге?
Уведомления при выходе метрики за порог: CPU > 90%, ошибки > 5%, сервис недоступен. Alertmanager (в Prometheus) отправляет в Slack, PagerDuty.
34. Что такое ELK-стек?
Elasticsearch (поиск и хранение логов) + Logstash (сбор и обработка) + Kibana (визуализация). Используется для централизованного сбора и анализа логов.
35. Что такое SLA, SLO, SLI?
SLI — измеримый показатель (uptime, latency). SLO — целевое значение SLI (uptime 99.9%). SLA — договорное обязательство перед клиентом.
Облака и дополнительно (вопросы 36–40)
36. Что такое облачные провайдеры?
AWS, GCP, Azure — платформы виртуальных серверов, баз данных, хранилищ и других сервисов. Для junior достаточно базового понимания EC2/VPC (AWS) или GCE (GCP).
37. Что такое S3?
AWS Simple Storage Service — объектное хранилище. Хранит файлы как объекты в бакетах. Используется для статики, бэкапов, логов.
38. Что такое `nginx` и зачем он нужен?
Веб-сервер и reverse proxy. Принимает HTTP-запросы, раздаёт статику, проксирует запросы на backend-сервисы, балансирует нагрузку, терминирует SSL.
39. Что такое load balancer?
Распределяет входящий трафик между несколькими серверами. Алгоритмы: round-robin, least connections, IP hash.
40. Что такое blue-green deployment?
Стратегия деплоя: два окружения (blue и green). В production — blue. Деплоим в green, тестируем, переключаем трафик. Откат — мгновенный переключением обратно.
FAQ
Нужно ли программирование для DevOps?
Да, хотя бы Python или Bash для автоматизации. Не нужно быть разработчиком — нужно писать скрипты.
С чего начать изучение DevOps?
Linux + Git + Docker — фундамент. Потом CI/CD (GitHub Actions), потом Kubernetes и облака.
---