文章目录
-
- [第一章 计算机系统基础](#第一章 计算机系统基础)
-
- [1.1 计算机组成与体系结构](#1.1 计算机组成与体系结构)
- [1.2 操作系统核心概念](#1.2 操作系统核心概念)
- [第二章 软件工程基础](#第二章 软件工程基础)
-
- [2.1 软件开发模型](#2.1 软件开发模型)
- [2.2 需求工程](#2.2 需求工程)
- [2.3 软件设计基础](#2.3 软件设计基础)
- [第三章 系统架构设计理论](#第三章 系统架构设计理论)
- [第四章 分布式系统架构](#第四章 分布式系统架构)
-
- [4.1 分布式基础理论](#4.1 分布式基础理论)
- [4.2 分布式协调与一致性](#4.2 分布式协调与一致性)
- [4.3 分布式事务](#4.3 分布式事务)
- [第五章 系统可靠性设计](#第五章 系统可靠性设计)
-
- [5.1 可靠性指标](#5.1 可靠性指标)
- [5.2 容错技术](#5.2 容错技术)
- [5.3 灾难恢复](#5.3 灾难恢复)
- [第六章 系统性能设计](#第六章 系统性能设计)
- [第七章 软件架构评估](#第七章 软件架构评估)
-
- [7.1 评估方法论](#7.1 评估方法论)
- [7.2 质量属性战术](#7.2 质量属性战术)
- [第八章 新兴架构技术](#第八章 新兴架构技术)
-
- [8.1 微服务架构](#8.1 微服务架构)
- [8.2 云原生架构](#8.2 云原生架构)
- [8.3 Serverless架构](#8.3 Serverless架构)
- [第九章 安全架构设计](#第九章 安全架构设计)
-
- [9.1 安全设计原则](#9.1 安全设计原则)
- [9.2 加密技术应用](#9.2 加密技术应用)
- [第十章 架构师职业道德](#第十章 架构师职业道德)
-
- [10.1 职业责任](#10.1 职业责任)
- 各章节分值分布预测
- 备考建议
第一章 计算机系统基础
1.1 计算机组成与体系结构
重点内容:
- 冯·诺依曼体系结构:五大部件(运算器、控制器、存储器、输入设备、输出设备)
- CPU性能指标:主频、CPI、MIPS、MFLOPS计算公式
- 存储器层次结构:Cache映射方式(直接映射、组相联、全相联)
- 指令系统:CISC vs RISC特点对比
必考公式:
CPU执行时间 = 指令数 × CPI × 时钟周期时间
Cache命中率 = 命中次数 / 总访问次数
1.2 操作系统核心概念
重点考点:
- 进程管理:进程状态转换、PCB结构、调度算法(FCFS、SJF、优先级、时间片轮转)
- 存储管理:页式、段式、段页式存储对比
- 文件系统:文件分配方式(连续、链接、索引)
- 死锁:必要条件、预防策略、银行家算法
第二章 软件工程基础
2.1 软件开发模型
重点模型:
1. 瀑布模型:适用需求明确的项目
2. 增量模型:分批次交付
3. 螺旋模型:风险驱动,包含风险分析
4. 敏捷开发:迭代式,强调客户参与
2.2 需求工程
核心考点:
- 需求分类:功能需求、非功能需求、设计约束
- 需求获取技术:访谈、问卷、原型法
- 需求分析模型:数据流图(DFD)、实体关系图(ERD)
- 需求验证:评审检查单内容
2.3 软件设计基础
设计原则重点:
- 模块化设计:高内聚、低耦合的具体体现
- 信息隐藏:接口与实现分离
- 抽象化:过程抽象、数据抽象
第三章 系统架构设计理论
3.1 软件架构概念
官方定义重点:
- 架构组成:组件、连接器、配置、约束
- 架构视图 :4+1视图模型详解
- 逻辑视图:功能分解
- 开发视图:静态组织
- 进程视图:并发同步
- 物理视图:部署拓扑
- 场景视图:用例驱动
3.2 架构风格与模式
重点风格分类:
数据流风格
- 管道-过滤器:Unix shell、编译器
- 批处理序列:传统数据处理系统
调用返回风格
- 主程序-子程序:结构化编程
- 面向对象:对象+消息传递
- 分层架构:OSI七层模型、TCP/IP协议栈
独立组件风格
- 进程通信:客户端-服务器
- 事件系统:发布-订阅模式
虚拟机风格
- 解释器:规则引擎、虚拟机
- 规则基系统:专家系统
3.3 架构描述语言
重点标准:
- ADL核心要素:组件、连接器、接口、配置
- U架构图:组件图、部署图、序列图
第四章 分布式系统架构
4.1 分布式基础理论
重点定理:
- CAP定理:一致性、可用性、分区容错性三选二
- BASE理论:基本可用、软状态、最终一致性
- FLP不可能定理:异步系统中确定性共识算法的不可能性
4.2 分布式协调与一致性
重点协议:
Paxos算法:
- 角色:Proposer、Acceptor、Learner
- 阶段:Prepare阶段、Accept阶段
- 应用:Chubby锁服务
Raft算法:
- 子问题:领导选举、日志复制、安全性
- 状态:Leader、Follower、Candidate
4.3 分布式事务
解决方案对比:
| 方案 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 2PC | 强一致性 | 同步阻塞、单点故障 | 数据库集群 |
| 3PC | 减少阻塞 | 实现复杂 | 高可用要求 |
| TCC | 高性能 | 业务侵入性强 | 电商交易 |
| Saga | 长事务支持 | 补偿逻辑复杂 | 业务流程 |
第五章 系统可靠性设计
5.1 可靠性指标
重点计算公式:
可用性 = MTTF / (MTTF + MTTR) × 100%
可靠性 = e^(-λt) # λ为失效率
年故障时间 = (1 - 可用性) × 365 × 24 × 3600
5.2 容错技术
重点机制:
- 冗余设计:硬件冗余、软件冗余、时间冗余
- 检查点技术:回滚恢复机制
- N版本编程:多样性冗余
5.3 灾难恢复
RTO/RPO概念:
- RTO(恢复时间目标):业务中断可接受时间
- RPO(恢复点目标):数据丢失可接受量
第六章 系统性能设计
6.1 性能指标体系
重点指标:
- 时间指标:响应时间、吞吐量、周转时间
- 资源指标:CPU利用率、内存使用率、I/O吞吐率
- 容量指标:并发用户数、数据处理量
6.2 性能优化技术
分层优化重点:
应用层优化
java
// 缓存优化示例
@Cacheable(key = "#id", unless = "#result == null")
public User findById(Long id) {
return userRepository.findById(id);
}
// 连接池配置
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.minimum-idle=5
数据库优化
- 索引策略:B+树索引、哈希索引、覆盖索引
- 查询优化:EXPLAIN分析、避免SELECT *
- 分库分表:水平分片、垂直分片策略
第七章 软件架构评估
7.1 评估方法论
重点方法:
ATAM(架构权衡分析方法)
评估步骤:
- 场景收集:识别质量属性需求
- 架构方法分析:评估战术对质量属性的影响
- 敏感点识别:找出关键决策点
- 权衡分析:不同质量属性间的取舍
SAAM(软件架构分析方法)
应用场景:架构可修改性评估
7.2 质量属性战术
重点战术分类:
可用性战术
- 错误检测:心跳机制、异常监控
- 错误恢复:投票机制、主动冗余
- 错误预防:事务机制、进程监控
性能战术
- 资源需求:减少处理事件数量
- 资源管理:引入并发、维持数据副本
- 资源仲裁:调度策略(FIFO、固定优先级)
第八章 新兴架构技术
8.1 微服务架构
重点特征:
- 服务拆分原则:单一职责、自治性、可独立部署
- 服务通信:RESTful API、gRPC、消息队列
- 服务治理:服务发现、配置管理、熔断限流
8.2 云原生架构
核心概念:
容器化:Docker镜像管理
编排:Kubernetes Pod/Service/Deployment
服务网格:Istio流量管理
不可变基础设施:版本化部署
8.3 Serverless架构
重点特性:
- 事件驱动:函数即服务(FaaS)
- 按需计费:执行时间计量
- 无状态设计:状态外部化存储
第九章 安全架构设计
9.1 安全设计原则
重点原则:
- 最小权限原则:按需授权
- 纵深防御:多层安全控制
- 安全默认值:默认拒绝策略
9.2 加密技术应用
重点算法:
- 对称加密:AES、DES应用场景
- 非对称加密:RSA密钥交换
- 哈希算法:SHA-256、MD5(已不安全)
第十章 架构师职业道德
10.1 职业责任
重点内容:
- 技术决策责任:架构选择的技术影响评估
- 团队协作:知识传递、技术指导
- 持续学习:技术跟踪、能力提升
各章节分值分布预测
| 章节 | 选择题分值 | 案例题概率 | 论文相关度 |
|---|---|---|---|
| 第一章 | 8-10分 | 低 | 低 |
| 第二章 | 10-12分 | 中 | 中 |
| 第三章 | 12-15分 | 高 | 高 |
| 第四章 | 10-12分 | 高 | 高 |
| 第五章 | 6-8分 | 中 | 中 |
| 第六章 | 8-10分 | 高 | 高 |
| 第七章 | 5-7分 | 高 | 中 |
| 第八章 | 10-12分 | 高 | 高 |
| 第九章 | 6-8分 | 中 | 中 |
| 第十章 | 2-3分 | 低 | 低 |
备考建议
重点章节学习顺序
- 第一梯队:第三、四、六、八章(架构核心)
- 第二梯队:第二、七章(软件工程与评估)
- 第三梯队:第一、五、九章(基础与专项)
- 第四梯队:第十章(职业道德)
官方教程使用技巧
- 精读重点:第三、四、六章需要反复阅读
- 实践结合:每个架构概念联系实际项目经验
- 习题巩固:完成每章后的思考题和练习题
- 案例积累:收集各章节的典型案例分析
注:本重点解析基于最新版官方教程,具体学习时请以实际教程章节为准。