运维工程师面试题汇总

本篇按主题将源文件《面试题汇总.txt》中的题目重新分类整理:Linux 基础与命令、网络、进程与存储、Web 服务与中间件、MySQL 数据库、Docker、运维经验,以及填空题。原文给出答案的题目均保留并整理答案;原文留空的题目只列题。

一、Linux 基础与命令

1. 输出文本的偶数行

awk '!(NR%2)' /etc/passwd
sed -n '2~2p' /etc/passwd

2. 使用 ps 查看指定 PID(示例 pid=8000)进程的启动时间

ps -aux | grep 8000

3. 写一个 crontab 语句,让系统每小时和时间服务器 10.10.10.1 同步一次

1 * * * * ntpdate 10.10.10.1

4. 当前目录、上层目录、主目录如何表示?切换目录用什么命令?

  • 当前目录:./
  • 上层目录:../
  • 主目录:~/
  • 切换目录:cd

5. 怎么查看当前进程?怎么执行退出?怎么查看当前路径?

ps    exit    pwd

6. 怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 ID?查看指定帮助用什么命令?

  • 清屏:clear
  • 退出当前命令:Ctrl+C
  • 睡眠/挂起:Ctrl+Z(fg 恢复前台,bg 后台运行)
  • 查看当前用户 ID:id
  • 查看帮助:man

7. ls 命令的功能及常用参数

列出当前目录下所有文件和文件夹。常用参数:

  • -l:以长格式显示详细信息;
  • -a:显示所有文件(包含隐藏文件);
  • -h:以人类可读方式显示大小。

8. 建立软链接(快捷方式)和硬链接的命令

ln -s 源文件 目标文件   # 软链接
ln 源文件 目标文件       # 硬链接

9. 创建目录、创建文件、复制文件分别用什么命令?

mkdir    touch    cp

10. 终端对应哪个文件?黑洞文件对应哪个?

/dev/tty       /dev/null

11. 移动文件、改名分别用什么命令?

  • 移动:mv
  • 改名:mv;批量改名可用 rename

12. 复制文件用哪个命令?连同文件夹一起复制?需要提示功能?

cp    cp -r    cp -vr

13. 删除文件?连同目录及目录下文件一块删除?删除空文件夹?

rm    rm -rf    rmdir

14. Linux 下有哪些通配符,含义是什么?

  • ?:匹配单个字符;
  • *:匹配多个字符;
  • [charset]:匹配字符集中的单个字符,如 [a-z]、[A-Z]。

15. 用什么命令统计文件内容(行号、单词数、字节数)?

wc -l 文件   # 行数
wc -w 文件   # 单词数
wc -c 文件   # 字节数

16. 怎么让一个命令在后台运行?

在命令末尾加上 &。

17. 怎么利用 ps 显示所有进程?怎么查看指定进程信息?

ps -aux
ps -ef
ps -ef | grep pid

18. 专门用来查看后台任务的命令?

jobs -l

19. 终止进程用什么命令?常用参数?

kill -9 PID

20. 搜索文件用什么命令?格式?

find 指定目录 指定条件 指定动作
whereis 文件名

21. 查看当前谁在使用主机?查找自己所在终端的命令?

who
who am i

22. 使用什么命令查看用过的命令列表?

history

23. 查看磁盘使用空间、空闲空间?

df -hl

24. 查看 IP 地址及接口信息?

ip addr       # 或 ifconfig

25. 查看各类环境变量?

env

26. 通过什么命令查找可执行命令的位置?

which 命令
whereis 命令

27. 怎么对命令取别名?

alias 别名='命令'

28. du 和 df 的定义与区别

  • du:显示目录和文件的大小;
  • df:显示文件系统整体的使用情况(所有挂载点)。

29. 怎样一页一页查看大文件?

more 文件
less 文件

二、网络

30. OSI 七层模型(按顺序)

  1. 物理层
  2. 数据链路层
  3. 网络层
  4. 传输层
  5. 会话层
  6. 表示层
  7. 应用层

31. 路由器工作在 OSI 哪一层?

网络层。

32. TCP/UDP 协议对应 OSI 哪一层?

传输层。

33. 添加一条去往 192.168.0.0/16 网段的路由,网关 10.10.10.1

route add -net 192.168.0.0 netmask 255.255.0.0 gw 10.10.10.1

原文写作 ... default gw 10.10.10.1,对网络路由应使用 gw 而不是 default gw,此处作技术修正。

34. 使用什么命令查看网络是否连通?

原文答案:netstat。

