返回首页
DevOps 技术面试指南 — 容器/云原生/内核 59 题
📅 创建于 2026-05-12
🔄 更新于 2026-05-19
📝 1209 字
DevOps 技术面试指南:容器、云原生与内核核心问题
本文整理了 59 个关于 Kubernetes、容器技术、云原生和 Linux 内核的核心问题及解答,
涵盖从基础概念到高级实践的各个方面,是 DevOps 工程师和云原生开发者的必备参考资料。
容器与镜像
Kubernetes
| # |
问题 |
一句话答案 |
详见 |
| 1 |
容器编排与 K8s 优势? |
自动化部署/扩展/管理;优势:自动扩缩、服务发现、存储编排、滚动更新、生态 |
k8s-troubleshooting-principles |
| 2 |
K8s RBAC? |
Role/ClusterRole 定义权限,RoleBinding/ClusterRoleBinding 分配权限 |
resource-rbac-scheduling-troubleshooting |
| 6 |
Prometheus 监控 K8s? |
Prometheus Operator + ServiceMonitor + Node Exporter + kube-state-metrics + 告警规则 |
— |
| 32 |
StatefulSet 和 DaemonSet? |
StatefulSet:有状态应用(稳定网络标识+持久存储);DaemonSet:每个节点一个 Pod |
k8s-statefulset-guide |
| 34 |
K8s 网络模型和 CNI? |
扁平网络:Pod 唯一 IP,Pod/节点间直接通信。常见:Calico(BGP)/Flannel(VXLAN)/Cilium(eBPF) |
cni-comparison |
| 35 |
K8s 集群性能优化? |
调整规模 + 调度策略 + HPA/VPA + etcd 优化 + 本地存储 + 网络插件 + 定期清理 |
k8s-resource-limits-configuration |
| 47 |
CNI + netns/veth/bridge 联动? |
Pod 独立 netns → veth pair 跨命名空间 → 网桥节点内通信 → 路由表跨节点转发。Calico BGP 优于 Flannel VXLAN |
cni-comparison |
| 50 |
iptables vs ipvs? |
iptables:规则链匹配(规模大效率低);ipvs:哈希表转发(效率高/支持会话保持)。kube-proxy mode 切换 |
service-troubleshooting |
| 57 |
APIServer 工作原理? |
请求→认证→授权→准入控制→etcd→缓存→返回。性能:SSD + 缓存 + etcd 集群 + watch 替代全量查询 |
— |
CI/CD 与 GitOps
| # |
问题 |
一句话答案 |
详见 |
| 5 |
CI/CD 概念与环节? |
CI:频繁集成+自动化测试;CD:自动部署。环节:提交→构建→测试→质量检查→镜像构建→部署 |
jenkins-multi-master-k8s-deployment |
| 18 |
GitOps 实现? |
Git 作为单一事实来源 → CI/CD 自动部署 → 控制器同步集群状态。工具:Argo CD / Flux |
— |
| 24 |
蓝绿部署 vs 金丝雀? |
蓝绿:两套环境一次性切流;金丝雀:逐步放量直至全量 |
k8s-rolling-update-pitfalls |
| 27 |
CI/CD 管道设计原则? |
快速反馈 + 自动化 + 可重复性 + 可扩展性 + 安全性 + 可观测性 |
— |
| 28 |
基础设施即代码(IaC)? |
用代码定义管理基础设施 → 声明式配置 + 版本控制 + 自动化部署。工具:Terraform / Ansible |
— |
云原生架构与服务网格
| # |
问题 |
一句话答案 |
| 19 |
服务网格概念? |
专门处理服务间通信的基础设施层,提供服务发现/负载均衡/流量管理/mTLS/可观测性 |
| 20 |
Istio 架构? |
数据平面(Envoy 代理)+ 控制平面(Pilot/Mixer/Citadel/Galley) |
| 22 |
云原生核心原则? |
容器化 + 微服务 + 持续交付 + IaC + 服务网格 + 声明式 API + 弹性可扩展 |
| 23 |
可扩展微服务架构? |
合理拆分 + API 网关 + 服务发现 + 异步通信 + 熔断限流 + 数据分片 + 自动化 |
| 30 |
微服务优缺点? |
优点:独立部署/技术栈灵活/故障隔离/团队自治;缺点:分布式复杂度/网络延迟/数据一致性 |
| 42 |
Service Mesh 高级特性? |
流量管理(A/B/蓝绿/金丝雀) + 熔断限流 + mTLS + 分布式追踪 + 策略执行 |
可观测性与监控
| # |
问题 |
一句话答案 |
| 7 |
ELK Stack? |
Elasticsearch(存储检索)+ Logstash(收集处理)+ Kibana(可视化) |
| 37 |
大规模可观测性系统? |
分布式追踪(Jaeger) + 集中日志(ELK/Loki) + 指标监控(Prometheus) + 告警 + 健康检查 + 根因分析 |
| 45 |
MLOps? |
模型版本控制 + 训练自动化 + 部署服务化 + 监控跟踪 + 更新回滚 + 数据版本管理 |
Linux 内核
| # |
问题 |
一句话答案 |
详见 |
| 8 |
Linux 系统性能优化? |
内核参数(sysctl) + 文件系统 + 内存管理(swap) + CPU(cgroups) + 网络参数 |
linux-kernel-tuning-production |
| 9 |
TCP/IP 协议栈分层? |
应用层(HTTP) → 传输层(TCP/UDP) → 网络层(IP) → 链路层(以太网) |
— |
| 10 |
网络故障排查? |
ping(连通) → traceroute(路由) → netstat(连接) → tcpdump(抓包) → 防火墙 |
network-troubleshooting-order |
| 48 |
cgroups 在 K8s 中的应用? |
CPU(cfs_period_us/cfs_quota_us) + 内存(memory.limit_in_bytes/OOM) + IO(blkio) + PID(pids.max)。v1 内存泄漏→升级 v2 + systemd 驱动 |
k8s-resource-limits-configuration |
| 49 |
namespace 在 Pod 中的作用? |
net(共享网络栈) + pid(独立进程空间) + mnt(独立挂载点) + user(独立用户ID)。Pod 内共享 net/ipc/uts,隔离 mnt/user/pid |
— |
| 52 |
TCP 协议栈优化+Pod 网络? |
缓冲区增大 + tcp_fastopen + BBR + Calico DSR + MTU 调整 + eBPF + SR-IOV |
linux-kernel-tuning-production |
| 53 |
SELinux/AppArmor 在 K8s 中? |
强制访问控制(MAC)限制 Pod 权限,防止容器逃逸。container_t 最小权限 + 禁止 privileged + auditd 监控 |
— |
| 54 |
containerd 与内核交互? |
镜像拉取 → overlay2 解压 → runc clone+namespace 创建 → execve 启动 init 进程。故障排查:journalctl + 内核模块 + overlay2 支持 |
— |
| 56 |
net.ipv4.ip_forward 作用? |
开启 IP 转发实现 Pod 跨节点通信。关闭→交叉节点 Pod 通信失败/CNI 异常。sysctl net.ipv4.ip_forward=1 |
— |
中间件
| # |
问题 |
一句话答案 |
详见 |
| 12 |
Redis 持久化机制? |
RDB(定期快照)+ AOF(追加写操作) |
redis-persistence-strategy |
| 13 |
Redis 性能优化? |
合适数据结构 + TTL + pipeline + 持久化策略 + 哨兵/集群 + 内存分配 |
redis-memory-optimization |
| 14 |
Kafka 架构原理? |
Producer → Broker(Topic/Partition/Replica) → Consumer。分区+副本=高吞吐+高可用 |
— |
| 15 |
Kafka 性能优化? |
合理分区 + 批量大小 + 压缩 + 消费者组 + 内存/缓冲区 + 序列化 |
— |
| 16 |
JVM 内存结构? |
堆(年轻代/老年代) + 方法区 + 栈 + PC + 本地方法栈 |
— |
| 17 |
JVM 性能优化? |
堆大小 + GC 选择 + GC 参数 + 内存泄漏 + 对象池 + 代码优化 |
— |
| 46 |
高可用数据库系统? |
复制同步 + 集群分片 + 自动故障转移 + 备份恢复 + 读写分离 + 连接池 + 监控 |
database-on-kubernetes-debate |
DevOps 流程与团队
| # |
问题 |
一句话答案 |
| 11 |
高可用架构? |
多副本 + 负载均衡 + 备份恢复 + 自动故障转移 + 地理分布式 + 冗余设计 |
| 25 |
DevSecOps? |
安全左移 + 自动化安全测试(SAST/DAST/SCA) + 安全审查 + 容器安全 + 监控响应 |
| 26 |
灾难恢复规划? |
RTO/RPO 定义 + 定期备份 + 异地备份 + 恢复演练 + 应急计划 + 团队 |
| 31 |
自动化运维体系? |
策略目标 → 工具选择(Ansible/Terraform/Jenkins) → 标准化 → CI/CD → 监控告警 → 脚本 |
| 33 |
多集群管理? |
kubectl 多上下文 + 集群联邦(Karmada) + Rancher/OpenShift + 跨集群服务发现 + 统一监控 |
| 38 |
GitOps 挑战? |
配置复杂性 + 权限控制 + 状态一致性 + 大规模性能 + 团队文化转变 |
| 39 |
跨云 DevOps? |
云无关工具(Terraform/K8s) + 统一 CI/CD + 标准化配置 + 跨云监控 + 统一安全策略 |
| 40 |
大规模容器编排挑战? |
集群规模/资源调度/网络/存储/服务发现/安全/可观测性/维护 |
| 41 |
弹性伸缩系统? |
HPA + VPA + Cluster Autoscaler + 冷却期 + 预测性伸缩 + 应用级弹性 |
| 43 |
大数据 DevOps? |
Airflow 自动化 + 数据质量监控 + 版本控制 + 集群管理 + 安全合规 + 备份恢复 |
| 44 |
DevOps 团队协作? |
清晰角色 + 敏捷文化 + 协作工具 + 自动化 + 站会 + 知识共享 + 跨职能 + 持续反馈 |
| 59 |
K8s 安全实践? |
零信任 + RBAC + NetworkPolicy + 镜像安全 + 机密管理(Vault) + TLS + 运行时安全 + 审计合规 |
关联页面