运维面试高频考点与失分点:命令、排查链路及真题答法
发布时间:2026/10/25 11:41:18 锦皓数字建站

简介运维工程师面试题集 PDF 面向初中级运维、系统管理员及准备跳槽的求职者围绕 Linux、Shell、Python、MySQL、Docker、Kubernetes 与网络等常见面试方向组织内容题目按技术栈分块内容围绕高频考点编排便于定位薄弱环节。题目从进程查看与 nginx 进程统计、du 与 df 差异、根分区占满排查延伸到 Shell 变量含义、批量建用户、在线 IP 探测与 URL 可用性检查同时覆盖 Python 数据类型、深浅拷贝、生成器与迭代器MySQL 事务隔离级别、主从延迟与优化备份Docker 镜像容器区别、Dockerfile 指令K8s 组件对象、Pod 健康监测与持久化以及 OSI 七层、TCP/UDP、三次握手和 HTTP 状态码等并补充 Linux 系统优化中的问题排查思路。压缩包仅含 1 个 PDF 文件约 890KB可按知识模块快速检索与背诵。已有 677 人学习适合面试前系统梳理考点、查漏补缺并借助题目中的排查思路与命令示例强化实操表达。1. 运维面试里最容易掉分的是那些你以为背熟的命令运维工程师面试题的分布其实很稳定Linux 与 Shell 是底盘MySQL、Docker、Kubernetes、网络各出一到两道Python 通常作为脚本能力的加分项出现。真正拉开差距的不是“知不知道这个命令”而是“能不能把一条命令讲成一条排查链路”。du和df的区别谁都会背但面试官问“根分区满了怎么排查”答完区别就停住的人和能顺着df -h定位、du -sh /*下钻、lsof L1找回已删除文件的人分档立刻不同。这份笔记按模块把高频考点、真题答法和失分点拆开适合已经能敲命令、但答不全因果链的备考者照着练能把答案补到面试官愿意继续追问的深度。2. Linux 与 Shell命令答一半等于没答Linux 和 Shell 在运维面试里属于“默认你会”的部分面试官不会给提示也不会铺垫场景张口就是“根分区满了怎么办”“统计一下 nginx 进程数”。这类题的特点是答案有明确终点答到哪一步停住水平就停在哪一档。下面三组题——磁盘、统计、脚本——几乎每场都出现而且都能用固定模板覆盖练熟之后遇到变体也只是换参数。2.1 du 与 df根分区满了的四步排查定义上的区别要先说准df读取的是文件系统超级块里的元数据统计整个挂载点的已用和可用块速度快但存在延迟——文件被删除后如果进程还持有句柄df依然显示占用du是遍历目录树逐个累加文件大小慢但能精确到某个目录。两者数字对不上最常见的场景就是“文件删了空间没回来”。排查顺序要背成条件反射先定位挂载点再逐层下钻再找已删除但被占用的文件最后查 inode。少了第三步遇到日志被rm掉但进程没重启的情况就会卡住少了第四步遇到小文件把 inode 耗光的情况会得出“磁盘没满但写不进去”的矛盾结论。# 1. 先看哪个挂载点满了重点看 Use% 和 Mounted on df -h # 2. 从根开始逐层下钻-s 汇总、-h 人类可读、sort -rh 按数值逆序 du -sh /* 2/dev/null | sort -rh | head -10 # 3. 锁定大目录后继续下钻比如 /var du -sh /var/* 2/dev/null | sort -rh | head -10 # 4. 找出已删除但仍被进程打开的文件link count 小于 1 lsof L1 2/dev/null | head -20 # 5. 小文件太多时inode 也会被耗尽 df -i参数和逻辑说明-s只输出汇总值不展开子目录-h转成 K/M/G 可读单位2/dev/null屏蔽无权限目录的报错噪音sort -rh里的-h让 sort 能正确比较 1K 和 2M 这种单位。lsof L1列出 link count 小于 1 的文件这类文件在目录里已经看不见但磁盘块没释放处理方式是重启对应进程或: /proc/pid/fd/fd清空。df -i看的是 inode 使用率和块使用率是两套指标。提示面试时把“四步”说成一条链比背五个命令更有说服力。结尾补一句“如果 du 和 df 差得很大优先怀疑已删除句柄其次怀疑挂载点被覆盖”面试官基本会顺着问下一题。2.2 进程、日志、连接三个统计命令的写法进程统计考的是细节意识。ps -ef | grep nginx | wc -l这个答案会被追问“grep 自己算不算”所以必须加grep -v grep。原文的写法是ps -ef | grep nginx | grep -v grep | wc -l这是标准答法。第二问“如果是 root 用户打印第一列和最后一列”本质是考 awk 的字段引用。# 统计 nginx 进程数排除 grep 自身那一行 ps -ef | grep nginx | grep -v grep | wc -l # 只打印 root 启动的进程输出用户和最后一列 ps -ef | grep nginx | grep -v grep | awk $1root{print $1,$NF}$1是第一列即用户名$NF是最后一列。这里有个容易翻车的点ps -ef的最后一列是完整命令行如果进程带启动参数$NF拿到的是参数而不是进程名。想稳一点可以用$8因为ps -ef的第八列是 CMD 的起始位置。面试官如果追问这个差异说明他在试探你是背答案还是真用过。nginx 日志统计 top10 IP是运维面试出现频率最高的日志题。核心是sort | uniq -c这个组合uniq只能合并相邻的重复行不先排序同一个 IP 分散在日志各处就会统计成多条。# 取第一列 IP排序后去重计数再按次数逆序取前十 awk {print $1} access.log | sort | uniq -c | sort -rn | head -10 # 常被追问的状态码分布第九列是 status awk {print $9} access.log | sort | uniq -c | sort -rn | headuniq -c在每行前面加上出现次数sort -rn按数字逆序。如果面试官问“访问页面数量前十”而不是“请求数前十”就要先按 URL 去重再按 IP 计数思路是先awk {print $1 $7}拼出 IP 加 URL再sort -u去重最后回到 IP 维度统计。这一层追问能答出来说明你理解的是统计口径而不是命令拼接。TCP 连接状态统计考的是 awk 数组用法# $NF 是每行最后一列即连接状态用状态做数组下标累加 netstat -n | awk /^tcp/ {S[$NF]} END {for (a in S) print a, S[a]}/^tcp/过滤出 TCP 连接行S[$NF]以状态为键计数END块在全部输入处理完后遍历输出。用ss的话写法是ss -ant | awk NR1{S[$1]} END{for(a in S) print a,S[a]}注意ss第一行是表头要跳过。tcpdump 抓包找访问最高的来源原文用-F.切分实际会出问题抓包输出里 IP 后面跟着端口按点切分时第四段会变成端口同一 IP 的不同端口会被拆成不同条目。更稳的写法是同时以空格和点作为分隔符。# -i 指定网卡-tnn 不打印时间戳、不做域名和端口解析-c 抓够 1000 个包停止 tcpdump -i eth0 -tnn dst port 80 -c 1000 \ | awk -F[ .] {print $1.$2.$3.$4} \ | sort | uniq -c | sort -nr | head -20-F[ .]让 awk 把空格和点都当分隔符前四段正好拼回源 IP。这个细节在面试里说出来比背完整命令更有分量。2.3 Shell 变量与四个必写脚本位置参数和特殊变量是 Shell 题的入口答错一个就会连带后面的脚本题失分。变量含义注意点$0当前脚本文件名不等于执行路径取决于调用方式$n第 n 个参数n 大于 10 要用${10}$#参数个数不含$0$*所有参数加双引号时合成一个整体$所有参数加双引号时仍是独立多个$?上一条命令退出状态0 表示成功非 0 是失败$$当前 Shell 进程 PID脚本里就是脚本自身进程号$*和$的区别要能用一句话讲清不加引号时两者等价加双引号时$*把参数拼成一整串$保持参数边界。面试官常追问“遍历参数用哪个”答案是for i in $。批量建用户的脚本重点在密码设置方式#!/bin/bash # $1 作为统一初始密码生产环境应改成随机密码并强制首次登录修改 for i in $(seq 1 10); do useradd user$i echo $1 | passwd --stdin user$i /dev/null 21 doneseq 1 10生成序列--stdin让 passwd 从标准输入读密码。这里有个踩坑点必须知道--stdin是部分发行版 passwd 的扩展参数换到另一类系统上会报错通用写法是echo user$i:$1 | chpasswd。面试里主动提这句等于告诉对方你踩过。探测网段在线 IP朴素写法是顺序 ping254 个地址最坏要等四分多钟。加并发才是能过生产的答案#!/bin/bash # -c 1 只发一个包-W 1 超时 1 秒 放后台并发wait 收敛全部子进程 for ip in $(seq 1 254); do ( ping -c 1 -W 1 192.168.1.$ip /dev/null 21 echo 192.168.1.$ip UP ) done wait判断依据是ping的退出状态只在成功时输出。wait不能省否则主脚本先退出终端上看不到完整结果。检查 URL 可用性考的是 curl 的输出控制#!/bin/bash # -o /dev/null 丢弃响应体-s 静默进度-w 只打印状态码--connect-timeout 防长时间卡住 code$(curl -o /dev/null -s -w %{http_code} --connect-timeout 3 http://www.example.com) if [ $code -ne 200 ]; then echo access failure, code$code fi%{http_code}是 curl 的格式化输出变量。判断条件用-ne做数值比较因为状态码是数字不是字符串。生产脚本里通常还会判断000那是连接失败而不是 HTTP 返回。日志打包加定时任务考的是时间格式和 find 条件#!/bin/bash # crontab 配置0 0 * * 1 /bin/bash /path/backup_log.sh DATE$(date %F) find /var/log -type f -name *.log -mtime 7 -print0 \ | xargs -0 tar -zcf /tmp/log_${DATE}.tar.gz%F输出年-月-日满足“文件名带当天日期”-mtime 7表示修改时间在七天以前-print0配合xargs -0处理带空格的文件名这是很多人翻车的地方。crontab 五个字段依次是分、时、日、月、周0 0 * * 1就是每周一零点。3. Python 与 MySQL原理题拼的是因果链Python 和 MySQL 在运维面试里不会考到开发岗的深度但要求你能把概念讲出层次。Python 侧的问题集中在数据模型和内存MySQL 侧集中在存储引擎、事务和复制。这两块的共同点是只答结论会被追问答出“为什么这样设计”才算过关。下面把高频题拆成可以直接背的因果链。3.1 Python 数据类型可变与不可变决定一半答案数据类型本身不难难在面试官要你把“特性”说出来。稳妥的答法是先分类再说影响。类别类型关键特性不可变Number、String、Tuple值变则对象变可作为字典的键可变List、Dictionary、Set原地修改引用传递时会影响所有指向它的变量把这张表讲出来后面深拷贝、函数传参、字典键合法性三个追问都能顺下去。字符串常用方法记replace、strip、split、upper、lower列表记append、pop、insert、count、remove元组只有index和count两个主要方法因为不可变字典记keys、values、items、get、update、pop。字典这块有个历史遗留问题has_key在新版本已移除判断键存在要用in答题时用旧方法会直接暴露版本认知停留。内置函数列举时不要贪多挑有区分度的说map、filter、zip、enumerate、sorted、isinstance、len、range。常用模块举os、sys、json、re、time、datetime、random、logging并且每个配一句用途比如“subprocess用来在脚本里调外部命令比os.system能拿到返回码和输出”。3.2 深浅拷贝、生成器与迭代器三层递进答法浅拷贝只复制最外层容器内层元素仍然是原来的引用深拷贝递归复制到底副本和原对象完全独立。这句话谁都会说区分度在例子和边界。import copy origin [1, [2, 3]] shallow copy.copy(origin) # 只复制外层列表 deep copy.deepcopy(origin) # 递归复制所有层级 origin[1].append(4) print(shallow) # [1, [2, 3, 4]]内层是同一个对象跟着变了 print(deep) # [1, [2, 3]]深拷贝完全隔离copy.copy做浅拷贝copy.deepcopy做深拷贝。两个边界要补不可变对象数字、字符串、元组做深浅拷贝时解释器通常直接返回原对象因为改不了没必要复制切片origin[:]、list(origin)、dict(d)都是浅拷贝的常见形式。面试官问“什么时候必须用深拷贝”答配置字典嵌套修改、批量任务里多个实例共享初始数据这两类场景比空谈定义实用。生成器、迭代器、可迭代对象是同一个问题的三个层次按顺序答最清楚。可迭代对象是实现了__iter__方法的对象能用 for 循环遍历迭代器在可迭代对象基础上再实现__next__能记住遍历位置取完抛StopIteration生成器是迭代器的一种实现方式函数里出现yield或者把列表推导式的方括号换成圆括号都能得到生成器。应用场景要说具体读大文件时用生成器逐行产出不会一次性把文件读进内存处理超大列表的中间结果时用生成器表达式替代列表推导式内存占用从 O(n) 降到 O(1)。这句话是加分项因为它把语法和运维场景读日志、处理大批量数据接上了。3.3 两道手写题九九乘法表与阶乘手写题的评分点不是能不能跑而是边界处理和可读性。# 外层控制行号内层控制列数end\t 让同一行不换行 for i in range(1, 10): for j in range(1, i 1): print(f{j}x{i}{i * j}, end\t) print()range(1, 10)生成 1 到 9内层range(1, i 1)保证第 i 行输出 i 个式子内层结束后的print()负责换行。用 f-string 比%或format更清爽写的时候顺手加上说明比闷头敲完不解释更容易得分。阶乘题的关键在输入分支# 负数、0、正整数三种情况都要覆盖0 的阶乘定义为 1 num int(input(请输入一个数字: )) if num 0: print(负数没有阶乘) elif num 0: print(0 的阶乘为 1) else: result 1 for i in range(1, num 1): result * i print(f{num} 的阶乘为 {result})用循环而不是递归一是避免大数递归深度超限二是面试现场不容易写错。int()转换失败会抛异常想完整一点可以套try但手写题通常不要求提一句“生产代码里这里要捕获非法输入”就够。3.4 MySQL 三组对比删除、字符类型、存储引擎delete、truncate、drop的区别用表格一次说清维度deletetruncatedrop语言分类DMLDDLDDL是否删结构否否是是否可回滚事务内可以否否是否带 where支持不支持不适用自增值不重置重置表都没了速度慢逐行快最快答题时补一句使用场景想删部分数据用 delete想清空整表保留结构用 truncate表不要了用 drop。再补一个加分点delete 逐行删除会写 undo 和 redo大表删除会撑爆日志生产上常用“分批删除加 limit”来控制。char和varchar的差别在长度是否固定。char(n)定长存不满会用空格补齐取出来时尾部空格被去掉varchar(n)变长额外用一到两个字节记录实际长度。char上限 255 个字符适合手机号、状态码、性别这类长度确定的字段varchar上限 65535 字节且受行长度限制适合地址、备注这类变长内容。追问“为什么定长更快”答因为定长记录在页内的偏移可以直接算出来不需要先读长度字段变长字段多了还会有行溢出的开销。MyISAM和InnoDB的对比是必考项维度MyISAMInnoDB事务不支持支持 ACID锁粒度表锁行锁基于索引外键不支持支持崩溃恢复弱有 redo log可恢复全文索引支持新版本已支持适用场景读多写少的分析型高并发事务型面试时先说结论“现在默认都用 InnoDB”再解释原因行锁降低冲突、支持事务和崩溃恢复、外键约束能保证一致性。MyISAM 不是完全没用一些只读的报表库、日志归档表仍可能用它说这句能体现判断力而不是背表。3.5 事务、隔离级别与主从复制事务是一组逻辑上不可分割的 SQL 操作特性就是 ACID原子性靠 undo log 实现回滚一致性是最终目标隔离性靠锁和 MVCC持久性靠 redo log 刷盘。四个特性不要只念名字各配一句实现机制深度立刻不同。四种隔离级别按严格程度递进要能对应到它们解决的问题隔离级别脏读不可重复读幻读读未提交可能可能可能读已提交不会可能可能可重复读不会不会基本不会串行化不会不会不会InnoDB 默认是可重复读通过 MVCC 让同一事务内多次读到的数据一致再通过间隙锁在很大程度上压制幻读。这句话是面试官最想听到的补充因为只背表格的人答不出“默认级别怎么解决幻读”。主从复制原理按四个动作讲主库开启 binlog记录所有变更主库的 dump 线程把 binlog 发给从库从库的 IO 线程写入 relay log 并更新位点从库的 SQL 线程读 relay log 重放。整个默认过程是异步的这也是延迟存在的根本原因。查看状态用SHOW SLAVE STATUS新版本是SHOW REPLICA STATUS重点看Slave_IO_Running和Slave_SQL_Running是否都为 Yes以及Seconds_Behind_Master。-- 关注两个线程状态和延迟秒数IO 为 No 多半是网络或账号权限SQL 为 No 多半是数据冲突 SHOW SLAVE STATUS\G延迟原因分四类答最清楚主库写入压力大大事务一次产生大量 binlog从库硬件弱于主库重放跟不上一主多从时主库要把 binlog 发给每个从库带宽成为瓶颈从库重放早期是单线程大表 DDL 或批量更新会卡住。优化手段对应到原因上拆大事务、从库加索引减少重放耗时、开启并行复制、把大查询分流到从库之外的只读实例。备份工具记两个就够mysqldump是逻辑备份导出 SQL 语句跨版本恢复方便但慢xtrabackup是物理备份直接拷数据文件速度快、适合大库支持热备。备份策略的标准答法是“全量加增量加 binlog”每周全量一次每天增量binlog 保留足够天数用于按时间点恢复并且定期做恢复演练——只备份不验证等于没备份。4. Docker、Kubernetes 与网络容器题最后都会问回协议层容器和编排的题看起来新问法却很传统概念、对比、命令、流程。Docker 部分集中在“和虚拟机的差别”与 Dockerfile 指令Kubernetes 部分集中在组件分工、对象选择、健康检查和持久化。而负载均衡和 Service 一旦往下问就会回到 OSI 七层和四层转发的差别所以网络基础必须和容器放在一起准备。4.1 Docker 与虚拟机的差别别只答“更轻量”标准答法分三层。第一层是架构虚拟机通过 Hypervisor 虚拟出硬件每台虚拟机跑一个完整操作系统内核容器共享宿主机内核靠 namespace 做隔离、靠 cgroup 做资源限制。第二层是代价虚拟机启动要引导内核分钟级容器本质是宿主机上的一个进程秒级甚至更快镜像大小也差一个量级虚拟机镜像有几个 G容器镜像常见是几百兆。第三层是短板隔离性弱于虚拟机内核共享意味着一个容器把内核搞崩宿主机和其他容器都受影响安全边界不如虚拟机清晰。把第三层主动说出来是这道题的分水岭。只讲优点的人像在背宣传材料讲清代价的人才像做过选型。4.2 镜像、容器与 Dockerfile 的四个易混指令镜像是只读模板由多层文件系统叠加而成每层对应 Dockerfile 里的一条指令容器是镜像加一个可写层删除容器时这一层也一起没了。容器状态记四种运行、已暂停、重启中、已退出。命令层面按生命周期归类更好记pull、images、rmi管镜像run、start、stop、restart、rm、ps管容器exec、logs、inspect管运行中的容器save、load、commit管迁移。启动 nginx 并挂载目录的命令是高频送分题# -d 后台运行-P 把容器内暴露的端口随机映射到宿主机-v 把本地目录挂到容器网页根目录 docker run -d -P --name nginx \ -v /home/nginx:/usr/share/nginx/html \ nginx-P和-p要分清大写随机映射小写指定宿主机端口:容器端口。-v的冒号左边是宿主机路径右边是容器内路径挂载后宿主机改文件容器里立刻生效这是配置和静态资源最常用的做法。Dockerfile 指令里COPY和ADD的区别必问COPY只做本地文件复制语义单一ADD除了复制还会自动解压本地 tar 包也支持从 URL 拉取文件。听起来 ADD 更强实际推荐用 COPY因为 ADD 的隐式行为会让构建过程不可预测远程拉取也不如先curl再COPY可控。另外CMD和ENTRYPOINT也常一起问CMD提供默认命令docker run后面跟参数会被整体覆盖ENTRYPOINT定义入口后面的参数会作为它的入参追加。4.3 Kubernetes组件、对象与三类探针Kubernetes 是容器编排系统解决的是调度、扩缩容、自愈和服务发现。和 Docker 的关系要一句话讲清Docker 负责单机上的容器生命周期Kubernetes 负责跨机器的编排它通过容器运行时接口调用底层运行时本身不直接管容器。组件分工按控制面和节点分开答。控制面跑 API Server唯一入口所有请求都经过它、etcd保存集群全部状态是唯一的有状态组件、Controller Manager各种控制器的集合负责把实际状态拉向期望状态、Scheduler决定 Pod 落在哪个节点。节点上跑 kubelet负责本节点 Pod 的创建和健康上报、kube-proxy维护 Service 的转发规则、容器运行时。常见对象按用途记Pod 是最小调度单位Deployment 管无状态应用的副本和滚动更新StatefulSet 管有状态应用稳定网络标识、有序部署、独立存储DaemonSet 保证每个节点跑一份日志采集、监控代理Service 提供稳定访问入口ConfigMap 和 Secret 管配置Ingress 管七层入口PV 和 PVC 管存储。三者选择的应用场景要能各举一个无状态 Web 服务用 Deployment数据库集群用 StatefulSet节点级日志采集用 DaemonSet。创建 Pod 的流程按顺序说kubectl提交请求到 API ServerAPI Server 写入 etcdScheduler 监听到未调度的 Pod 后选节点并回写目标节点的 kubelet 发现分配到自己的 Pod调用容器运行时拉镜像起容器最后把状态回报给 API Server 写入 etcd。这套流程能顺下来说明你理解的是声明式模型而不是命令。健康检查是常考细节三种探针别混# Pod spec 片段存活探针失败会重启容器就绪探针失败只是从 Service 摘流量 livenessProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 10 periodSeconds: 5 readinessProbe: httpGet: path: /ready port: 8080 periodSeconds: 5livenessProbe判断容器是否活着连续失败按重启策略重启readinessProbe判断能否接收流量失败只是把 Pod 从 Endpoints 里摘掉不重启startupProbe用于启动慢的应用成功前其他探针不生效避免启动阶段被误杀。探测方式有三种httpGet、tcpSocket、exec运维场景里exec常用来跑一条自定义检查命令。持久化方式按演进顺序答emptyDir随 Pod 生命周期存在Pod 删了就没了适合临时缓存hostPath挂宿主机目录简单但绑定节点PV 和 PVC 把存储抽象成资源由管理员提供或由 StorageClass 动态创建Pod 只声明需要多大、什么访问模式。生产上基本是 PV/PVC 加 StorageClass 动态供给答这句能体现落地经验。4.4 网络从 OSI 七层到四层/七层负载均衡的选择OSI 七层从下往上物理、数据链路、网络、传输、会话、表示、应用。运维面试不需要逐层展开但要能对应设备和协议网络层是 IP 和路由传输层是 TCP 和 UDP应用层是 HTTP、DNS、SSH。TCP 和 UDP 的对比记三行TCP 面向连接、可靠、有序开销大UDP 无连接、不保证可靠、开销小、延迟低。场景上一句话对应网页、文件传输、数据库连接用 TCPDNS 查询、日志上报、音视频流用 UDP。三次握手是 SYN、SYNACK、ACK目的是同步双方序号并确认收发能力四次挥手是 FIN、ACK、FIN、ACK因为 TCP 是全双工两个方向要分别关闭。常被追问“为什么握手是三次挥手是四次”答案就在这个不对称上。HTTP 状态码按段记2xx 成功200 正常、204 无内容3xx 重定向301 永久、302 临时、304 未修改4xx 客户端错误400 参数错、401 未认证、403 无权限、404 不存在5xx 服务端错误500 内部错误、502 网关收到无效响应、503 服务不可用、504 网关超时。排查时 502 和 504 最常出现前者多半是后端进程挂了后者多半是后端处理超时往这两个方向答比背定义有用。负载均衡的四层和七层之分正好接上 LVS 和 Nginx 的对比。LVS 工作在内核态基于 IP 和端口转发不改应用层内容吞吐高、资源占用低适合做第一层入口Nginx 工作在应用层能按域名、路径、URL 做分流支持正则和健康检查适合做七层路由和静态资源服务。LVS 的 DR 模式改的是目标 MAC 地址响应包由真实服务器直接回给客户端所以要求调度器和真实服务器在同一网段NAT 模式改写目标 IP进出都经过调度器调度器容易成为瓶颈TUN 模式用 IP 隧道把请求送到后端响应直连客户端吞吐能提升明显但配置复杂。调度算法记四种轮询、加权轮询、最小连接、加权最小连接。Nginx 自身的考点集中在进程模型和限流master 进程读配置、管理 workerworker 进程处理请求worker 数量通常设成 CPU 核数限流有三类做法限制请求频率、限制突发流量、限制并发连接数对应limit_req和limit_conn两个模块。追问“Nginx 和 LVS 怎么选”标准答法是“入口用 LVS 扛量七层路由和灰度用 Nginx两层配合”不要答成二选一。5. 易错题五个最容易答反的考点这一章整理的是练题时反复出现的失分模式。它们的共同点不是不会而是答到一半就停或者把相近的概念串了线。每条按“错在哪、为什么错、怎么答对”拆开考前过一遍比再刷十道新题有效。5.1 根分区满了只答 df 和 du 的区别错在哪把题目当成概念题答完“df 看文件系统、du 看目录”就结束没有排查动作。为什么错面试官问的是处置流程不是名词解释。只答定义说明你只见过 Healthy 状态的机器没处理过真实的磁盘告警。怎么答对按四步走——df -h定位挂载点du -sh /*逐层下钻lsof L1找已删除但被占用的文件df -i排 inode 耗尽。最后补一句处置动作日志类文件用: 清空而不是rm配合 logrotate 做轮转临时文件加定时清理。5.2 统计类命令漏掉关键一步数字对本文还有配套的精品资源点击获取
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。