linux面试题记录

发布于:2025-09-12 ⋅ 阅读:(20) ⋅ 点赞:(0)

1.什么是孤儿进程,系统会怎么解决

孤儿进程指的是一个父进程已经终止退出,但子进程依旧在运行

liunx系统为了解决孤儿进程占用系统资源,当一个进程的父进程终止时,该孤儿进程会被系统的init进程(PID=1)收养,成为init的子进程,而init会周期性的调用wait()来回收这些孤儿进程的资源,确保他们不会变成僵尸进程,并完成清理工作。

2.给出ip地址 192.168.1.0/24,问有多少个子网地址可用

可用 IP 数 = 2^(32 - n) - 2,254个

3.输入url到页面返回发生了什么

输入url,首先进行DNS解析,浏览器解析URL提取出域名,向DNS服务器发起查询,获取域名对应服务器的ip地址

获取IP地址后,建立TCP连接向服务器的 80(HTTP)或 443(HTTPS)端口发起 TCP 三次握手,建立可靠的连接。

TCP连接完后,浏览器会构造一个HTTP请求报文,通过tcp连接发送给服务器。如果是 HTTPS,还会先进行 TLS 握手,协商加密密钥,对通信进行加密。

服务器接收到请求后,根据路径和参数进行处理,发送回一个HTTP响应报文

数据传输完毕后,通常会发起 TCP 四次挥手来断开连接

4.shell命令删除给定目录下的已“.log”为结尾的文件,要求只能用一条指令

假设目录/etc

find /etc -name "*.log" -type f -delete
  • find: 查找命令

  • /etc: 指定的目录路径

  • -name "*.log": 匹配所有以 .log 结尾的文件名

  • -type f: 确保只匹配普通文件,排除目录

  • -delete: 对找到的文件执行删除操作

5.对于cpu平均负载这个概念是怎么理解的?

CPU 平均负载是指系统在特定时间间隔内(1分钟、5分钟、15分钟),处于可运行状态和不可中断状态的平均进程数。

可运行状态: 正在使用 CPU 或正在等待使用 CPU 的进程(R状态)。

不可中断状态: 正在等待 I/O(如磁盘读写)完成的进程(D状态)

6.top指令可以看到哪些信息?

第一行(top): 系统当前时间、系统运行时间、当前登录用户数、系统平均负载(1min, 5min, 15min)。

第二行(Tasks): 进程总数、正在运行的进程数、睡眠的进程数、停止的进程数、僵尸进程数。

第三行(%Cpu(s)): CPU 使用率百分比。

us:用户空间进程占用

sy:内核空间进程占用

ni:优先级被调整的进程占用

id:空闲CPU

wa:等待 I/O 完成的CPU时间(I/O等待)

hi:硬件中断占用

si:软件中断占用

st:被虚拟机偷取的时间(对于虚拟化环境)

第四、五行(KiB Mem & KiB Swap): 物理内存和交换空间的使用情况(总大小、已用、空闲、缓冲/缓存)。
PID: 进程ID

USER: 进程所有者

PR/NI: 优先级/Nice值

VIRT/RES/SHR: 虚拟内存/常驻物理内存/共享内存使用量

%CPU/%MEM: 进程使用的 CPU 和物理内存百分比

TIME+: 进程使用的总 CPU 时间

COMMAND: 启动进程的命令行

7.redis缓存雪崩,如何解决

缓存雪崩是指在同一时段内,大量的缓存 key 同时失效或者 Redis 服务宕机,导致所有请求瞬间都落到数据库上,造成数据库压力巨大甚至崩溃。

解决方案

为了预防大量的缓存 key 同时失效, 给缓存数据设置过期时间时,加上一个随机值(例如:基础时间 + 随机几分钟),避免大量 key 在同一时刻失效。

为了预防Redis 服务宕机,用 Redis Sentinel(哨兵)或 Redis Cluster(集群)来实现高可用,即使个别节点宕机,整个集群也能继续提供服务。

在系统启动或高峰期来临之前,提前加载一部分热点数据到缓存中。


网站公告

今日签到

点亮在社区的每一天
去签到