返回首页

运维工程师面试 50 题 — 经典 Linux/网络/数据库基础全覆盖

📅 创建于 2026-05-19 🔄 更新于 2026-05-19 📝 1508 字

运维工程师面试 50 题

经典运维面试题集,覆盖 OSI 七层模型、Linux 系统管理、网络协议、数据库、虚拟化、监控等基础领域。 与 devops-interview-guide(云原生/K8s 侧重)形成互补,覆盖运维基础面全套考点。 与 k8s-interview-100-questions(K8s 专项)形成三级面试体系。


一、网络基础

1. OSI 七层网络模型

名称 功能 典型协议/设备
7 应用层 各种应用软件 HTTP, FTP, SMTP, DNS
6 表示层 数据格式标识、压缩加密 JPEG, SSL/TLS
5 会话层 控制应用程序间会话 RPC, NetBIOS
4 传输层 端到端传输 TCP, UDP
3 网络层 IP 编址、路由 IP, ICMP, 路由器
2 数据链路层 数据帧格式、MAC 寻址 MAC, 交换机
1 物理层 底层数据传输 网线, 网卡, 集线器

3. TCP 三次握手与四次挥手

三次握手(建立连接):
  Client → [SYN]        → Server
  Client ← [SYN+ACK]    ← Server
  Client → [ACK]        → Server

四次挥手(断开连接):
  Client → [FIN]        → Server
  Client ← [ACK]        ← Server
  Client ← [FIN]        ← Server
  Client → [ACK]        → Server

为什么是三次? 防止已失效的连接请求到达服务端产生错误。如果只有两次,服务端收到 SYN 就建立连接,而客户端可能已经放弃。

17. HTTP 与 HTTPS 区别 + SSL 握手

  • HTTP: 明文传输,端口 80
  • HTTPS: HTTP + SSL/TLS 加密,端口 443
  • SSL 握手:客户端请求 → 服务端发证书 → 客户端验证 → 协商密钥 → 加密通信

参见 nginx-security-config-guide(SSL 配置实践)。

38. 路由器与交换机区别

路由器 交换机
工作层 网络层(L3) 数据链路层(L2)
转发依据 IP 地址 MAC 地址
功能 跨网段路由、NAT、防火墙 同网段转发

二、Linux 系统管理

2. LVM 根分区扩容步骤

# 1. 新建分区
fdisk /dev/sda  → n → p → w

# 2. 创建 PV
pvcreate /dev/sda3

# 3. 扩展 VG
vgextend <vg_name> /dev/sda3

# 4. 扩展 LV
lvextend -L +10G /dev/<vg_name>/root

# 5. 扩展文件系统
xfs_growfs /          # XFS
resize2fs /dev/...     # ext4

4. RAID 级别对比

级别 最少盘 容量利用率 冗余 特点
RAID 0 2 100% 条带化、高性能、零冗余
RAID 1 2 50% 1 盘 镜像、读性能好
RAID 5 3 (N-1)/N 1 盘 分布式奇偶校验、读好写一般
RAID 10 4 50% 每组 1 盘 先镜像再条带、性能最好

5. 硬链接与软链接

硬链接 软链接
inode 相同 不同
跨文件系统
删原文件 仍可访问 失效
目录
ln source hard_link       # 硬链接
ln -s source soft_link    # 软链接

9. 进程管理

命令 用途
ps aux 查看所有进程
top 实时进程监控
kill -9 PID 强制终止
nohup cmd & 后台运行(忽略 HUP)
nice -n 10 cmd 以低优先级运行

13. Linux 文件权限

chmod 755 file   # rwxr-xr-x
chmod 644 file   # rw-r--r--
chown user:group file

权限数字:r=4, w=2, x=1。777 = rwxrwxrwx。

18. sed 与 awk 基础用法

# sed 替换
sed 's/old/new/g' file

# sed 删除空行
sed '/^$/d' file

# awk 按列输出
awk '{print $1, $3}' file

# awk 条件过滤
awk '$3 > 100 {print $1, $3}' file

20. 查看日志常用命令

tail -f /var/log/messages      # 实时跟踪
tail -n 100 /var/log/syslog    # 最后 100 行
grep 'ERROR' /var/log/app.log  # 过滤关键字
head -n 20 /var/log/boot.log   # 前 20 行

33. 查找大文件

# 当前目录下大于 100MB 的文件
find . -type f -size +100M

