资讯动态

Linux运维面试题精讲:从磁盘到网络排查的实战思路

发布时间:2026/10/15 18:29:56 来源:尧图企业网站定制
前阵子几个准备换环境的朋友来找我过Linux运维面试题一轮模拟下来我挺有感触大家基础命令背得都不差但一到“磁盘明明没满业务却说写不进去”这种问题答案就开始零散拼凑。面完一起复盘发现问题不在知识量而是不知道该用哪条顺序把这些命令串成一个可执行的排查方案。这系列文章就不打算罗列八股了我会以常见面试题为主线把每道题背后的排查思路、命令细节和工作中踩过的坑一起讲透。第一篇先覆盖文件系统、进程管理、网络排查、Shell脚本和几个典型的应急场景题适合准备参加运维面试的读者也适合想系统把老底子查漏补缺的同学。1. 先搞懂运维面试官到底想看什么1.1 面试题不是填空题是场景题很多新手背了一堆“命令大全”却不知道面试官为什么问这些。举个例子面试官问“df -h 和 df -i 有什么区别”表面看是考两个参数实际想考的是磁盘没空间时你该怎么区分“块空间满了”和“ inode 满了”两种完全不同的情况。如果你只回答“一个是看磁盘容量一个是看索引节点数”那这道题只算答了三分之一。我后来总结运维面试里的基础题八成都是披着知识点外衣的场景题。面试官真正想看的是你能不能把一个模糊的告警“磁盘使用率 100%”变成一套有序的排查动作先 df -h 看没有容量再 df -i 看有没有 inode再用 du 定位目录再用 lsof 找已删除但未释放的文件。这样一套下来才能证明你平时是真处理过告警而不是只在书上看过命令。所以回答这类题我建议按“表象 - 假设 - 验证 - 处理 - 预防”的顺序来组织而不是上来就倒一堆命令。这个结构我在后文还会反复用到它是运维表达和实际操作通用的骨架。1.2 基础题是在筛“有没有亲自碰过机器”基础命令题看起来简单但它是筛人的第一道网。我问过不少候选人“top 输出里的 load average 什么意思”有人能背出“1 分钟、5 分钟、15 分钟的平均负载”但追问“三个数分别越来越高说明什么”就答不上来了。Load average 在我理解里是一个“排队等待 CPU 运行的任务数”的加权平均值它不等于 CPU 使用率。单核机器 load 到 1说明 CPU 基本饱和四核机器 load 到 1说明还有余量。面试官想听的不只是定义而是你能不能从三个数字的走势里读出一台服务器的状态变化。比如 1 分钟 10、5 分钟 8、15 分钟 2那说明负载是最近才涨上来的大概率有突发任务或流量进来不是长期慢性问题。这类题没有捷径平时就得自己连上服务器敲命令。命令背得再熟没看过真实输出一面试就露怯。基础题的目的是筛掉那些“只看过书、没动过手”的人你只要真正处理过告警答起来会自然很多。1.3 “不会”比“胡说”更安全但只承认还不够运维这行最怕的是不懂装懂。你乱报一个命令或者瞎改配置线上是要出事故的。所以面试官一定会设计一两道偏题、怪题观察你在不确定的时候的反应。我自己的经验是遇到不会的题先大方承认“这个点我不太确定”然后立刻补一句“我会怎么去查”——比如“先 man 看手册再在测试环境验证或者抓包确认”。这个反应比硬着头皮编一个答案强得多。面试官想看到的是你面对未知问题时有没有一套“不会也能查明白”的方法论这恰恰是运维每天都要做的事。当然只说“我不会”也分。你要把“我不会”变成“我会用这个方法查明白”这才是一个合格运维该有的姿态。后面我会具体讲遇到问题怎么拆解这里先记住一个原则答案可以不知道排查路径不能没有。2. 高频命令与文件系统面试题拆解2.1 磁盘告警一条完整到能背下来的排查套路“磁盘满了怎么办”大概是运维面试里出现频率最高的题但大多数人答得没有章法。我给一个可以直接用的排查序列面试时按这个顺序讲条理会很清楚df -h # 看文件系统容量使用率 df -i # 看 inode 使用率 du -h --max-depth1 / # 快速定位哪个目录占用最大 lsof L1 # 找出已删除但仍有进程占用的文件 find / -xdev -size 1G -type f # 找出大文件可选先说一个我实际遇到过的案例某台机器上业务持续报“No space left on device”但df -h显示根分区才用了 60%。当时我第一反应也是奇怪随后敲了df -i发现/的 inode 已经 100% 了。原因是一个临时目录里产生了海量的 0 字节小文件把文件系统里可用的 inode 耗光了。这种情况你用du -sh去看容量一点异常都没有因为文件本身没有内容。处理这种问题先df -i确认是 inode 耗尽再用for i in /*; do echo $i; find $i -type f | wc -l; done这类循环逐层找哪个目录文件数最多定位之后再清理。这里有个小心机find配合-xdev参数可以避免让你去扫描挂载的其他文件系统比如/proc、/sys否则会把排查速度拖得很慢。还有一个高频考点是“已删除但是空间没释放”典型场景是日志文件被人用rm删了但旧进程还握着文件描述符空间一直被占着。这时df -h还显示满的但du已经看不到那个文件了。用lsof L1能直接列出这类文件看到后面标着(deleted)的条目记下 PID和业务确认后重启或者 kill 掉那个进程即可。fstab也很常考。面试官会问“开机自动挂载配置错了怎么办”这块我在后面的应急场景里会细讲这里先记住一个原则改/etc/fstab之前最好先执行mount -a验证一遍它的作用是重新读取 fstab 并挂载所有配置项能提前发现语法或设备路径问题。2.2 权限题rwx 只是开头SUID/SGID/粘滞位才是拉分点权限题是面试必问但大部分人的答案停留在“读、写、执行”。要拿高分你得能说清楚权限对文件和目录的区别。比如对文件来说r 是能读内容w 是能改内容x 是能执行对目录来说r 是能列出目录内容w 是能在目录里新建或删除文件x 是“可进入”目录的权限。很多人不知道如果目录没有 x 权限你就算有 r 权限ls也会报错看不到内容如果目录没有 w 权限你就算对里面的文件有 w 权限也没法删掉这个文件。理解了这些你才能解释“为什么我在这个目录里删不掉文件明明文件权限是 666”。再往下SUID、SGID、SGID 和 sticky bit 这三个特殊权限是拉分区。用场景记忆最简单SUID4给可执行文件加上作用是谁执行这个文件谁就临时拥有文件属主的权限。最典型的是/usr/bin/passwd普通用户执行它能临时以 root 身份改密码因为要写/etc/shadow但你不能顺手拿它去读 shadow。SGID2对目录生效时在这个目录里新建的文件会自动继承目录的属组常用于团队协作目录。Sticky bit1对目录生效时只有文件属主或 root 才能删除目录里的文件最典型的是/tmp任何用户都能往里写但不能删别人的文件。检查方式也很简单ls -l看到s、S、t、T就是特殊权限位小写代表对应执行位也有大写代表执行位没有。比如/tmp上那个t就是粘滞位。还有一个开胃题是 umask。“新建文件默认权限为什么是 644目录为什么是 755”答案就是 umask 掩码。文件的默认基值是 666目录的默认基值是 777再用“默认基值减掉 umask 中对应的位”得到最终权限所以 umask 为 022 时文件就是 666 减去 022 的写权限位得到 644目录是 777 减去 022得到 755。这个题不难但能一口气说清楚的候选人没有想象中多。2.3 进程题把 fork、僵尸进程和孤儿进程讲成一个完整故事进程这块面试最常见的是“什么是僵尸进程怎么产生的怎么处理”。我建议你放弃死记硬背把它当故事讲。一个进程要结束通常会先变成“僵尸状态”state 标记为 Z这个状态的含义是进程已经退出、内存等资源已经释放但它还在内核的进程表里占着一个条目等待父进程来收尸。子进程退出后父进程应该调用 wait/waitpid 读取它的退出状态读完之后僵尸条目才会消失。如果父进程一直不读子进程就一直以僵尸形态挂在进程表里这就是僵尸进程的来历。你执行ps -ef或ps aux看到Z状态的进程又发现它的父进程还活着但没有退出就可以判断是父进程没处理子进程的退出状态。处理办法不是 kill 僵尸进程本身因为它已经死了kill 没用。你要做的是处理它的父进程确认不影响业务后重启或 kill 掉父进程僵尸条目就会由新的父进程1 号进程 systemd接手并清理。和僵尸相对的是孤儿进程父进程先退出了子进程还在运行这时子进程会被 1 号进程收养这其实是系统有意保底防止已经变成孤儿的前台或后台进程既没人管又不知道向谁汇报退出状态。这里有个误区不是所有没人管的进程都叫僵尸僵尸的特点是“死了没人收”孤儿的特点是“活着但没人管”。面试时再问你“为什么 fork 之后父进程要 wait”答案就很顺了一是拿到子进程的退出状态知道它是正常结束还是异常退出二是避免子进程变成僵尸三是处理并发时确保父子进程按预期顺序协作。能讲到这一层说明你不只是知道ps里有个 Z 状态而是理解进程生命周期了。3. 网络排查类场景题实操3.1 “连不上网”这道题考的是分层意识网络场景题是运维面试的重头戏几乎每场都有。最常见的一道是“用户说我们的服务连不上数据库你怎么排查”如果你一上来就ping数据库 IP也不是不行但这是瞎猫撞死耗子的打法。我更推荐先讲一遍分层思路再一个命令一个命令往下落。我的习惯是“从近到远、从易到难”。先把范围框清楚再动手ping 目标IP # 先确认链路通不通 ss -tnp # 看本机到目标端口有没有建连 telnet 目标IP 端口 # 或 nc -vz测试端口可达性 nslookup 域名 # 如果是域名先看解析对不对 curl -v # 最后看应用层返回这道题真正的考点是你有没有“分层”的概念。网络模型是分层的先看物理层和链路层网卡、交换机再是网络层IP、路由再是传输层端口、TCP最后才是应用层。连不上数据库可能是网络不通、可能路由不对、可能端口被防火墙挡住、可能数据库本身没监听、也可能应用配置连错了地址。你靠 ping 只能测到网络层通不通但网络层通了不代表端口通端口通了也不代表数据库能正常认证。我自己在排查时还有一个习惯先看“昨天是不是好的”。如果一直没连上可能是配置或网络从开始就不对如果突然不通优先怀疑变更比如防火墙策略更新了、数据库迁移过、某个服务重启失败。这种“有没有变更”的意识面试官听到会明显加分因为线上故障里变更永远是第一嫌疑人。还有一个看着基础但很实用的命令是ss。现在很多机器已经不装 netstat 了用ss -tnp可以看到当前 tcp 连接、监听端口和对应进程两个参数含义分别是-t 只看 TCP-n 不做反向域名解析直接显示 IP 端口-p 显示对应进程。它比 netstat 快因为直接读内核 socket 信息面试时讲这个比张口 netstat 更有“当代运维”的味道。3.2 TIME_WAIT 别只会背状态得讲出它会带来什么问题服务端高并发场景经常出现大量 TIME_WAIT这也是面试官比较爱问的点。TIME_WAIT 是主动关闭连接的一方在最后进入的状态要等 2MSL约 60 秒才能完全消失。为什么要有它核心是两个原因一是保证最后一个 ACK 如果丢了能让对方重发 FIN二是防止旧连接的数据包残留干扰新连接。问题来了一台服务器作为代理或客户端主动向外发起大量短连接它就会产生大量 TIME_WAIT。这些连接本身占着 local 端口如果处理的够快一般不是问题但如果短连接多到端口被占用完新连接就会因为“Cannot assign requested address”失败。网上很多帖子说“把 net.ipv4.tcp_tw_reuse 和 tcp_tw_recycle 设为 1”就解决这里我必须泼盆冷水。tcp_tw_recycle在内核里已经因为设计隐患被移除了它开启了会干扰 NTP 时间戳导致跨 NAT 环境连接被莫名丢弃。tcp_tw_reuse可以用但它主要对客户端连接生效服务端完全不适用。所以在面试里你如果能主动说“不建议开 recycle应该先看连接模型”这题就稳了。真正处理大量 TIME_WAIT 的思路是调整连接复用、改用长连接、或者让连接池来控制连接数量。例如给 nginx 和上游服务之间开 keepalive或者在应用里用连接池而不是每次请求都新建连接。可以用ss -s看整体连接统计再ss -tan state TIME-WAIT | wc -l统计数量确认后再考虑下一步。这么回答面试官会认为你不仅懂状态还懂怎么在生产环境稳妥处理。3.3 tcpdump抓包不只是一种技能也是一种面试态度网络排查里最能体现功力的是 tcpdump。面试时问 tcpdump一般不是考你背参数而是给你一个场景客户端访问服务端很慢你怎么定位是哪一层慢这种问题光在两端各跑一遍 curl 测时间还不够最好能抓包看交互过程。一个最小可用的抓包命令是这样sudo tcpdump -i eth0 -nn port 3306 -c 100 -w /tmp/db.cap解释一下-i 指定网卡-nn 不做域名和端口反向解析port 3306 按端口过滤-c 抓 100 个包就自动停-w 保存成文件。抓回来后用tcpdump -r /tmp/db.cap读或者传到本地用 Wireshark 看。面试时讲这个命令比只说“tcpdump 抓包”强得多因为它展示了你清楚自己要看什么流量。抓包最经典的应用是看 TCP 三次握手。正常握手是 SYN、SYNACK、ACK 三包如果只看到 SYN 发出没有 SYNACK 回来说明包可能被中间设备丢了或者对端根本没有监听。如果 SYNACK 回来了但你这边不回 ACK那多半是本地内核/防火墙把包丢了。这种判断你在面试现场一步步推导出来比背任何结论都让人信服。还有一个细节tcpdump通常要 root 权限没权限抓包会提示Operation not permitted。遇到这种情况正确的反应是sudo或者给当前用户加cap_net_raw权限而不是干瞪眼。面试时如果现场环境没权限你也可以直接说“我会申请 sudo 或用 cap 方式”这反而是加分项。4. Shell 脚本题与自动化现场4.1 脚本题最容易翻车的几个细节几乎每次面试都会让手写一小段 Shell很多人命令行用得溜一写脚本就露馅因为脚本和命令行不完全是一回事。最容易翻车的三个点if 语句的空格、变量的引号、命令出错后的继续执行。先说空格。Shell 里if [ $? -eq 0 ]方括号[后面必须有空格]前面必须有空格$?前面不是“if$?”连着写。写错成if [$? -eq 0]脚本会直接报语法错误。这里其实有一个深层原因[是一个命令不是 if 的语法符号所以命令和参数之间必须有分隔符。面试时有人偶尔犯错可以解释成“中括号其实是 test 命令的别名”这样显得你懂原理。第二个坑是变量不加引号。比如你想删除一个目录下的文件写成rm -rf $dir/*如果$dir是空实际执行的就变成rm -rf /*。这是生产事故级别的坑。正确写法是rm -rf -- $dir/*变量加了双引号后即使为空也只是删一个不存在的路径而不是把根目录卷进去。再比如统计文件行数wc -l $file比wc -l $file安全文件名带空格也不会被拆成多个参数。第三个坑是脚本里某条命令失败但脚本继续执行。默认情况下 Shell 没有set -e时一条命令失败了照样往下跑这会导致后续命令处理脏数据。建议写脚本开头加set -euo pipefail这里面的含义是-e 出错即停-u 变量未定义就报错pipefail 让管道中任何一环失败都让整条管道返回失败。不过面试时如果能主动解释“生产脚本我会开 set -euo pipefail但交互式命令行不开因为我不想它随便退出”这个分寸感非常加分。4.2 从一到多批量任务与并发控制脚本题里经常出现“批量重命名”“批量处理一批文件”“并行执行多个任务”这类的操作。别急着写 for 循环先问清楚任务量多大这是脚本思路成熟的标志。简单粗暴的 for 循环是基础for f in *.txt; do mv $f ${f%.txt}.log done这里用了${f%.txt}这种参数扩展作用是去掉变量末尾的.txt。对应的${f#prefix}是去掉开头匹配的内容这是面试手写脚本的高频考点可以用来实现“把 a.log 改成 2024-01-01-a.log”之类的批量改名需求。但当文件数是几万的时候纯 for 循环会很慢而且容易受目录项数量影响。这就要提到find xargs的黄金组合find /var/log/nginx -name *.log -mtime 7 -print0 | xargs -0 -P4 gzip解释一下find -print0配合xargs -0是用空字符分隔文件名能安全处理带空格和特殊字符的文件名。-P4表示最多同时起 4 个 gzip 进程这是 xargs 的并发参数比串行压缩快不少。你甚至可以配合和wait写一个简单的并发控制for i in {1..10}; do process_data $i done wait echo 全部完成这个脚本的思路是“给每个任务都放到后台跑最后用 wait 等全部结束再继续”。它的优点是简单缺点是如果任务数量很大一次开太多进程容易把机器打爆。配合xargs -P对并发做限制才是生产级的写法面试时如果能把两层都说出来脚本题的印象分会很高。4.3 日志按天切割一个经典却有无数隐藏坑的题日志切割大概是运维面试里最经典的脚本题了。最容易踩坑的版本是“手动 mv 日志文件后新日志没有按预期写入新文件”。这是资深运维也会一时卡住的问题根因是进程的写日志方式。Nginx 这类服务主进程在启动时就把日志文件的 fd文件描述符打开了你执行mv access.log access_20250101.log后它并不会自动重新打开新的 access.log而是继续往那个已经改了名的 fd 里写。所以正确的切割动作是先 mv 改名再让进程重新打开日志文件。Nginx 的做法是执行kill -USR1 $(cat /var/run/nginx.pid)USR1 信号在 Nginx 里有特定含义重新打开日志文件。其他很多服务类似有的用 HUP 重载配置。所以写切割脚本时日志路径、PID 文件、信号类型这三样必须核对清楚。#!/bin/bash LOGDIR/var/log/nginx YESTERDAY$(date -d yesterday %Y%m%d) mv $LOGDIR/access.log $LOGDIR/access_$YESTERDAY.log mv $LOGDIR/error.log $LOGDIR/error_$YESTERDAY.log kill -USR1 $(cat /var/run/nginx.pid)用 logrotate 会更规范它的核心配置长这样/var/log/nginx/*.log { daily rotate 30 compress missingok notifempty sharedscripts postrotate [ -f /var/run/nginx.pid ] kill -USR1 $(cat /var/run/nginx.pid) endscript }sharedscripts的意思是所有匹配的日志都轮转完之后只执行一次 postrotate 脚本而不是每个文件执行一次。Nginx 官方也推荐这种方式。面试时你可以主动对比“手动脚本 vs logrotate”的取舍手动脚本灵活适合奇特的目录结构logrotate 是系统级标准配置简洁、自带压缩和清理策略。能做到这个对比基本是加分项。5. 别小看这些“看似简单”的杀手级问题5.1 定时任务 cron为什么脚本手动跑正常定时任务里不行cron 几乎是运维每天都要碰的东西也是面试里被埋坑最多的地方。典型问题是你写了一个脚本手动执行一切正常但放进 crontab 就报错日志文件也不生成。最隐蔽的原因就是 cron 的默认环境变量和你的交互 shell 不一样——它不加载.bash_profilePATH 通常很窄比如/usr/bin:/bin如果你脚本里调用了/usr/local/bin下的命令直接就是“command not found”。所以写 cron 里的脚本第一件事是在脚本开头显式声明环境变量。推荐方式#!/bin/bash export PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin export LANGen_US.UTF-8另一个考点是 crontab 语法。crontab -e是当前用户自己的定时任务配置文件在/var/spool/cron/用户名/etc/crontab是系统级定时任务多了一个用户字段比如0 2 * * * root /opt/backup.sh。新人在两者之间混着写会踩坑面试官也喜欢考这个区分。还有cron服务本身可能没检查是否在运行定时任务不执行先systemctl status cron或者查/var/log/syslog里的 cron 日志。回答时能把“日志里有没有 task 执行记录”作为排查依据说明你有实战经验。5.2 inode 耗尽空间充足但报错满别被表象带偏这个考点我在磁盘小节里提过但值得单独拿出来因为它够刁钻。面试官问“用户上传文件报错磁盘满但 df -h 显示还有 50% 空间”你如果只答“帮他清理文件”就掉坑了。正确思路是马上看df -i因为一个文件系统能容纳的文件数量是有限制的inode 用完了就算还剩大量空闲块也建不了新文件。这类问题的处理项有几个层级先用df -i确认再用for i in /*; do find $i -xdev | wc -l; done找到文件数量最多的目录逐层下钻最后清理无效文件。很多时候是某个日志、缓存或临时文件目录堆积了海量小文件。预防手段一般包括给相关目录配置定期清理策略、在应用层面避免生成小文件、必要时调大 fs.inotify 限制或重新格式化分区时增大 inode 密度。顺带一提inode 用完和块空间用完是两个维度的“满”面试的时候你要能自然地讲出这句话基本就证明你理解文件系统了。再加一个细节df -hT和df -i的输出里那个挂载点一列一样但使用率不同是因为它们看的是不同的资源池。stat /命令可以直接看到该文件系统的 inode 总量、剩余和块信息。5.3 系统启动失败修复应急题是对综合能力的压测最后一类高频场景题是“开机后进不了系统你怎么办”。隐含考点是你对启动流程熟不熟以及有没有应急处理的冷静。完整启动流程可以简短讲开机自检、BootloaderGRUB、加载内核和 initramfs、挂载根文件系统、交给 systemd 启动各服务。面试时讲清楚这个流程后面的修复就顺理成章。最常见的故障是/etc/fstab写错导致开机挂载失败系统进入 emergency mode 或直接卡住。这时通常需要进入单用户模式或救援模式修复改回错误项或注释掉那行。注意一点进救援后根文件系统通常是只读挂载你要先mount -o remount,rw /才能改 fstab忘了这个你编辑文件会直接报只读系统错误。别小看这个“先把根文件系统改为可写”的细节它在面试里是个很经典的坑。能主动说出来说明你真的进过救援模式。如果在虚拟化环境还可以通过宿主机把设备挂到另一个系统上修这也是一个可讲的思路。面试官想看到的是你面对一台启动不了、没有图形界面的机器依然有办法和它沟通、修复、重启验证。6. 常见问题速查表与面试表达技巧6.1 高频题速查表平时复习难免记不住完整命令我把最常被问的问题和对应命令整理成一张速查表面试前扫一眼能快速唤醒记忆。考查点常见题目核心命令/思路CPU 高一堆进程占用 CPU 怎么定位top 找高 PID然后pidstat -p PID 1、mpstat -P ALL 1看单核perf 分析内存不足内存不够用怎么排查free -h 看整体ps aux --sort-%mem 按进程排序/proc/meminfo 看细项磁盘容量磁盘满怎么处理df -h、du -h --max-depth1、lsof L1 找未释放inode 满空间还有但建不了文件df -i 确认find 定位小文件目录端口问题服务起不来端口被占ss -tlnp 查监听lsof -i:端口网络不通连不上对端服务ping、ss -tnp、telnet、nc -vz、tcpdump 抓包、curl -v进程异常僵尸/不可中断进程怎么处理ps aux 看 STAT僵尸找父进程并处理D 状态查 IO定时任务cron 不执行、脚本不输出检查 crontab 格式、服务状态、日志脚本开头设置 PATH文件权限普通用户无法写文件ls -l 看属主/属组umask 看默认权限特殊权限位检查日志分析服务启动失败在哪里找日志journalctl -u 服务名 -e、tail -f /var/log/某个.log表格不适合背更好的用法是拿它当“模拟面试题列表”。看到一个问题先在脑子里过一遍完整的排查路径卡住了再查具体命令。这样复习比一行行背命令有效得多。6.2 面试表达技巧用“现象 - 假设 - 验证”结构答题这块算是我面试新人时最看重的软技能。运维面试题没有标准答案但表达结构决定了你答案的上限。我建议采用“现象描述 - 可能原因列表 - 逐个验证 - 结论处理 - 事后预防”五段式表达。举个例子面试官问“CPU 使用率 100% 怎么办”不要一上来就说“我看 top 找进程”。更好的说法是先描述现象——“CPU 使用率高我先要确认是整体高还是某个核高是用户态高还是内核态高”。再列假设——“可能是一个进程死循环也可能是中断处理太频繁还有可能是负载确实大”。然后讲验证步骤——“我执行 top 看进程列表执行 mpstat -P ALL 1 看每个核的使用情况再 pidstat 定位具体进程如果内核态高就用 perf top 看内核热点”。接着给处理方案——“是死循环就果断 kill 或重启是流量大就扩容”。最后补上预防——“加监控、留存 top 历史记录”。这个结构无论面试还是平时复盘故障都非常好用。另外一个面试礼仪要点面试官描述场景时信息通常是不完整的。你完全可以先反问“是突然发生还是一直如此”“是单台机器还是所有机器”“有没有最近的变更”这些澄清问题在真实故障里就是首要步骤在面试里也会让面试官觉得你不是在背答案而是在用工程师的方式思考。我个人在实际操作里的体会是面试准备的最高效方式不是刷题而是把每一道题都当成一次演习。把答案写下来然后对着电脑敲一遍相关命令记录输出再想一遍“如果这条命令没反应我下一步怎么办”。这样准备出来的答案不管怎么追问你都不会慌。这一篇先到这里很多细节其实一两句话说不完后续我会再针对网络进阶、数据库备份恢复、高可用架构这些更深的主题继续把运维面试里真正值得讲的实战内容拆开聊。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