大厂裁员潮下的运维底牌:这20题不会=淘汰!

运维网工 2025-06-30 10:24:04
本文涵盖Linux系统、网络协议、安全防护、自动化运维等核心领域,结合企业真实生产场景设计题目与评分标准。高级运维工程师至少掌握15题以上方可达标。

 

一、系统与性能优化

 

 

1、生产服务器CPU使用率100%,请描述完整的排查流程(需包含具体命令与优先级判断)

 

答案要点:

 

top/htop定位高负载进程 → pidstat -t 1查看线程级消耗 → perf top分析热点函数 → strace -p PID追踪系统调用 → 结合业务日志判断异常(如死循环、阻塞IO)。

 

 

2、如何实现Linux系统内存的精细化监控?请解释buffer与cache的区别及调优策略

 

答案要点:

 

free -m显示内存分布,buffer(块设备缓存)可优先释放,cache(文件缓存)根据业务需求调整(如vm.vfs_cache_pressure);使用slabtop监控内核对象占用。

 

 

3、磁盘IO瓶颈如何定位?请给出iostat关键指标解读

 

答案要点:

 

iostat -x 1关注%util(>70%为瓶颈)、await(响应时间)、svctm(服务时间);结合iotop定位进程,排查日志滚动、数据库全表扫描等问题。

 

二、网络与安全

 

 

4、某服务端口无法访问,请描述从本机到跨机房链路的逐层排查步骤

 

答案要点:

 

本地进程检查(netstat -tunlp)→ 防火墙规则(iptables -nL)→ 路由跟踪(traceroute)→ 跨机房专线状态(运营商协同排查)。

 

 

5、如何防御TCP SYN Flood攻击?请解释syn cookie机制实现原理

 

答案要点:

 

启用net.ipv4.tcp_syncookies=1,攻击时内核生成哈希(源/目标IP+端口+序列号)替代半连接队列,客户端ACK验证后重建连接。

 

 

6、请画出iptables三表五链完整流程图,并编写防止SSH暴力破解的规则

 

答案要点:

 

流程图需包含raw→mangle→nat→filter表及PREROUTING/INPUT等链;规则示例:

 

iptables -A INPUT -p tcp --dport 22 -m recent --name SSH --set  

iptables -A INPUT -p tcp --dport 22 -m recent --name SSH --update --seconds 60 --hitcount 5 -j DROP  

 

三、高可用架构

 

 

7、设计跨地域双活架构需考虑哪些核心问题?(至少列出5点)

 

答案要点:

 

数据一致性(同步/异步复制)、流量调度(DNS+CDN)、容灾切换自动化、延迟敏感业务处理、监控告警全覆盖。

 

 

8、Keepalived脑裂场景如何预防?给出解决方案与检测脚本

 

答案要点:

 

多链路心跳检测 + 第三方仲裁(如ZooKeeper);脚本示例:

 

ping -c 3 网关IP || systemctl stop keepalived  

 

 

9、Nginx动态扩缩容时如何保证长连接业务无损?

 

答案要点:

 

使用nginx -s reload平滑重启 → worker进程优雅退出(worker_shutdown_timeout)→ 反向代理层设置Connection: keep-alive超时。

 

四、自动化与DevOps

 

 

10、Ansible如何实现万级服务器并发控制?解释forks与serial参数差异

 

答案要点:

 

ansible.cfg中设置forks=500控制全局并发;serial在playbook中定义分批执行(如滚动更新)。

 

 

11、设计CI/CD流水线时,如何避免Docker镜像漏洞进入生产环境?

 

答案要点:

 

流程中集成Trivy/Clair镜像扫描 → 设置阻断策略(高危漏洞CVE评分>7自动终止)→ 基础镜像签名校验。

 

 

12、Prometheus AlertManager如何实现告警分级与动态路由?

 

答案要点:

 

配置routes匹配标签(如severity: critical)→ 分级通知(企业微信/短信/电话)→ 抑制规则避免重复告警。

 

五、容器与云原生

 

 

13、Kubernetes Pod频繁OOMKilled,如何定位根因?(需包含eBPF工具使用)

 

答案要点:

 

kubectl describe pod查看limits → kubectl top pod监控实时消耗 → 使用BCC工具memleak追踪内存泄漏。

 

 

14、如何优化K8s集群网络性能?请对比Calico、Cilium方案差异

 

答案要点:

 

Calico基于iptables/BPF实现策略,适合大规模集群;Cilium原生BPF支持服务网格加速,延迟降低30%。

 

 

15、解释Istio数据平面Sidecar注入原理及流量劫持过程

 

答案要点:

 

准入控制器(MutatingWebhook)注入init容器(设置iptables规则),将进出Pod流量重定向到Envoy代理。

 

六、故障排查实战

 

 

16、线上数据库突发慢查询,如何在不重启服务的情况下快速止血?

 

答案要点:

 

SHOW PROCESSLIST定位问题SQL → KILL QUERY ID终止执行 → 临时调整max_execution_time限制。

 

 

17、服务器日志被恶意删除,如何恢复并追踪攻击者?

 

答案要点:

 

恢复:ext4文件系统使用extundelete,xfs用xfs_irecover → 追踪:审计日志(auditd)或登录历史(lastb)。

 

 

18、如何从Java堆转储文件(heapdump)中分析内存泄漏?

 

答案要点:

 

MAT工具解析dominant_tree → 查找重复对象/未释放集合 → 关联GC Root引用链定位代码位置。

 

七、进阶架构设计

 

 

19、设计亿级日志采集系统需考虑哪些核心组件?(需包含技术选型理由)

 

答案要点:

 

采集层(Filebeat轻量级)→ 传输层(Kafka高吞吐)→ 存储层(Elasticsearch实时检索)+ 降级策略(冷热分层)。

 

 

20、如何实现混合云环境下的统一监控?(至少包含3种技术方案)

 

答案要点:

 

方案1:Prometheus联邦集群 + Thanos全局查询 → 方案2:Telegraf+InfluxDB跨区域同步 → 方案3:商业方案(Datadog/Nagios XI)。

 

评分标准

 

  • 初级(答对<10题):需加强系统原理与实战经验

  • 中级(答对10-15题):可独立负责模块运维

  • 高级(答对>15题):具备架构设计与疑难故障处理能力

 

作者丨北京二锅头
来源丨公众号:运维网工(ID:gh_b3b43949212c)
dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn
最新评论
访客 2024年04月08日

如果字段的最大可能长度超过255字节,那么长度值可能…

访客 2024年03月04日

只能说作者太用心了,优秀

访客 2024年02月23日

感谢详解

访客 2024年02月20日

一般干个7-8年(即30岁左右),能做到年入40w-50w;有…

访客 2023年08月20日

230721

活动预告