补充:netstat 主要用于查看网络连接/端口;测试连通性常用 ping、traceroute、telnet、nc 等。

35. 查看路由跟踪的命令?

traceroute www.baidu.com

36. 交换机工作在 OSI 七层中的哪一层?

数据链路层。

37. 建立动态路由需要用到的文件

原文答案:/etc/resolv.conf。

38. 远程网络连接不上时如何排查?

使用 traceroute 跟踪路由,了解数据包在网络中的哪一跳出现问题。


三、进程与存储

39. 什么是进程和线程?

一个应用至少有一个进程,一个进程至少有一个线程。

  • 线程是 CPU 独立运行和独立调度的基本单位;
  • 进程是资源分配的基本单位。

40. RAID 0、RAID 1、RAID 5 的作用与特点

级别 磁盘要求 特点 原理
RAID 0(类似 glusterFS 条带卷) 2 块以上 无数据冗余、无校验,读写速度快;任一盘损坏即丢失全部数据 将多块盘合并为一块,数据连续分割到各盘,带宽加倍
RAID 1(类似 glusterFS 复制卷) 2 块 通过镜像实现 100% 冗余;成本高,读快写慢 两块盘互为镜像,容量等于一块盘,适合高安全、快速恢复场景
RAID 5(RAID 0/1 折中) 至少 3 块 读写接近 RAID 0,成本低,允许坏 1 块盘 数据和奇偶校验分散存储在各盘,坏盘后利用其余数据和校验重建

四、Web 服务与中间件

41. Nginx 是怎么代理的?修改配置后如何生效?怎么做负载均衡冗余?

  • 代理:通过配置文件中的 proxy_pass 模块实现;
  • 重新加载配置:nginx -s reload;
  • 负载均衡冗余:通过 upstream + proxy_pass,在 upstream 中加入 server IP backup; 备机,再通过 location 引用。

42. Nginx、Tomcat 调优

Nginx 调优要点:

  1. worker_processes:工作进程数,一般设为 CPU 核数或 auto;
  2. worker_connections:单进程最大连接数,默认 512,可用 ab 压测,建议 1024;
  3. 打开 buffer 缓存;
  4. timeout 合理设置超时时间;
  5. 打开 gzip,减少网络传输;
  6. Static file caching:对静态文件开启浏览器缓存;
  7. 关闭 access_log,减少磁盘 I/O;
  8. 保持连接:keepalive_requests 100;(超过即关闭)、keepalive_timeout 75s;(超时关闭)。

43. Tomcat 的主要作用是什么?具体工作、配置及应用

Tomcat 是一个 Web 服务器/中间件,主要用于运行 Java 开发的项目。安装需要 JDK 环境,配置 Tomcat 目录下的启动/停止脚本,并将 JDK 加入环境变量;主配置文件为 tomcat/conf/server.xml。

44. Tomcat 怎么连接数据库?

通过 MySQL 官方提供的 JDBC 连接器进行 JDBC 开发。

45. LNMP 主要做什么?

LNMP 是一个生产环境:Linux + Nginx + MySQL + PHP/Python/Perl,主要用于搭建动态网站。

46. ELK 是怎么收集数据日志的?

通过搭建 Elasticsearch 集群收集、分析、存储数据;Logstash 收集并过滤日志;Kibana 提供 Web 展示界面。

47. 你最熟悉什么中间件?

原文答案:Nginx、Tomcat。

48. Zabbix 的安装过程

  1. 准备 163 源、Zabbix 官方源、本地 YUM 源;
  2. 安装:
    yum install -y zabbix-server-mysql zabbix-web-mysql mariadb-server
  3. 导入表结构:
    zcat /usr/share/doc/zabbix-server-mysql-3.2.7/create.sql.gz | mysql -u zabbix -p123 zabbix
  4. 配置 /etc/httpd/conf.d/zabbix.conf,修改时区为 Asia/Shanghai;
  5. 浏览器访问 http://IP/zabbix 进入控制台;
  6. 被监控端安装 zabbix-agent,在控制台添加主机,即完成。

49. 怎么防止单点故障、实现负载均衡?

  • 高可用:使用 Keepalived,master 与 backup 通过心跳线连接,master 宕机后 backup 接管,VIP 漂移到 backup,保证集群高可用;
  • 负载均衡:可通过 Nginx、LVS、HAProxy 实现。Nginx/HAProxy 支持七层和四层调度,LVS 支持四层调度。

五、MySQL 数据库

