DevOps 面试题大全(十·上):系统架构设计 25 题详解
前言
系统架构设计是 DevOps 工程师的高级技能,需要理解分布式系统、高可用、可扩展性等核心概念。本文整理 50 道架构面试题。
一、基础概念题(1-15 题)
1. 什么是系统架构?
系统的组织结构,包括组件、关系、原则和指导方针,决定系统如何工作。
2. CAP 定理
- Consistency - 一致性
- Availability - 可用性
- Partition Tolerance - 分区容错性
- 三者最多取其二
3. BASE 理论
- Basically Available - 基本可用
- Soft state - 软状态
- Eventually consistent - 最终一致性
4. 负载均衡算法
- Round Robin - 轮询
- Least Connections - 最少连接
- IP Hash - IP 哈希
- Weighted - 加权
- 一致性哈希
5. 缓存策略
- Cache-Aside - 旁路缓存
- Read-Through - 读取穿透
- Write-Through - 写入穿透
- Write-Behind - 异步写入
6. 数据库复制模式
- 主从复制(Master-Slave)
- 主主复制(Master-Master)
- 半同步复制
- 多主复制
7. 分片策略
- 水平分片(按行)
- 垂直分片(按列)
- 范围分片
- 哈希分片
- 地理分片
8. 消息队列作用
- 异步处理
- 解耦服务
- 流量削峰
- 顺序保证
9. 常见消息队列
- Kafka - 高吞吐日志
- RabbitMQ - 企业级消息
- Redis Streams - 轻量级
- Pulsar - 云原生
- SQS - AWS 托管
10. 微服务架构特点
- 服务拆分
- 独立部署
- 技术多样性
- 去中心化治理
- 容错隔离
11-15. 更多基础题
| 题号 | 题目 | 要点 |
|---|---|---|
| 11 | 什么是 CQRS? | 命令查询职责分离 |
| 12 | 事件溯源是什么? | 状态变更存事件 |
| 13 | 什么是 Saga 模式? | 分布式事务管理 |
| 14 | API Gateway 作用? | 统一入口,路由聚合 |
| 15 | 什么是服务网格? | 基础设施层服务通信 |
二、进阶实战题(16-25 题)
16. 高可用架构设计
- 多可用区部署
- 自动故障转移
- 健康检查
- 冗余设计
- 备份恢复
17. 可扩展性策略
- 水平扩展(加机器)
- 垂直扩展(加资源)
- 读写分离
- 缓存层
- CDN 加速
18. 数据库选型原则
- 关系型:MySQL/PostgreSQL(事务)
- 文档型:MongoDB(灵活 schema)
- 键值型:Redis(缓存)
- 列族:Cassandra(写多)
- 图数据库:Neo4j(关系)
19. 缓存架构
# 多层缓存 Client → CDN → LB → App → Redis → DB # 缓存穿透解决 - 布隆过滤器 - 缓存空值 # 缓存雪崩解决 - 随机过期时间 - 高可用集群 # 缓存击穿解决 - 互斥锁 - 永不过期
20. 分布式 ID 生成
- UUID - 简单但无序
- 数据库自增 - 性能瓶颈
- Redis INCR - 高性能
- Snowflake - 分布式唯一
- Leaf - 美团方案
21. 限流算法
- 固定窗口
- 滑动窗口
- 令牌桶
- 漏桶
- 自适应限流
22. 熔断降级
- Hystrix - Netflix
- Resilience4j - 轻量级
- Sentinel - 阿里
- 状态:关闭/打开/半开
23. 分布式事务方案
- 2PC - 两阶段提交
- 3PC - 三阶段提交
- TCC - Try/Confirm/Cancel
- Saga - 长事务
- 本地消息表
- 最大努力通知
24. 数据一致性级别
- 强一致性
- 弱一致性
- 最终一致性
- 因果一致性
- 会话一致性
25. 监控架构设计
- 指标收集(Prometheus)
- 日志聚合(ELK)
- 链路追踪(Jaeger)
- 告警通知(Alertmanager)
- 可视化(Grafana)
下篇预告:26-50 题,涵盖云架构、故障排查、最佳实践等
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。





