150、运维初级面试题精选
2000/6/11大约 3 分钟
运维初级面试题精选
本清单针对运维初级岗位整理 15 道常见题,并给出追问与考察重点,覆盖系统基础、自动化脚本与故障排查能力。
系统基础
Linux 中查看磁盘、内存、CPU、网络状态的常用命令分别是什么?请写出示例。
- 追问:这些命令如何结合使用判断系统瓶颈?
- 核心考察:top、free、df、iostat、sar 等命令熟练度。
如何使用 crontab 配置每天凌晨 2 点执行备份脚本?
- 追问:如何防止重复执行或任务失败未告警?
- 核心考察:定时任务语法、日志记录、告警策略。
进程与线程的区别是什么?如何查看某进程的子进程关系?
- 追问:如何限制某个服务的 CPU 占用?
- 核心考察:ps、pstree、ulimit、cgroups。
描述 TCP 三次握手和四次挥手的过程,并指出可能的异常状态。
- 追问:如何抓包定位握手失败?
- 核心考察:网络基础、抓包分析、超时重传。
Nginx 返回 502 错误时,你会检查哪些日志和配置项?
- 追问:如何快速区分 upstream 问题还是配置问题?
- 核心考察:错误日志、访问日志、upstream 状态。
自动化脚本
编写一个 shell 脚本检测指定端口是否开放,异常时输出提示。
- 追问:如何将脚本结果写入日志并告警?
- 核心考察:Shell 语法、netstat/curl 检查、日志处理。
如何利用 Ansible 在多台主机上批量安装某软件?
- 追问:Playbook 应如何组织变量与角色?
- 核心考察:Ansible 基础、幂等执行、YAML 配置。
说明配置 SSH 免密登录的步骤并写出具体命令。
- 追问:如何限制免密登录的权限范围?
- 核心考察:ssh-keygen、authorized_keys、安全策略。
给出一个使用 sed/awk 批量替换配置项的示例脚本。
- 追问:如何保证替换操作的可回滚?
- 核心考察:文本处理、备份策略、验证步骤。
Windows 与 Linux 下定时任务实现方式有何不同?
- 追问:如何统一两种平台的任务管理?
- 核心考察:schtasks、cron、跨平台工具。
故障排查
服务器 CPU 飙高时,你的排查顺序是什么?
- 追问:定位到 Java 进程后如何进一步分析?
- 核心考察:监控指标、top、Profiler 使用。
磁盘写满导致服务不可用时的处理流程如何?
- 追问:如何预防磁盘写满?
- 核心考察:日志清理、磁盘扩容、报警阈值。
如何定位 DNS 解析异常?请给出 dig/nslookup 使用示例。
- 追问:如何处理 DNS 缓存污染?
- 核心考察:网络诊断、缓存刷新、权威 DNS。
常见网络诊断工具(ping、traceroute、mtr)应该如何组合使用?
- 追问:如何通过结果判断链路是否拥塞?
- 核心考察:网络排障、延迟分析、丢包定位。
应用启动失败时通常需要查看哪些日志和配置?
- 追问:如何在启动脚本中加入自检机制?
- 核心考察:进程日志、系统日志、配置校验。