运维面试高频真题汇总:15道高频题+标准答案
金三银四、金九银十,加上现在大厂小厂都在招运维,面试官那几道题翻来覆去就那些。我把高频真题按方向分了类,每题附标准答案,建议收藏反复刷。别光背,能讲出自己踩过的坑才是真的会。
一、Linux 基础
Q1:软链接和硬链接区别?
软链接是独立文件,指向源文件路径,可跨文件系统、可链目录,源文件删了软链就失效(悬空)。硬链接和源文件共用同一个 inode,不能跨文件系统、不能链目录,删掉任意一个不影响数据,只有最后一个链接删了数据才真正释放。Q2:磁盘显示有空间,但写不进文件,为什么?
三种常见情况:inode 耗尽(`df -i` 看,小文件太多会把 inode 占满);文件系统被挂成只读(磁盘错误或 `errors=remount-ro`);某个大文件被删但进程还占着句柄(`lsof | grep deleted`,空间不释放)。Q3:OOM Killer 杀进程后怎么定位?
`dmesg | grep -i oom` 看被 kill 的 pid 和得分;被选中通常是因为它占用内存最多。长期方案:调 `oom_score_adj` 保护关键进程,查应用内存泄漏,设 cgroup 内存上限。二、网络
Q4:TCP 三次握手?
客户端发 SYN,服务端回 SYN+ACK,客户端再发 ACK,连接建立。本质是用三次交互确认双方的收发能力都正常。Q5:TIME_WAIT 过多怎么处理?
TIME_WAIT 在主动关闭方,是正常状态(保证最后一个 ACK 可靠、防旧报文串扰)。过多说明短连接太频繁。处理:开启 `tcp_tw_reuse=1`、用长连接、连接池复用;别轻易关 `tcp_tw_recycle`(已废弃且有坑)。Q6:端口能通但业务超时?
端口通只说明 TCP 层没问题,业务超时多半在应用层。用 `curl -w "%{time_connect} %{time_starttransfer} %{time_total}"` 看连接/首字节/总耗时分段;`tcpdump` 抓包看卡在哪一段;再查 DNS 解析、后端慢查询、TLS 握手。三、SRE / 稳定性
Q7:SLO、SLI、错误预算是什么?
SLI 是具体的度量指标(如请求成功率、延迟);SLO 是给 SLI 定的目标值(如成功率 99.9%);错误预算 = 1 - SLO 的可用额度(如每月允许 0.1% 失败)。预算没烧完可以放心发版,烧完了就停新功能、保稳定。Q8:熔断、降级、限流区别?
限流是控制入口 QPS,防止系统被冲垮;熔断是依赖服务故障时快速失败,避免雪崩;降级是保核心功能,非核心的直接返回默认值或走简化逻辑。Q9:容量规划怎么做?
看历史峰值的 QPS/资源占用,乘以业务增长系数,再加冗余(通常 30–50%);用压测验证瓶颈;设利用率告警;最后 HPA/弹性兜底。别拍脑袋买机器。四、云原生 / K8s
Q10:Pod 一直 Pending?
`kubectl describe pod` 看 Events:最常见是节点资源不够(CPU/内存 request 满足不了)、节点亲和/污点(toleration)不匹配、PVC 绑不上、或者镜像拉取失败(私有仓库没配 imagePullSecret)。Q11:HPA 不扩不缩?
检查:metrics-server 装了没、指标有没有数据;HPA 里 target 的指标名写错(比如用了不存在的 metric);minReplicas 可能限制了下限;Pod 没设 resource request,导致算不出利用率,HPA 直接不工作。Q12:改了 ConfigMap,Pod 里没生效?
用环境变量的方式注入,必须重启 Pod 才生效;用 volume 挂载的方式,kubelet 会定期同步(有缓存延迟,几十秒到几分钟),或触发一次滚动更新立刻生效。五、数据库
Q13:慢查询怎么优化?
开慢查询日志定位,用 `EXPLAIN` 看执行计划,加合适索引、避免全表扫;改写 SQL 减少回表;大表考虑分库分表。索引不是越多越好,写多读少的表索引多了反而拖慢写入。Q14:主从延迟怎么排查?
看 `Seconds_Behind_Master`:大事务(比如一次性删几百万行)、从库硬件/配置差、网络抖动、单线程复制跟不上写峰。解决:拆大事务、升级从库、开并行复制(多线程 apply)。Q15:死锁怎么处理?
查 `innodb_lock_waits` / `information_schema` 锁视图,找到互相等待的两个事务;根本解法:统一加锁顺序、缩短事务、降低隔离级别、控制并发。死锁发生时 MySQL 会回滚代价小的事务,应用要能重试。六、准备建议(比背题重要)
**项目经验 > 八股**:准备 2–3 个能讲深的故障复盘,讲清"现象→排查→根因→整改",比背标准答案加分多。**简历每条都能展开**:写上去的每一项,面试官都可能追问"为什么这么做、结果指标是多少",答不上来就是减分。**算法别裸考**:很多厂考中等难度算法,LeetCode 热题先刷一遍。**反问环节有准备**:问团队规模、告警体系、oncall 机制、技术栈演进,既显专业也帮你判断坑不坑。你被问过最刁钻的运维面试题是什么?或者哪道题当场卡壳了?评论区聊聊,我挑典型的后续出一篇深度解析。觉得有用收藏起来,跳槽前刷一遍;也转发给正准备面试的运维兄弟,互相提个醒。