返回首页

DevOps 技术面试指南 — 容器/云原生/内核 59 题

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

DevOps 技术面试指南:容器、云原生与内核核心问题

本文整理了 59 个关于 Kubernetes、容器技术、云原生和 Linux 内核的核心问题及解答, 涵盖从基础概念到高级实践的各个方面,是 DevOps 工程师和云原生开发者的必备参考资料。


容器与镜像

# 问题 一句话答案 详见
3 Docker 容器和虚拟机的区别? 容器共享宿主机内核(轻量/启动快),虚拟机有独立内核(隔离性好/占用多) docker-production-pitfalls
4 如何优化 Docker 镜像大小? 轻量基础镜像 + 多阶段构建 + 清理临时文件 + 合并 RUN + .dockerignore docker-image-optimization
21 如何实现容器安全? 官方基础镜像 + 最小化 + 漏洞扫描 + 非 root + 只读文件系统 + 限制权限 + 网络策略 server-security-hardening-checklist
51 Pod hostPath 权限问题? 宿主机权限 700 vs 非 root Pod → Permission denied;用 securityContext.runAsUser + fsGroup 解决 pod-troubleshooting
55 overlay2 文件系统原理? lowerdir(镜像只读) + upperdir(容器可写) + merged(根文件系统);COW 机制;分层膨胀→日志优化+清理 docker-image-optimization

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 + 运行时安全 + 审计合规

关联页面

页面 关联范围
k8s-interview-100-questions K8s 面试 100 题(同伴 Q&A 页,互补覆盖)
docker-image-optimization Docker 镜像优化核心方法论
docker-production-pitfalls Docker 生产环境踩坑指南
k8s-resource-limits-configuration 资源限制/cgroups 机制
k8s-statefulset-guide StatefulSet 完全指南
cni-comparison CNI 网络插件对比
k8s-troubleshooting-principles K8s 排障原则
resource-rbac-scheduling-troubleshooting RBAC/配额/调度
server-security-hardening-checklist 服务器安全加固
linux-kernel-tuning-production 内核参数调优
redis-persistence-strategy Redis 持久化机制
redis-memory-optimization Redis 内存优化
network-troubleshooting-order 网络排障七步法
database-on-kubernetes-debate 数据库上 K8s 选型
k8s-rolling-update-pitfalls 滚动更新/蓝绿金丝雀
ops-interview-50-questions 运维基础面试 50 题(经典 Linux/网络/DB 考题,互补覆盖)
terraform-production-guide Terraform IaC 实战(安装/核心概念/阿里云 VPC+ECS/生产级实践)
jenkins-ansible-integration-guide Jenkins + Ansible 集成实战指南 — Ubuntu 24.04 环境安装、插件配置、
k8s-load-balancing-deep-practice K8s 负载均衡深度实践(Service 数据面/高并发流量治理/面试核心考点)