一、系统与性能优化
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题):具备架构设计与疑难故障处理能力
如果字段的最大可能长度超过255字节,那么长度值可能…
只能说作者太用心了,优秀
感谢详解
一般干个7-8年(即30岁左右),能做到年入40w-50w;有…
230721