当前位置:首页>Linux>Linux面试这些题年年考,吃透了你还怕拿不到心仪offer吗

Linux面试这些题年年考,吃透了你还怕拿不到心仪offer吗

  • 2026-10-11 08:22:52
Linux面试这些题年年考,吃透了你还怕拿不到心仪offer吗
面试官最爱问的关机和重启命令到底有什么区别

很多刚出校门的小朋友,去面试的时候总被这个问题难住。不就是关机吗?有什么好问的?

还真不是,面试官就喜欢从这种基础问题里看你基础扎不扎实。你要是张口就说直接点电源关机,那基本上这场面试也就凉凉了。

说shutdown最稳妥,它和其他命令不一样,它会帮你正确的保存系统正在运行的进程,把所有服务都正常停掉之后才关机。那reboot就是重启啊,halt是停掉系统之后不关电源,poweroff才是直接关机断电。

你别觉得这些记不住,面试考了一百次了,下次再考你总不能还错吧。

还有人搞不清楚init 0和init 6对应什么,记死了啊,init 0就是关机,init 6就是重启,别记混了。

软链接和硬链接,这题十有八九会遇到

我猜好多人工作一两年了,被问到这个问题还是会卡壳对不对?

我刚面试那会就栽过这个坑,那时候总觉得不就是两个链接吗,能用就行,谁知道面试官追着问你文件inode号你知道吗?软链接的inode和源文件一样吗?

硬链接其实就是给源文件再重新起了个名字,两个文件共用同一个inode,你改哪个内容另一个也跟着变,你删掉源文件,硬链接还能打开,内容一点不会丢。

软链接就完全不一样了,它就像Windows里的快捷方式,有自己独立的inode,你打开它其实就是跳去源文件那里,要是源文件删了,这个软链接就直接废了,打不开了。

那软链接能跨分区吗?能啊,硬链接不行,跨分区找不到同一个inode啊。软链接还能链接目录,硬链接不行,普通用户连硬链接目录都不让弄。

就这么几点,记熟了说出来,面试官直接对你刮目相看,这不比你瞎扯一堆没用的强?

怎么查当前系统都开了哪些端口

找工作做运维,查端口那不是吃饭喝水一样基本的操作吗?我见过太多人上来只会说netstat -tulnp,那还有其他命令呢?ss呢?你不会用吗?

其实两个都能用,ss比netstat快多了,尤其是系统里连接数特别多的时候,ss查起来嗖嗖的,netstat就得卡半天。

怎么写呢?ss -tulnp不就出来了吗,想看所有正在监听的端口,直接列出来,哪个进程占用的都给你写的明明白白。

还有人用nmap啊,扫一下自己服务器开了哪些端口,也是好用的。lsof还能查某个特定端口被谁占了,lsof -i:80,一下子就出来了。

你别只会说一个netstat,多讲两个命令,体现你平时真的用过,不是死背的面经,这不香吗?

上次我朋友去面试,说自己平时排查问题都是ss,因为服务器跑了上万个连接,netstat太慢了,面试官当场就点头,说这就是平时真干活的人。

讲一讲讲权限位rwx分别对应什么数字,你真的懂吗

不就是r是4,w是2,x是1吗?这谁不会啊?那我问你,目录的rwx和文件的rwx,是一个意思吗?

好多人就答错了,对哦,文件的r就是你能读里面的内容,w就是能改,x就是能运行。那目录呢?

目录的r是你能列出这个目录里面有什么文件,w是你能在目录里面增删改文件,哪怕你文件本身权限不对,只要目录有w就能删你信不信?x呢?x是你能cd进去啊,你没有x权限,哪怕你有r,你都进不去目录,连看里面单个文件都看不了。

那那个粘滞位你知道吗?就是那个tmp目录常用的,权限最后那个t,不就是粘滞位吗?只有文件所有者才能删自己的文件,别人删不了,防止乱删公共目录的文件,这你总得说出来吧。

还有属主属组那个,创建文件默认权限怎么算的?umask知道吗?默认权限其实就是777减umask,目录默认最大是777,文件是666,算一下就出来了,这些点都答到,你说面试官能不爱你吗?

怎么找出系统里面占用空间最大的文件

服务器报警说根分区满了,你第一步要干嘛?肯定是找哪个文件夹占了最多空间啊。

