Найти в Дзене
КАМЕНЬ

Каверзные вопросы для DevOps на собеседовании + правильные ответы и пояснения!

Эти вопросы проверяют не только знание технологий, но и способность мыслить критически. ✅ Ответ: Кластер перестанет работать, так как etcd хранит всё состояние кластера. ✅ Ответ: Контейнер убит из-за нехватки памяти (OOM Killer). ✅ Ответ: Посмотреть логи (journalctl -b или /var/log/auth.log). ✅ Ответ: Вторая команда — fork-бомба (быстро исчерпывает ресурсы системы). ✅ Ответ: Возможно, неправильный kubeconfig или недоступен API-сервер. ✅ Ответ: Найти процесс (ps aux | grep port-forward) и убить его (kill -9). ✅ Ответ: Лишает всех прав на chmod, после чего его нельзя исправить без live-USB. ✅ Ответ: Ресурсы помечены как prevent_destroy = true в конфигурации. ✅ Ответ: docker rm -f $(docker ps -aq). ✅ Ответ: Ansible проигнорирует это (не будет ошибки, если хост есть в инвентаре). ✅ Ответ: git reset --hard HEAD~100 (удалит последние 100 коммитов). ✅ Ответ: Сервис может зависеть от других (лучше systemctl daemon-reload). ✅ Ответ: Очищает кеш файловой системы (не влияет на приложения). ✅ Отве
Оглавление

Эти вопросы проверяют не только знание технологий, но и способность мыслить критически.

1. Что будет, если в Kubernetes удалить etcd?

Ответ: Кластер перестанет работать, так как etcd хранит всё состояние кластера.

2. Почему docker run может завершиться с кодом 137?

Ответ: Контейнер убит из-за нехватки памяти (OOM Killer).

3. Как узнать, кто перезагрузил сервер в Linux?

Ответ: Посмотреть логи (journalctl -b или /var/log/auth.log).

4. Что опаснее: rm -rf / или :(){ :|:& };:?

Ответ: Вторая команда — fork-бомба (быстро исчерпывает ресурсы системы).

5. Почему kubectl get pods не показывает поды?

Ответ: Возможно, неправильный kubeconfig или недоступен API-сервер.

6. Как остановить kubectl port-forward без Ctrl+C?

Ответ: Найти процесс (ps aux | grep port-forward) и убить его (kill -9).

7. Что делает chmod 000 /bin/chmod?

Ответ: Лишает всех прав на chmod, после чего его нельзя исправить без live-USB.

8. Почему terraform destroy не удаляет некоторые ресурсы?

Ответ: Ресурсы помечены как prevent_destroy = true в конфигурации.

9. Как удалить все Docker-контейнеры, включая остановленные?

Ответ: docker rm -f $(docker ps -aq).

10. Что будет, если в Ansible запустить playbook с --limit на несуществующий хост?

Ответ: Ansible проигнорирует это (не будет ошибки, если хост есть в инвентаре).

11. Как сломать Git-репозиторий одной командой?

Ответ: git reset --hard HEAD~100 (удалит последние 100 коммитов).

12. Почему systemctl restart service не всегда решает проблему?

Ответ: Сервис может зависеть от других (лучше systemctl daemon-reload).

13. Что делает echo 1 > /proc/sys/vm/drop_caches?

Ответ: Очищает кеш файловой системы (не влияет на приложения).

14. Как узнать, какой процесс слушает порт 80?

Ответ: sudo lsof -i :80 или ss -tulnp | grep 80.

15. Почему curl localhost работает, а curl 127.0.0.1 — нет?

Ответ: В /etc/hosts изменён localhost или сервер слушает только IPv6.

16. Как удалить все ветки в Git, кроме main?

Ответ: git branch | grep -v "main" | xargs git branch -D.

17. Что опасного в tar -xvf archive.tar /?

Ответ: Распаковывает архив в корень FS (может перезаписать системные файлы).

18. Почему ping не работает, а curl — да?

Ответ: ICMP заблокирован фаерволом, но HTTP/HTTPS открыты.

19. Как сломать кластер Kubernetes одной командой?

Ответ: kubectl delete namespace kube-system.

20. Зачем в CI/CD нужен timeout для сборки?

Ответ: Чтобы избежать вечных зависаний (например, из-за deadlock).

21. Что произойдет, если выполнить chmod -R 777 /?»

Ответ: Система станет уязвимой:

  • Любой пользователь получит права на запись в системные каталоги (/etc, /bin).
  • Решение: Восстановить права через LiveCD или резервную копию.

22. Почему kubectl get pods показывает CrashLoopBackOff?

Ответ: Контейнер постоянно падает.
Причины:

  • Ошибка в коде приложения.
  • Не хватает ресурсов (CPU/Memory).
  • Проблемы с зависимостями (например, БД не готова).

Как debug:
kubectl logs <pod> --previous
kubectl describe pod <pod>

23. Почему terraform apply может удалить продовую БД?»

Ответ: Если в коде Terraform:

  • Нет prevent_destroy = true для критичных ресурсов.
  • Используется terraform destroy --auto-approve в CI/CD.

Как избежать:

  • Блокировки в Terraform State.
  • Review изменений через terraform plan.

24. Как найти все файлы с паролями в конфигах?

Ответ:

grep -r "password" /etc/ 2>/dev/null

Важно: Проверять только свои каталоги, иначе можно нарушить безопасность.

25. Как проверить, что Ansible действительно идемпотентен?

Ответ: Запустить playbook дважды и убедиться, что изменений нет:

ansible-playbook playbook.yml --check --diff

Вывод

Эти вопросы проверяют:

  • Глубокое понимание Linux, Docker, Kubernetes.
  • Умение работать с аварийными ситуациями.
  • Осторожность при выполнении деструктивных команд.

💡 Совет: На собеседовании важно не только дать правильный ответ, но и объяснить последствия!