Linux高频题突击
Linux需要掌握的内容
一般来说,Linux 在面试中会问如下问题:
1、常见命令,一般是进程和网络相关,比如 ps,netstat,top 这些。
2、基于你的项目,问你Linux实操问题,比如问你怎么排查一些错误情况,比如 cpu 很高怎么办啊,等等,服务器很卡怎么排查等等。
然后我之前写过 Linux 八股文多,大概需要掌握的有这些(当然,这算是挺全面的了)
Linux基础类
1、文件系统:主要就是要了解下 inode,block,superblock,block bitmap 这些关键词的含义。(大概有印象吧,忘了也没事,说个大概)
2、目录的大致含义:例如像 proc 这个目录就放一些进程相关的信息,默认软件安装在 usr 目录等等,这其实是一种规范,这个要大致了解下。
3、文件一些属性:例如有些文件可读,可写,可执行,对应 rwx 权限这些, 通过 d 可以知道这个一个目录等等。
4、软连接与硬链接
5、vim 的几种模式区别了解一下,因为在 linux 编辑文件就是用vim,自己去用一下吧,下面我就不说了。
进程与内存等(这块是重点)
1、几个进程命令:ps,top,pstree,netstat,这几个进程命令一定要自己用一用,工作后经常用到的,重点学习了解下。
2、Linux 进程的一些状态,记得好几种:R,D,S,Z,T 这五种,要了解下。
3、孤儿进程,僵尸进程 要知道(重要),然后还得知道如何解决这种情况,例如出现大量僵尸进程怎么办
4、中断相关:软中断啊,不可中断状态啊
5、内存中的 Cache 和 buffer 的区别
6、了解 Swap 区是个啥
7、SiGCHLD 信号,waitpid() 和 wait() 函数
一些实用类命令
如果可以,find,grep 这几个搜索相关的命令学下,因为项目会打印日志,我们需要捞日志来分析,就会经常用到 find,grep 这些,到时候面试官问到你也可以说。
常见高频题梳理
1、Linux性能排查(重点)
这块是重点,面试官经常会结合项目来问,切记,一定要自己用一用这些命令,然后有一些情况,可以用多个命令的,比如如何看cpu状态,那你不用都记住,只需要记住几个常用的就好了,主要就是 ps,top,pstree,netstat,ds 这些
进程 网络等相关
31. 误操作,执行了rm -rf * ,会有哪些情况发生?请举例?
47. 如何查看 http 的并发请求数与其 TCP 连接状态?
2、日志
这块其实问的也不多,了解下吧,平时查看日志也挺有用,也不用说死记,忘就忘了,有个影响,主要就是用了解下 grep,find 和 tail,cat这几个用法吧
3、基础
21. Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?
32. Linux系统里,您知道buffer和cache如何区分吗?
更多
更多 Linux 实战相关的,可以看这个专栏:0. Linux性能剖析课程说明