Linux面试常问哪些难题?Linux面试高频考点汇总

这是一份为您精心整理的 Linux 面试宝典涵盖了从基础命令到内核原理、故障排查及高并发场景下的实战经验,旨在帮助您在面试中从容应对。


🐧 Linux 面试宝典

核心基础与常用命令

文件与目录操作

  • ls -l:查看详细信息,重点解释权限字段(rwx),-rw-r--r-- 代表文件,drwxr-xr-x 代表目录。
  • chmod / chown
    • chmod 755 file:所有者可读可写可执行,组和其他人可读可执行。
    • chown user:group file:修改文件所有者和组。
  • find vs locate
    • find:实时搜索,精确但慢(如 find / -name ".log")。
    • locate:基于数据库搜索,极快但可能有延迟(需 updatedb)。
  • grep:文本搜索,常用参数 -r (递归), -i (忽略大小写), -v (反向匹配), -n (显示行号)。

系统资源监控

  • top / htop:实时查看 CPU、内存、进程状态。
    • Load Average:三个数字分别代表 1分钟、5分钟、15分钟的平均负载。注意:负载高不等于 CPU 忙,也可能是 I/O 等待。
  • free -h:查看内存使用情况。
    • Buffer/Cache:Linux 会利用空闲内存做缓存以加速 I/O,这部分内存可以在需要时被回收,available 才是真正可用的内存。
  • df -h:查看磁盘空间使用率。
  • `du -sh `:查看当前目录下各文件或文件夹的大小。
  • iostat -x 1:查看磁盘 I/O 性能,关注 %util(利用率)和 await(平均等待时间)。

网络诊断

  • netstat -tlnpss -tlnp:查看端口监听状态及对应进程。
  • curl -I http://...:查看 HTTP 响应头。
  • ping:测试连通性。
  • traceroute:追踪路由路径。
  • Linux面试常问哪些难题?Linux面试高频考点汇总

    【建议收藏】运维人必备!2026 Linux 高频面试题拆解,刷完直接拿捏面试官,轻松拿 offer!
    加载中
    【建议收藏】运维人必备!2026 Linux 高频面试题拆解,刷完直接拿捏面试官,轻松拿 offer!
  • tcpdump:抓包工具,用于分析网络协议细节。

权限与安全

权限体系

  • r (Read), w (Write), x (Execute):分别对应读、写、执行权限。
  • 特殊权限
    • SUID (4):执行时以文件所有者身份运行(如 passwd 命令)。
    • SGID (2):新文件继承目录的组权限。
    • Sticky Bit (1):目录中用户只能删除自己的文件(如 /tmp)。

软硬链接

  • 硬链接 (Hard Link):指向同一个 inode 号,删除原文件不影响硬链接,不能跨文件系统,不能链接目录。
  • 软链接 (Symbolic Link):类似 Windows 的快捷方式,指向路径,删除原文件后软链接失效。

进程管理

进程状态

  • R (Running):正在运行或在运行队列中等待。
  • S (Sleeping):中断休眠,等待事件完成(大多数进程处于此状态)。
  • D (Disk Sleep):不可中断休眠,通常正在等待 I/O 完成。注意:此状态下的进程无法被 kill 杀死。
  • Z (Zombie):僵尸进程,进程已终止但未被父进程回收(wait)。

常用命令

  • ps aux:查看进程快照。
  • kill -9 PID:强制杀死进程(慎用,可能导致数据丢失)。
  • kill -15 PID:正常终止进程(发送 SIGTERM 信号,允许进程清理资源)。
  • nohup command &:后台运行进程,忽略挂起信号。
  • screen / tmux:终端复用工具,防止 SSH 断开导致任务中断。

磁盘与文件系统

文件系统类型

  • ext4:传统 Linux 文件系统,稳定。
  • XFS:高性能,适合大文件和高并发 I/O(CentOS 7+ 默认)。
  • Btrfs:支持快照、压缩、RAID。

LVM (逻辑卷管理)

  • PV (Physical Volume):物理磁盘分区。
  • VG (Volume Group):将多个 PV 组合成一个资源池。
  • Linux面试常问哪些难题?Linux面试高频考点汇总

    LV (Logical Volume):从 VG 中划分出的逻辑卷,可动态扩容/缩容。

  • 面试考点:如何在不卸载文件系统的情况下扩容?(lvextend -> resize2fsxfs_growfs)。

网络协议与 TCP/IP

