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 这些

1. 你使用过监控软件吗?说说其特点

2. 请描述服务器账户日志审计的5种解决方案。

3. Linux如何查看CPU运行状态?

4. Linux如何查看内存的使用情况?

5. Linux如何查看硬盘的读写性能?

6. Linux机器上跟踪系统事件的守护进程名是什么?

7. CPU 负载和 CPU 利用率的区别是什么?

8. 简述CPU 负载很高,利用率却很低该怎么办?

9. CPU 负载很低,利用率却很高该怎么办?

进程 网络等相关

13. 如何查看占用端口8080 的进程 ?

20. Linux如何查询端口占用并杀掉占用端口的进程?

28. 简述Linux终止进程用什么命令?

29. 简述du 和 df 命令的区别?

31. 误操作,执行了rm -rf * ,会有哪些情况发生?请举例?

47. 如何查看 http 的并发请求数与其 TCP 连接状态?

2、日志

这块其实问的也不多,了解下吧,平时查看日志也挺有用,也不用说死记,忘就忘了,有个影响,主要就是用了解下 grep,find 和 tail,cat这几个用法吧

2. 如何动态监听Linux日志 ?

3. 如何带关键词查询Linux日志文件 ?

8. 如何Linux下日志文件过大,如何实现分割,转储 ?

3、基础

2. Linux系统中符号链接与硬链接的区别?

5. 常见的Linux目录结构?

10. 描述Linux运行级别0-6的各自含义?

12. 给出正确的关机和重启服务器的命令?

15. Linux 中的用户模式和内核模式是什么含意?

18. Linux 通过什么方式实现系统调用?

19. Linux 软中断和工作队列的作用是什么?

21. Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?

24. 如何检查Linux某项服务是否在运行?

30. 块设备和字符设备有什么区别?

32. Linux系统里,您知道buffer和cache如何区分吗?

更多

更多 Linux 实战相关的,可以看这个专栏:0. Linux性能剖析课程说明

发表评论

后才能评论