Какие 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.