Назад к подготовке

Какие Linux-команды нужны для диагностики сервера

Интервьюер спрашивает, какими Linux-командами пользоваться на сервере для навигации, поиска файлов, логов и диагностики процессов.

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

Нужен базовый набор: cd/ls/pwd, find/rg/grep, cat/less/tail, ps/top/htop, df/du/free, systemctl/journalctl, ss/lsof, env и chmod/chown. Важно объяснять, что именно диагностируешь.

Полный разбор

Для навигации и файлов: pwd, ls -la, cd, find, rg или grep, cat, less, head, tail -f. Для места и ресурсов: df -h, du -sh, free -h, top или htop.

Для процессов и сервисов: ps aux, pgrep, kill, systemctl status/restart, journalctl -u service -f. Для сетевой диагностики: ss -tulpn, lsof -i, curl -i, иногда nc. Для окружения и прав: env, printenv, chmod, chown.

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

Теория

Даже ML/backend инженер должен уметь сделать первичный production debug: найти процесс, посмотреть логи, проверить порт, место на диске и runtime env.

Типичные ошибки

  • Перечислить команды без сценариев применения.
  • Забыть journalctl/systemctl для systemd-сервисов.
  • Не проверить диск, порт и переменные окружения при production incident.

Как отвечать на собеседовании

  • Отвечай через диагностические сценарии, а не просто список команд.
  • Для systemd-сервисов сразу называй systemctl и journalctl.