AI-Agent 面试题汇总 - Linux篇
1. Linux 常用命令有哪些?
常用命令按场景分:
- 文件目录:
lscdpwdcpmvrmfind - 文本处理:
catlessheadtailgrepawksedsortwc - 系统资源:
topfreedfduiostatvmstat - 进程网络:
pskillssnetstatlsof - 服务管理:
systemctljournalctl
2. 如何查看 Linux 系统版本和内核版本?
系统版本看发行版,内核版本看 uname。
cat /etc/os-release uname -r uname -a
3. 如何查看 CPU 使用情况?
top 动态看,uptime 看负载,mpstat 看多核。
top uptime mpstat -P ALL 1
4. 如何查看内存使用情况?
重点看可用内存、缓存、swap。
free -h top vmstat 1
5. 如何查看磁盘容量和挂载?
df -h lsblk
6. 如何查看目录/文件占用空间?
du -sh /var/log/* du -ah . | sort -rh | head -20
7. 如何查看磁盘 IO 读写瓶颈?
iostat -x 1 iotop -o
8. 如何查看端口占用?
ss -lntp | grep 8000 # 或 lsof -i:8000
9. 如何查看网络连接状态?
ss -s ss -ant | head
10. 如何查看进程并定位异常进程?
ps aux | grep agent top ps -fp <PID>
11. kill -15 和 kill -9 区别?
kill -15 是优雅终止(允许清理资源),kill -9 是强制终止(立即杀死,不能捕获)。
12. 如何实时查看日志?
tail -n 200 -f /var/log/app.log
13. 如何在日志中查 error/exception?
grep -Ei "error|exception|timeout" app.log
14. 如何统计某类错误出现次数?
grep -i "error" app.log | wc -l
15. cat、less、tail 区别是什么?
cat:一次性输出(小文件)less:分页查看(大文件)tail:看末尾/实时追踪(日志)
16. 如何查看 file1 中空行所在行号?
grep -n '^$' file1
# 或
awk '/^$/{print NR}' file1
17. chengji.txt 第二列求和
awk '{sum += $2} END {print sum}' chengji.txt
18. Shell 如何判断文件是否存在,不存在怎么处理?
if [ ! -f "/path/to/file" ]; then echo "文件不存在" exit 1 fi
19. Shell 如何对无序数字排序?
sort -n nums.txt sort -nr nums.txt
20. 如何查找 /home 下内容包含“shen”的文件名?
grep -R -l "shen" /home # 或 grep -R "shen" /home | cut -d ":" -f1 | sort -u
21. 文件权限 rwx 和 755/644 的含义?
rwx:读/写/执行755:属主 rwx,组和其他 r-x644:属主 rw-,组和其他 r--
22. chmod 和 chown 分别做什么?
chmod 修改权限,chown 修改属主属组。
chmod 755 run.sh chown user:group run.sh
23. 为什么不建议用 root 直接跑业务服务?
违反最小权限原则,服务被攻破或误操作时影响是系统级,风险过高。应使用专用低权限账号运行。
24. 如何测试机器网络连通?
ping <host>
25. 如何测试目标端口是否可达?
nc -zv <host> 8000 # 或 telnet <host> 8000
26. 本机能访问,外部不能访问,常见原因?
常见三类:1) 服务只监听 127.0.0.12) 防火墙/安全组未放行3) 反向代理转发配置错误
可用命令:
ss -lntp | grep 8000 sudo iptables -L -n sudo ufw status
27. systemctl 常用操作有哪些?
systemctl start app.service systemctl stop app.service systemctl restart app.service systemctl status app.service systemctl enable app.service systemctl disable app.service
28. 如何查看 systemd 服务日志?
journalctl -u app.service -n 200 --no-pager journalctl -u app.service -f
29. 为什么 systemd 比 nohup 更适合生产?
systemd 支持:开机自启、失败拉起、统一日志、依赖管理;nohup 只适合临时后台任务,不适合长期稳定托管。
30. 如何做 HTTP 健康检查?
curl -f http://127.0.0.1:8000/health echo $?
31. 如何配置定时任务?
crontab -e # 每5分钟执行一次 */5 * * * * /opt/app/check.sh >> /var/log/app/check.log 2>&1
32. >、>>、2>&1 分别是什么意思?
>:覆盖重定向>>:追加重定向2>&1:标准错误合并到标准输出
33. 如何查找大文件防止磁盘打满?
find / -type f -size +500M 2>/dev/null du -sh /var/log/*
34. 如何做日志轮转(logrotate)?
作用:防止单日志无限增长占满磁盘。
logrotate -d /etc/logrotate.conf logrotate -f /etc/logrotate.conf
35. 什么是僵尸进程?怎么处理?
僵尸进程是子进程退出后,父进程未调用 wait 回收,导致进程表残留。处理重点是修复父进程回收逻辑,必要时重启父进程。
36. 什么是 OOM,怎么确认?
OOM 是内存不足触发内核杀进程。
dmesg | grep -i oom journalctl -k | grep -i "killed process"
37. 如何排查“服务频繁重启”?
排查顺序:1) 看服务日志2) 看是否 OOM3) 看依赖(DB/缓存/API)超时4) 看最近配置或版本变更
systemctl status app.service journalctl -u app.service -n 300 --no-pager dmesg | grep -i oom
38. Docker 场景如何排障?
docker ps -a docker logs -f <container_id> docker exec -it <container_id> /bin/bash docker inspect <container_id>
核心思路:先日志,再配置,再网络与依赖。
39. load average 是什么,怎么判断高不高?
load average 是一段时间内可运行队列平均长度,不是 CPU 使用率。判断时要结合 CPU 核数:例如 8 核机器 load 长期 > 8,通常说明压力较高。
40. 面试里 Linux 排障案例应该怎么答?
按固定结构回答:现象 → 定位过程 → 根因 → 修复动作 → 复盘预防。这样最像真实线上排障,面试官最容易认可。
本专栏聚焦 AI-Agent 面试高频考点,内容来自真实面试与项目实践。系统覆盖大模型基础、Prompt工程、RAG、Agent架构、工具调用、多Agent协作、记忆机制、评测、安全与部署优化等核心模块。以“原理+场景+实战”为主线,提供高频题解析、标准答题思路与工程落地方法,帮助你高效查漏补缺.

查看78道真题和解析