# 磁盘使用排序
du -sh /* 2>/dev/null | sort -rh | head -10

参见 linux-disk-space-troubleshooting(磁盘空间排查完整流程)。

34. 系统启动流程

BIOS → MBR → GRUB → Kernel → init/systemd → runlevel → rc.local

39. 查看系统发行版

cat /etc/os-release
lsb_release -a
cat /etc/redhat-release   # CentOS/RHEL

47. inode 与 block

  • inode: 存储文件元数据(权限、大小、时间、block 位置)
  • block: 存储文件实际数据
  • df -i 查看 inode 使用情况

三、网络服务与管理

22. DNS 解析流程

浏览器 → hosts 文件 → 本地 DNS 缓存 → DNS 服务器
→ 根域名服务器 → 顶级域服务器 → 权威 DNS → 返回 IP

常见记录类型:A(IPv4)、AAAA(IPv6)、CNAME(别名)、NS(DNS 服务器)、MX(邮件)、TXT(文本/SPF)。

参见 k8s-coredns-custom-domain-resolution(CoreDNS 自定义域名)。

23. Nginx 反向代理与负载均衡

upstream backend {
    server 10.0.0.1:8080 weight=3;
    server 10.0.0.2:8080 weight=1;
    server 10.0.0.3:8080 backup;
}

server {
    listen 80;
    location / {
        proxy_pass http://backend;
    }
}

负载算法:轮询、权重、ip_hash、least_conn。参见 nginx-config-pitfallsnginx-pre-launch-checklist

24. iptables 规则管理

三个默认链:INPUT、OUTPUT、FORWARD。三张常用表:filter(过滤)、nat(地址转换)、mangle(修改)。

# 允许端口 22
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 拒绝某个 IP
iptables -A INPUT -s 192.168.1.100 -j DROP

# 保存规则
iptables-save > /etc/iptables/rules.v4

参见 ssh-brute-force-protection-guide(fail2ban + iptables 防暴力破解)。

29. 网络故障排查工具

工具 用途 层级
ping 连通性测试 L3
traceroute 路由追踪 L3
nslookup/dig DNS 解析 L7
netstat/ss 连接状态 L4
tcpdump 抓包分析 L2-L7
curl HTTP 测试 L7
telnet 端口连通 L4

参见 network-troubleshooting-order(分层七步法)。


四、数据库与中间件

10. MySQL 主从复制原理

Master: 数据变更 → binlog
Slave:  IO Thread 读取 binlog → Relay Log
        SQL Thread 执行 Relay Log → 数据同步

参见 mysql-replication-guide(主从复制深度解析)。

11. MySQL 常见存储引擎

引擎 事务 锁级别 特点
InnoDB 行锁 默认引擎、支持外键、崩溃恢复
MyISAM 表锁 读快、不支持事务、易损坏

21. MySQL 忘记 root 密码

# 1. 停服并跳过授权表启动
mysqld_safe --skip-grant-tables &

# 2. 免密登录修改密码
mysql -u root
> FLUSH PRIVILEGES;
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

# 3. 正常重启
systemctl restart mysqld

41. MySQL 常用存储引擎对比 — MyISAM vs InnoDB

特性 MyISAM InnoDB
事务 ✅ (ACID)
行锁 ❌ (表锁)
外键
全文索引 ✅ (5.6+)
崩溃恢复
适用 读多写少 高并发写

43. MySQL 慢查询排查

-- 开启慢查询日志
SET GLOBAL slow_query_log = ON;
SET GLOBAL long_query_time = 2;

-- 查看慢查询
SHOW VARIABLES LIKE 'slow_query%';

-- 分析慢查询
EXPLAIN SELECT ...;

参见 mysql-slow-query-case-study(4.7s→23ms 优化案例)和 mysql-performance-config(性能调优配置)。


五、系统服务

6. systemd 管理服务

systemctl start nginx       # 启动
systemctl stop nginx        # 停止
systemctl restart nginx     # 重启
systemctl enable nginx      # 开机启动
systemctl status nginx      # 状态
systemctl list-units        # 列出所有单元

8. Shell 脚本基础

#!/bin/bash
# for 循环
for i in {1..10}; do echo $i; done

# if 判断
if [ -f /etc/nginx/nginx.conf ]; then
    echo "config exists"
fi

# case 分支
case $1 in
    start) systemctl start nginx ;;
    stop)  systemctl stop nginx ;;
esac

# 位置参数
echo "Script: $0, Arg1: $1, All: $@, Count: $#"

25. 正则表达式基础

^         # 行首
$         # 行尾
.         # 任意字符
*         # 零次或多次
+         # 一次或多次
[abc]     # 字符集
[^abc]    # 排除字符集
\d        # 数字
\w        # 单词字符

30. 进程前后台切换

command &         # 后台启动
ctrl+z            # 暂停当前进程
jobs              # 查看作业列表
fg %1             # 调到前台
bg %1             # 调到后台继续运行

六、虚拟化与容器

49. 虚拟化技术对比

类型 代表技术 特点
完全虚拟化 KVM, ESXI, Hyper-V 软件模拟硬件,隔离性好
半虚拟化 Xen 修改 Guest OS,性能较高
容器化 Docker 共享宿主机内核,轻量级

参见 docker-production-pitfalls(Docker 生产踩坑)和 docker-image-optimization(镜像优化)。

14. Docker 核心组件

组件 作用
Docker Daemon 管理容器、镜像、网络
Docker Client 命令行交互
Image 容器模板(分层构建)
Container 镜像的运行实例
Registry 镜像仓库

七、监控与运维

7. Zabbix 监控系统

核心概念:

  • 主机(Host): 被监控设备
  • 监控项(Item): 具体监控指标
  • 触发器(Trigger): 告警条件
  • 动作(Action): 告警后的操作
  • 模板(Template): 复用监控配置

参见 server-security-hardening-checklist(安全配置联动监控)。

40. 如何保证服务高可用

  • 集群部署 + 负载均衡
  • 主备切换(Keepalived/VRRP)
  • 数据库主从 + 自动故障转移
  • 定期备份 + 异地容灾
  • 监控告警 + 自动恢复

参见 keepalived-nginx-ha(Keepalived + Nginx 高可用)。

44. 备份策略

  • 全量备份: 完整数据备份,占空间大、耗时长
  • 增量备份: 只备份上次以来的变化,恢复慢
  • 差异备份: 备份上次全量以来的变化,折中方案
  • 原则:定期全量 + 每日增量/差异 + 异地存储 + 定期恢复演练

八、日常运维

26. 磁盘空间告警处理

# 快速定位大目录
du -sh /* 2>/dev/null | sort -rh | head -5

# 清理日志
find /var/log -name "*.log" -mtime +30 -delete

# 找被删除但占用的文件
lsof | grep deleted

参见 linux-disk-space-troubleshooting(完整清理流程)。

28. 服务器负载高排查

top                # 看进程 CPU
free -h            # 看内存
iostat -x 1        # 看 IO
vmstat 1           # 看整体

参见 server-performance-four-dimensions(五维排查)和 online-troubleshooting-checklist(四维速查清单)。

32. 服务器时间同步

# 手动同步
ntpdate ntp.aliyun.com

# 自动同步
systemctl enable chronyd
systemctl start chronyd
timedatectl set-ntp true

48. 禁止 root SSH 登录

# /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no    # 只用公钥

systemctl restart sshd

参见 ssh-connection-debugging-guidessh-brute-force-protection-guide

50. 线上配置修改规范

  1. 告知运维经理和相关开发人员
  2. 在测试环境验证并备份原配置
  3. 测试无误后修改生产环境
  4. 观察是否正常、是否有告警
  5. 完成配置更改后归档记录

参见 nginx-pre-launch-checklist(上线前检查清单方法论可迁移至此)。


关联页面

页面 关联点
devops-interview-guide 云原生/K8s 面试 59 题(互补覆盖)
k8s-interview-100-questions K8s 专项 100 题
online-troubleshooting-checklist 四维排查速查清单
server-performance-four-dimensions 五维性能排查框架
network-troubleshooting-order 网络分层七步排查法
linux-disk-space-troubleshooting 磁盘空间排查流程
nginx-config-pitfalls Nginx 配置踩坑指南
nginx-security-config-guide Nginx 安全配置
mysql-replication-guide MySQL 主从复制
mysql-slow-query-case-study MySQL 慢查询优化案例
docker-production-pitfalls Docker 生产踩坑
ssh-brute-force-protection-guide SSH 安全加固
keepalived-nginx-ha Nginx 高可用
linux-compression-tools-comparison
linux-raid-lvm-basics-guide Linux RAID 与 LVM 基础入门 — RAID 0/1/5/6/10 级别对比、LVM 分
linux-kernel-tuning-production 内核参数调优