TCP 三次握手与四次挥手

  • 三次握手
    1. Client -> Server: SYN=1, seq=x
    2. Server -> Client: SYN=1, ACK=1, seq=y, ack=x+1
    3. Client -> Server: ACK=1, seq=x+1, ack=y+1
  • 四次挥手
    1. Client -> Server: FIN=1 (主动关闭)
    2. Server -> Client: ACK=1 (确认收到) -> 此时连接处于半关闭状态
    3. Server -> Client: FIN=1, ACK=1 (被动关闭)
    4. Client -> Server: ACK=1 (确认收到) -> 进入 TIME_WAIT 状态

关键状态

  • TIME_WAIT:确保最后一个 ACK 到达对方,防止旧连接报文干扰新连接。面试高频:为什么会有 TIME_WAIT?如何优化?(调整 tcp_tw_reuse, tcp_fin_timeout)。
  • CLOSE_WAIT:被动关闭方未调用 close(),通常意味着代码 Bug,连接泄漏。
  • SYN_RECV:正在等待完成第三次握手,或遭受 SYN Flood 攻击。

HTTP 状态码

  • 200:成功。
  • 301/302:重定向。
  • 403:禁止访问(权限问题)。
  • 404:资源未找到。
  • 500:服务器内部错误。
  • 502/504:网关错误/超时(通常后端服务挂了或响应太慢)。

故障排查实战(高频场景)

场景 1:CPU 负载高

  1. top 查看是哪个进程占用 CPU 高。
  2. top -H -p <PID> 查看该进程下哪个线程占用高。
  3. jstack <PID> (Java) 或 gdb 查看线程堆栈,定位代码热点。

场景 2:内存泄漏/不足

  1. free -h 查看可用内存。
  2. topM 键按内存排序,找出大内存进程。
  3. 检查是否有大量 Buffer/Cache(正常现象,可忽略)。
  4. 对于 Java 应用,使用 jstat -gcutil <PID> 分析 GC 情况。

Linux面试常问哪些难题?Linux面试高频考点汇总

场景 3:磁盘空间满

  1. df -h 查看哪个分区满。
  2. du -sh / | sort -rh | head -10 找出大文件或目录。
  3. 注意:如果文件已删除 (rm) 但空间未释放,是因为进程仍持有文件句柄。
    • 解决:lsof | grep deleted 找到被删除但未释放的文件,重启对应进程或截断文件 (> filename)。

场景 4:网络连接问题

  1. ping 测试连通性。
  2. telnet <IP> <Port>nc -zv <IP> <Port> 测试端口通不通。
  3. netstat -an | grep <Port> 查看连接状态。
  4. tcpdump 抓包分析丢包或重传原因。

高级话题(加分项)

虚拟内存与 Swap

  • Swappiness:控制内核使用 Swap 的倾向(0-100),数据库服务器通常设为 0 或 1。
  • OOM Killer:当内存不足时,内核会杀死占用内存最多的进程以保护系统。

内核参数调优

  • net.ipv4.tcp_max_syn_backlog:SYN 队列长度。
  • net.core.somaxconn:监听队列长度。
  • fs.file-max:系统最大打开文件数。

日志分析

  • /var/log/messages/var/log/syslog:系统日志。
  • /var/log/secure:安全日志(登录失败等)。
  • ELK Stack:Elasticsearch, Logstash, Kibana,用于大规模日志收集与分析。

面试技巧建议

  1. STAR 法则:回答故障排查问题时,按照 Situation (背景), Task (任务), Action (行动), Result (结果) 的结构描述。
  2. 诚实原则:遇到不会的问题,可以说“这个细节我暂时不确定,但我推测可能是…”,展示你的推理能力。
  3. 结合业务:将 Linux 知识与具体业务场景结合(如:“我在处理高并发 Web 服务时,遇到了 TIME_WAIT 过多问题,通过调整内核参数解决了…”)。
  4. 动手实践:面试前务必在虚拟机或云服务器上实际操作一遍 top, netstat, grep, awk 等命令,避免纸上谈兵。

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/486412.html

(0)
ftp转发服务器怎么用?ftp转发服务器配置教程
上一篇 2026年7月12日 10:36
国家鼓励开发数据网络安全吗,数据网络安全开发有哪些政策
下一篇 2026年4月28日 13:20