50. server-id 为什么不能从 0 开始?作用是什么?

  • server-id 本身可以为 0,但其主键不能为 0,为 0 时不能自增;
  • 作用:标记 binlog 的源站点(source),用于主从复制区分不同实例。

51. MySQL 主从复制的原理及带来的效益

slave 端的 IO 线程连接 master 并发出请求,master 将 binlog 文件名和位置信息返回给 slave;slave 的 IO 线程把 master 的 binlog 内容依次写入本地的 relay log,并把文件名和位置记录到 master.info;slave 的 SQL 线程检测到 relay log 更新后,解析并执行其中的操作,使 slave 执行与 master 相同的操作,从而达到数据同步。

效益:读写分离、数据备份、高可用。

52. MySQL 如何备份上亿数据?

mysqldump 和 rsync 都不可行(数据量太大)。可使用 MySQL 自带的:

SELECT ... INTO OUTFILE '...'

按条件导出。

53. MySQL 怎么优化、怎么监控?

优化:

  1. 连接数与超时:max_connections = 1000、wait_timeout = 10;
  2. 开启查询缓存(query cache);
  3. 主从复制;
  4. 配置慢查询日志;
  5. 添加索引、创建视图。

监控:可使用开源监控软件 Zabbix 监控 MySQL。

54. 数据库挂了怎么办?

一般数据库都有灾备方案:主服务器挂了,还有从服务器;主库故障应立即修复,重新恢复服务(可切换至从库顶上来)。

55. MySQL 的备份和恢复

# 全备
mysqldump -u root -p123 -A > /back/backup.sql

# 指定多个数据库
mysqldump -u root -p123 -B test test1 test2 > /back/multi.sql

# 导出指定表(需配合 -B)
mysqldump -u root -p123 -B m2 --tables t1 t2 > /back/tables.sql

以 test 库为例(用户名 root,密码 test):

# 备份(-F 刷新 binlog)
mysqldump -uroot -ptest -B test -F > /backup/test.sql

# 恢复
mysql -uroot -ptest < /backup/test.sql

56. SQL 复制技术类型

同步复制、异步复制、半同步复制。


六、Docker

57. 简述 Docker 的优势

  • 持续部署与测试;
  • 版本控制;
  • 隔离性;
  • 安全性;
  • 可移植性;
  • 保持环境一致性。

七、运维岗位与经验

58. 运维是什么?

运维负责保证线上服务的正常运行与维护。

59. 在公司自己搭建交换机吗?怎么搭建?

原文未给出答案。

60. 你最得意的项目是什么?用的什么服务器?是自己搭的吗?

原文未给出答案。

61. 在工作中发生过什么故障?

原文举例:

  • 编译时遇到编译错误,经排查是未安装 gcc、gcc-c++,通过 yum install 解决;
  • 常见网络故障:网线接口松动;
  • 项目部署中软件版本过低无法运行,升级后解决;多版本相同软件冲突,卸载多余版本。

62. 怎么发布新版本?

原文未给出答案。

63. ELK 日志分析经验?

原文未给出答案(题目为空答)。

64. 原来工作中解决过什么故障?请详细讲讲。

原文未给出具体答案(与第 61 题相关,可结合回答)。

65. 你在以前公司做什么?做过哪些项目?遇到过什么问题,怎么处理的?

原文未给出答案。


八、填空题

  1. Linux 内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。
  2. Linux 文件系统中每个文件用 inode 号 来标识。
  3. 前台启动的进程使用 Ctrl+C 终止。
  4. vi 编辑器具有三种工作模式:编辑模式、普通模式、命令行模式。
  5. 进行字符串查找使用 find(格式:find 指定范围 指定条件 指定文件)。
  6. MySQL 使用什么命令备份:mysqldump;备份与恢复示例:
    mysqldump -uroot -ptest -B test -F > /backup/test.sql
    mysql -uroot -ptest < /backup/test.sql
  7. 交换机工作在 OSI 七层中的 数据链路层。
  8. 在 TCP/IP 协议集中,传输层的 UDP 协议是一种面向无连接的协议,不保证数据包可靠传输,没有差错检测功能。

    原文此处留空,根据"面向无连接、无差错检测"的描述应填 UDP。

  9. SQL 复制技术类型:同步复制、异步复制、半同步复制。
  10. 建立动态路由需要用到的文件:/etc/resolv.conf(原文答案)。
  11. 当挂载远程网络存储连不上时,使用 traceroute 跟踪路由以定位网络中出现问题的位置。
最后修改:2026 年 09 月 20 日
如果觉得我的文章对你有用,请随意赞赏