你别上来就说du -sh啊,那找大文件总得一步步来吧,先du -sh /*看哪个目录占的多,进去再接着找,一层一层往下挖,总能找到那个占空间的家伙。

好多时候都是什么日志文件被打满了,或者有人往服务器传了大压缩包忘了删,找出来删了就好了。

有没有更快的办法?你可以用find啊,find / -type f -size +100M,直接把根目录下超过100M的文件都列出来,这不更快吗?

别犯傻啊,你别根分区满了你连命令都打不出来,那时候删几个没用的大日志就好了,这个问题面试考的就是你实际排查故障的经验,你说的越具体越像真干活的。

进程后台运行你知道几种方法

你在服务器上跑一个脚本,一断开终端脚本就被杀了,这个问题你怎么解决?

最简单的就是加个&啊,放后台跑,那关掉终端还是会没啊,那用nohup啊,nohup 脚本 &,输出默认扔到nohup.out里,你断开连接它接着跑,这个是最常用的吧?

还有什么?setsid啊,还有screen啊,screen开一个会话,放里面跑,断开了再连上就能接着看,太方便了跑长时间任务的时候。

还有那个 disown你知道吗?你已经跑起来的进程,忘了弄nohup了,直接disown -h,关掉终端也不会杀它,这个小技巧很多人都不知道,说出来绝对加分。

我上次面试就说这个,面试官说好多工作两三年的都不知道这个,你还挺懂的,直接就过了。

怎么查进程都打开了哪些文件

lsof啊,这不对着吗?lsof -p 进程id,直接就列出来所有打开的文件、网络连接了,什么端口被占用了用它查,删了文件空间没释放,也能用它找出来啊。

那种情况就是文件已经删了,但是进程还握着句柄没释放,空间就出不来,你找到那个进程,要么重启进程要么把句柄清了,空间就回来了,这个问题太常见了,面试考了不知道多少次。

你说你连这个都不会,那出了问题你怎么排查?面试官肯定不敢要你啊。

GRUB坏了开不了机,你怎么救

系统起不来了,GRUB引导坏了,你怎么修?这个基本是中高级运维必问的吧?

你得先进救援模式啊,用安装盘或者ISO镜像挂进去,进了之后chroot到原来的系统,然后重新装GRUB,grub-install /dev/sda,然后grub-mkconfig -o /boot/grub2/grub.cfg,重新生成配置文件,重启就好了啊。

要是centos6就是grub,centos7之后就是grub2,版本不一样命令也有点差,这些说清楚,就说明你真的处理过这种开机故障,不是瞎背的。

谁还没遇到过不正常关机把引导搞坏的情况啊,会修这个那就是能力的证明。

怎么看系统的负载,负载高了怎么排查

top命令啊,第一行那个load average就是负载啊,三个数分别是1分钟5分钟15分钟的平均负载,那负载多少算高啊?你要是四核CPU,负载到4左右那就是满负载,超过了就说明压力太大了啊。

负载高了你第一步查什么?先看CPU占的高不高,top进去按P排序,看哪个进程吃CPU最多,是代码写烂了死循环,还是流量真的太大了扛不住?

那CPU没问题啊,负载还高呢?那就是IO负载高了啊,你看iostat,看%util是不是满了,哪个进程占IO高,是不是日志在疯狂打盘,是不是数据库在刷脏块?

还有可能是开了太多进程,系统切换不过来,那负载也会上去,这个时候就要看是不是有太多僵尸进程,杀了就好了。

你别说你只会看top,你说的整个排查流程顺下来,面试官一看就知道你处理过线上故障,经验到位了。

说一个你平时处理过的最常见的Linux故障吧

这题其实就是开放题,看你到底有没有真正处理过问题。你就说个最常见的,比如服务器突然连不上ssh了,你怎么排查?

先看能不能ping通啊,ping都不通那就是网络断了,要么是服务器宕机了,要么是防火墙挡了,要么是IP地址错了。

ping能通,连不上ssh,那看sshd有没有起来啊,端口是不是被占了,防火墙是不是挡了22端口,是不是对方IP被禁了,是不是系统满了连登录都登不进去。

一步步说下来,说的有逻辑,比你说一堆高大上的东西有用多了,面试官要的就是你解决问题的思路,不是说你要背多少偏题怪题。

这些题翻来覆去考,其实考的都是你平时干活的基础功,你把这些都吃透了,说出来全是对的,那offer不就稳了吗?别总想着找什么奇奇怪怪的面试题,基础打好了,什么面试官都不怕。

最新文章

随机文章