相关推荐

  • linux matlab并行怎么设置?

    在Linux环境下实现MATLAB并行计算,核心在于利用MATLAB Parallel Server结合Slurm或PBS等作业调度系统,通过配置集群许可证和分布式池(Distributed Pool)来调用多核或多节点资源,从而将单线程耗时任务转化为并行处理,显著缩短大规模数据运算时间,对于许多科研人员和工程……

    2026年7月4日
    18800
  • Linux Mint无线连不上怎么办?Linux Mint无线网卡驱动安装

    在 Linux Mint 中解决无线网络问题通常分为几个步骤,由于 Linux 内核对无线网卡驱动的支持程度不同(尤其是 Broadcom、Realtek 等常见品牌),遇到问题时请按照以下顺序排查:第一步:使用“驱动程序管理器”(最简单有效)Linux Mint 自带了一个非常强大的工具,可以自动检测并安装专……

    2026年7月12日
    19900
  • linux烤机怎么测?linux服务器稳定性测试方法

    Linux 烤机是验证服务器稳定性与硬件极限的核心手段,通过压力测试暴露潜在故障,确保生产环境在高负载下的数据安全与系统韧性,在数据中心和云计算日益普及的今天,Linux 系统不仅是后端服务的基石,更是衡量硬件性能的试金石,所谓的“烤机”,并非简单的让 CPU 满载运行,而是一套涵盖 CPU、内存、磁盘 I/O……

    2026年7月12日
    14500
  • linux怎么安装wxpython?linux安装wxpython详细教程

    在Linux环境下安装wxPython最稳定且推荐的方式是使用pip工具配合虚拟环境,具体命令为pip install wxPython,这能避免系统库冲突并实现版本隔离,对于许多习惯在Windows或macOS上开发Python GUI应用的人来说,切换到Linux平台时往往会遇到依赖库缺失或编译失败的困扰……

    2026年7月4日
    20100
  • linux终端日志怎么看?如何查看linux系统日志

    Linux终端日志是系统运行的“黑匣子”,通过精准分析/var/log目录下的journalctl输出或syslog文件,结合grep过滤与awk提取,可快速定位故障根因并优化系统性能,终端日志的核心价值与基础架构在Linux运维的日常场景中,日志不仅仅是枯燥的文字记录,它是系统健康的脉搏,当服务器出现卡顿、服……

    2026年7月12日
    7000
  • Android Linux JNI是什么?Android开发JNI调用C++报错怎么解决

    Android底层依赖Linux内核,通过JNI(Java Native Interface)实现Java层与C/C++层的高效通信,这是构建高性能应用、调用硬件驱动及复用现有C++代码库的标准技术路径,在移动互联网开发领域,Android系统因其开源特性吸引了海量开发者,当应用需要处理图像处理、音视频解码或复……

    2026年7月7日
    7900
  • linux sort -t怎么用?sort命令按指定分隔符排序

    Linux中sort -t命令的核心作用是指定字段分隔符,默认以空白字符分隔,通过-t参数可自定义如逗号、冒号等符号,从而精准提取CSV或日志文件中的特定列进行排序,在Linux命令行世界里,处理文本数据是日常操作的重头戏,很多时候,我们面对的不是整齐划一的单列数据,而是像CSV表格或者系统日志那样,用特定符号……

    2026年7月9日
    19600
  • linux日志格式是什么?linux系统日志路径及查看方法

    Linux 系统中的日志格式并不是单一的,而是取决于具体的日志服务软件(如 syslog、journald、auditd 等)以及应用程序本身的配置,以下是 Linux 中最常见的几种日志格式详解:Syslog 格式 (传统格式)这是最经典、最通用的日志格式,广泛用于 /var/log/syslog、/var……

    2026年7月10日
    18700
  • linux网卡过滤怎么设置?linux网卡过滤规则配置方法

    Linux网卡过滤的核心在于利用iptables、nftables或eBPF技术,在数据包进入操作系统内核前进行精准拦截或放行,从而在源头阻断恶意流量并提升系统安全性,在网络攻防日益复杂的今天,单纯依赖防火墙硬件或云服务商的安全组已经不够用了,你需要在服务器内部构建最后一道防线,Linux作为绝大多数服务器的操……

    2026年7月5日
    8010
  • linux查看service怎么操作?systemctl常用命令详解

    在Linux系统中查看服务状态的核心命令是systemctl,它能统一管理systemd服务,通过status、list-units等子命令即可快速获取服务的运行状态、日志及配置信息,在现代Linux运维体系中,传统的SysVinit脚本已被systemd全面取代,对于绝大多数现代发行版,如CentOS 7……

    2026年7月8日
    10100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注