一、系统可靠性计算
几乎每年 1-2 道选择题必算1.1 串联系统
R = R₁ × R₂ × ... × Rₙ
任何一个部件失效,系统即失效。可靠度相乘。
1.2 并联系统
R = 1 - (1-R₁)(1-R₂)...(1-Rₙ)
全部部件同时失效,系统才失效。先算全失败概率,再用 1 减。
特殊:n 个相同可靠度 R₀ 的部件并联 → R = 1 - (1-R₀)^n
1.3 串并联混合系统
先局部(并联部分算出一个等价可靠度),再全局(串联相乘)。从最内层括号开始算。
1.4 N 模冗余系统
N 个相同部件,至少 r 个正常则系统正常。
R = Σ C(N,i) × R₀^i × (1-R₀)^(N-i) (i 从 r 到 N)
示例:3 模冗余(TMR),3 个 R₀=0.9 的部件,至少 2 个正常。R = C(3,2)×0.9²×0.1 + C(3,3)×0.9³ = 3×0.81×0.1 + 0.729 = 0.243 + 0.729 = 0.972
常见变体:三模冗余(3 选 2)、五模冗余(5 选 3)。
1.5 可靠性核心指标
| 指标 | 全称 | 含义 | 关系 |
|---|---|---|---|
| MTBF | Mean Time Between Failures | 平均无故障时间 | MTBF = 1/λ |
| MTTF | Mean Time To Failure | 平均失效时间 | 不可修复系统 |
| MTTR | Mean Time To Repair | 平均修复时间 | 可修复系统 |
| λ | Failure Rate | 失效率 | 单位时间故障数 |
可用性 = MTBF / (MTBF + MTTR)
真题陷阱:MTBF 和 MTTR 单位要一致(都是小时 or 分钟)。给定 MTBF=2000h, MTTR=2h → 可用性=2000/2002≈99.9%。
二、操作系统深度考点
选择题高频 + 计算题2.1 进程调度算法
| 算法 | 规则 | 优点 | 缺点 | 是否抢占 |
|---|---|---|---|---|
| FCFS 先来先服务 | 按到达顺序执行 | 简单公平 | 长作业在前则短作业等很久 | 否 |
| SJF/SPF 短作业优先 | 预计运行时间最短优先 | 平均等待时间最短 | 长作业可能饥饿,需预知运行时间 | 均可 |
| HRRN 高响应比优先 | 响应比 = (等待+运行)/运行 | 兼顾长短作业 | 每次调度需计算 | 否 |
| RR 时间片轮转 | 固定时间片轮流执行 | 公平适合交互 | 时间片大小需权衡 | 是 |
| 多级反馈队列 | 多个优先级队列,高优先短时间片 | 兼顾交互和批处理 | 参数配置复杂 | 是 |
HRRN 响应比 = (等待时间 + 要求服务时间) / 要求服务时间
真题考点:给到达时间和服务时间表,求各算法的完成时间、周转时间、带权周转时间。
公式:周转时间 = 完成时间 - 到达时间;带权周转时间 = 周转时间 / 服务时间
2.2 页面置换算法
缺页率计算步骤:① 明确分配给进程的物理块数 ② 按访问序列逐一模拟 ③ 统计缺页中断次数。
| 算法 | 淘汰规则 | Belady 异常 | 实现方式 |
|---|---|---|---|
| OPT 最佳置换 | 淘汰未来最长时间不再访问的页 | 无 | 理论最优,无法实现 |
| FIFO 先进先出 | 淘汰最先进入的页 | 有! | 队列 |
| LRU 最近最久未用 | 淘汰最长时间未被访问的页 | 无 | 栈/寄存器 |
| CLOCK 时钟算法 | 循环扫描访问位,0 淘汰 1 变 0 | 无 | 循环队列+访问位 |
| 改进 CLOCK | 同时考虑访问位和修改位 | 无 | 两轮扫描 |
缺页率 = 缺页次数 / 总访问次数 × 100%
Belady 异常:FIFO 算法中,增加物理块数反而导致缺页次数增加——只有 FIFO 有此异常。
2.3 磁盘臂调度算法
给定当前磁头位置和请求序列,计算平均寻道长度。
| 算法 | 规则 | 特点 |
|---|---|---|
| FCFS | 按请求先后顺序 | 简单但可能大幅摆动 |
| SSTF 最短寻道优先 | 每次都去最近的 | 吞吐高但远处可能饥饿 |
| SCAN 电梯算法 | 单向走到头再反向 | 较公平 |
| CSCAN 循环扫描 | 单向走到头后快速回起点 | 更均匀 |
| LOOK / CLOOK | SCAN/CSCAN 变体,到最远请求即回头 | 减少无用移动 |
2.4 文件索引分配计算
场景:磁盘块大小固定,文件通过索引块记录数据块地址。
直接索引:索引项直接指向数据块 → 10 个直接索引项 + 块大小 4KB → 直接寻址 40KB。
一级间接索引:索引项指向一个索引块,块内每个地址指向数据块 → 块大小4KB / 地址4B = 1024 个数据块 → 4MB。
二级间接:类似地再套一层 → 1024 × 1024 × 4KB = 4GB。
最大文件大小 = (直接 + 一级间接 + 二级间接 + 三级间接) × 块大小
2.5 位示图管理磁盘空间
位示图中每个 bit 代表一个磁盘块,0 空闲 1 已用。给定位示图大小和磁盘容量,可计算块大小。
磁盘容量 = 位示图位数 × 块大小 = 位示图字数 × 字长 × 块大小
真题:位示图 1024 字 × 32 位 = 32768 块,磁盘容量 1GB → 块大小 = 1GB / 32768 = 32KB。
已知块号 K,求位示图中位置:字号 = K / 字长,位号 = K % 字长。
三、计算机组成原理深度考点
选择题高频3.1 IEEE 754 浮点数
单精度(float): 1 位符号 + 8 位阶码(偏移 127) + 23 位尾数(隐藏 1)
双精度(double): 1 位符号 + 11 位阶码(偏移 1023) + 52 位尾数
真值 = (-1)^S × (1.M) × 2^(E - 偏移)
阶码全 0 → 非规格化数(隐藏位为 0);阶码全 1 + 尾数全 0 → ±∞;阶码全 1 + 尾数非全 0 → NaN。
真题:给定十进制数,求 IEEE754 十六进制表示;或反过来。
3.2 流水线计算
流水线周期 = max{各段执行时间}
流水线执行时间(理论) = 第一条指令完整时间 + (n-1) × 流水线周期
加速比 = 顺序执行时间 / 流水执行时间
吞吐率 = n / 流水执行时间
例题:一条指令分 4 段,各段 2ns, 3ns, 2ns, 1ns。流水线周期 = max{2,3,2,1} = 3ns。100 条指令流水执行时间 = (2+3+2+1) + (100-1)×3 = 8 + 297 = 305ns。顺序执行时间 = 8×100 = 800ns。加速比 = 800/305 ≈ 2.62。
3.3 流水线冲突
| 冲突类型 | 原因 | 解决方法 |
|---|---|---|
| 结构冲突(资源冲突) | 硬件资源在同一时钟周期被多条指令争用 | 增加硬件资源、流水化功能部件 |
| 数据冲突(RAW/WAR/WAW) | 指令间存在数据依赖 | 旁路(转发)技术、编译优化(指令调度) |
| 控制冲突 | 分支指令导致流水线需要清空 | 分支预测、延迟分支、提前计算目标地址 |
3.4 Cache 映射方式计算
| 映射方式 | 主存地址划分 | 特点 |
|---|---|---|
| 直接映射 | 标记 + Cache行号 + 块内地址 | 简单,冲突多 |
| 全相联映射 | 标记 + 块内地址 | 灵活,硬件复杂 |
| 组相联映射 | 标记 + 组号 + 块内地址 | 折中,最常用 |
Cache 容量 = 行数 × (1 有效位 + 标记位数 + 数据块大小)
计算主存地址字段:块内偏移位数 = log₂(块大小);Cache行号位数 = log₂(Cache行数);标记位 = 主存地址总位 - 块内偏移位 - Cache行号位。
真题示例:主存 4GB(32 位地址),Cache 64KB,块大小 64B,4 路组相联。块内偏移=log₂(64)=6 位;Cache 总行数 = 64KB/64B = 1024 行;组数 = 1024/4 = 256 组;组号=log₂(256)=8 位;标记 = 32-8-6 = 18 位。
3.5 中断与 DMA
| I/O 方式 | CPU 干预频率 | 数据传送方式 | 适用 |
|---|---|---|---|
| 程序查询 | 全程等待 | CPU 直接 | 简单慢速设备 |
| 程序中断 | 数据准备好后中断 | CPU 直接 | 中低速设备 |
| DMA | 仅开始和结束时 | DMAC 控制总线 | 高速批量(磁盘) |
| 通道 | 几乎不干预 | 通道处理器 | 大型机多设备 |
中断响应优先级 vs 中断处理优先级:响应优先级由硬件排队电路决定;处理优先级可通过中断屏蔽字改变。
四、数据库深度考点
选择题常考4.1 并发控制与封锁
封锁协议:
| 协议 | 规则 | 能防止的问题 |
|---|---|---|
| 一级封锁 | 写前加 X 锁,事务结束释放 | 丢失修改 |
| 二级封锁 | 一级 + 读前加 S 锁,读完释放 | 丢失修改 + 脏读 |
| 三级封锁 | 一级 + 读前加 S 锁,事务结束释放 | 丢失修改 + 脏读 + 不可重复读 |
| 两段锁协议(2PL) | 所有加锁在解锁之前(加锁阶段 + 解锁阶段) | 保证可串行化 |
两段锁(2PL) vs 一次封锁:2PL 不要求一次全部加锁,只要求加锁阶段不允许解锁。遵守 2PL 的事务调度才是可串行化的。
4.2 数据库故障与恢复
| 故障类型 | 示例 | 恢复方法 |
|---|---|---|
| 事务内部故障 | 逻辑错误、死锁回滚 | UNDO 事务的修改 |
| 系统故障(软故障) | 断电、OS 崩溃 | UNDO 未提交事务,REDO 已提交事务 |
| 介质故障(硬故障) | 磁盘损坏 | 恢复数据库副本 + REDO 日志 |
检查点技术:检查点时刻将缓冲数据强制写入磁盘。恢复时从最后一个检查点开始 REDO 其后的已提交事务,UNDO 未提交事务。
4.3 函数依赖与模式分解
| 规范化级别 | 条件 | 消除的异常 |
|---|---|---|
| 1NF | 属性不可再分(原子性) | - |
| 2NF | 1NF + 消除非主属性对码的部分函数依赖 | 插入异常、删除异常 |
| 3NF | 2NF + 消除非主属性对码的传递函数依赖 | 更多异常 |
| BCNF | 3NF + 消除主属性对码的部分和传递依赖 | 更彻底 |
求候选码:先找 L 类(只在左边出现)和 N 类(左右都不出现)的属性,它们必是候选码成员;再判断闭包能否推导全部属性。
模式分解要求:① 无损连接(有公共属性且它是某分解的码) ② 保持函数依赖。
4.4 分布式数据库
| 概念 | 含义 |
|---|---|
| 分片透明性 | 用户不知道数据被分割存储在哪里 |
| 位置透明性 | 用户不知道数据存储的具体节点 |
| 局部数据模型透明性 | 用户不需要知道各节点使用的数据模型 |
| 水平分片 | 按行分割数据 |
| 垂直分片 | 按列分割数据 |
| 复制策略 | 数据在多个节点有副本 |
4.5 反规范化技术
- 增加冗余列:在多个表中复制常用查询需要的列,避免 JOIN。
- 增加派生列:提前计算并存储汇总值(如订单金额=SUM(明细))。
- 表重组(水平/垂直分割):将一个表分成多个以减少 I/O。
五、23 种设计模式全解
选择题几乎每次必考 1-3 道案例分析可能涉及考试不是让你实现模式,而是根据场景描述判断该用什么模式。重点是看"意图"关键词。
5.1 创建型模式 (5 种) — 对象怎么 NEW
| 模式 | 意图关键词 | GoF 分类 | 典型场景 |
|---|---|---|---|
| Singleton 单例 | 全局唯一实例、统一入口 | 对象创建 | 配置管理、日志、连接池 |
| Factory Method 工厂方法 | 定义创建对象接口,子类决定实例化哪个类 | 类创建 | 框架扩展点、日志记录器工厂 |
| Abstract Factory 抽象工厂 | 创建一系列相关对象,不指定具体类 | 对象创建 | 跨平台 UI 组件族、主题切换 |
| Builder 建造者 | 分步骤构建复杂对象,同样过程可不同表示 | 对象创建 | 复杂文档生成、SQL 构建器 |
| Prototype 原型 | 用原型实例克隆创建新对象 | 对象创建 | 对象复制成本高、需要快照 |
5.2 结构型模式 (7 种) — 类和对象怎么组合
| 模式 | 意图关键词 | 典型场景 |
|---|---|---|
| Adapter 适配器 | 接口转换、兼容旧接口 | 对接第三方 SDK、替换数据库驱动 |
| Bridge 桥接 | 抽象与实现分离,两者独立变化 | 操作系统 × 文件格式、设备 × 渲染引擎 |
| Composite 组合 | 整体-部分,树形结构、一致对待 | 文件目录树、组织架构 |
| Decorator 装饰 | 动态附加职责,比继承更灵活 | Java I/O 流(RandomAccessFile→Buffered→Data) |
| Facade 外观 | 统一高层接口,简化子系统使用 | 门面服务、SDK 简化入口 |
| Flyweight 享元 | 共享细粒度对象,减少内存 | 文字编辑器字符对象、线程池 |
| Proxy 代理 | 控制对对象的访问、延迟加载 | AOP 切面、RPC 远程代理、延迟加载 |
5.3 行为型模式 (11 种) — 对象怎么交互
| 模式 | 意图关键词 | 典型场景 |
|---|---|---|
| Chain of Resp. 职责链 | 多个对象处理请求,避免耦合发送者和接收者 | 审批流程、过滤器链、中间件 |
| Command 命令 | 请求封装为对象,支持撤销和队列 | 菜单项、编辑操作撤销、任务队列 |
| Interpreter 解释器 | 定义文法和解释器 | 规则引擎、表达式求值 |
| Iterator 迭代器 | 顺序访问集合元素而不暴露内部表示 | 容器遍历 |
| Mediator 中介者 | 对象间通过中介者交互,减少直接引用 | 聊天室、MVC 控制器、微服务编排器 |
| Memento 备忘录 | 捕获对象内部状态,以便恢复 | 撤销/重做、游戏存档 |
| Observer 观察者 | 一对多依赖,状态变化时自动通知 | 发布-订阅、事件监听、数据绑定 |
| State 状态 | 对象行为随内部状态改变而变化 | 订单状态流转、TCP 连接状态机 |
| Strategy 策略 | 算法族可互换,与客户端解耦 | 支付方式切换、排序算法选择 |
| Template Method 模板方法 | 算法骨架在父类,步骤延迟到子类 | 框架 Hook 方法、初始化模板 |
| Visitor 访问者 | 操作与数据结构分离,新增操作不修改结构 | 编译器 AST 遍历、报表生成 |
| 题干关键词 | 答案 |
|---|---|
| 创建对象与使用分离、子类决定实例化 | 工厂方法 |
| 一系列相关对象、不指定具体类 | 抽象工厂 |
| 动态添加职责、比继承灵活 | 装饰模式 |
| 控制访问、延迟创建大对象 | 代理模式 |
| 多个对象处理同一请求、审批链 | 职责链 |
| 请求封装为对象、支持撤销 | 命令模式 |
| 状态变化自动通知所有依赖者 | 观察者模式 |
| 算法族可互换 | 策略模式 |
| 定义算法骨架,步骤延迟到子类 | 模板方法 |
| 树形结构、统一对待叶子与组合 | 组合模式 |
创建型记法:单原工建抽 → 单例、原型、工厂方法、建造者、抽象工厂。
结构型记法:适桥组装装外享代 → 适配器、桥接、组合、装饰、外观、享元、代理。
行为型记法:责命解迭中备观状策模访 → 职责链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法、访问者。
六、UML 14 种图全解
选择题高频6.1 结构图(静态) vs 行为图(动态)
6 种结构图
- 类图:类、属性、方法、关系(泛化/实现/关联/聚合/组合/依赖)
- 对象图:类图的实例,展示对象及其关系
- 构件图:构件、接口、依赖关系
- 部署图:节点、制品、部署拓扑
- 包图:包之间的组织和依赖
- 组合结构图:类内部结构、协作
8 种行为图
- 用例图:参与者、用例、关系(include/extend/泛化)
- 序列图:时间顺序、生命线、消息
- 通信图(协作图):对象间组织结构+消息
- 状态图:状态转移、事件触发
- 活动图:流程图、泳道、并发分叉
- 交互概览图:活动图+序列图结合
- 定时图:时间约束
- 顺序图(类图顺序)
6.2 类图关系强弱顺序
泛化(extends) > 实现(implements) > 组合(composite,实心菱形) > 聚合(aggregate,空心菱形) > 关联(association,实线) > 依赖(dependency,虚线箭头)
组合 vs 聚合:组合是强拥有(生命周期一致),如汽车和引擎;聚合是弱拥有(可独立存在),如球队和球员。
6.3 用例图关系
| 关系 | UML 表示 | 含义 | 代码逻辑 |
|---|---|---|---|
| 包含 include | <<include>> 虚线箭头指向被含用例 | 必做公共步骤 | 每次都执行 |
| 扩展 extend | <<extend>> 虚线箭头指向基用例 | 可选、条件触发 | 特定条件下扩展 |
| 泛化 | 实线三角箭头指向父用例 | 子用例继承父用例 | 特定场景继承通用场景 |
6.4 真题速判
| 题干关键词 | 是什么图 |
|---|---|
| 时间顺序、生命线、消息传递 | 序列图(顺序图) |
| 对象链接+消息编号 | 通信图(协作图) |
| 状态变换、事件触发、entry/do/exit | 状态图 |
| 泳道、并发分支、合并 | 活动图 |
| 类的方法和属性、静态结构 | 类图 |
| 节点、服务器、部署关系 | 部署图 |
| 参与者和用例、系统边界 | 用例图 |
七、信息安全深度考点
选择题 1-2 道7.1 对称加密 vs 非对称加密
| 对比维度 | 对称加密 | 非对称加密(公钥) |
|---|---|---|
| 密钥 | 加解密用同一密钥 | 公钥加密,私钥解密 |
| 速度 | 快 | 慢(百倍以上) |
| 典型算法 | DES/3DES/AES/RC4/SM4 | RSA/ECC/ElGamal/SM2 |
| 密钥分发 | 需要安全通道 | 公钥可公开 |
| 适用 | 大量数据加密 | 密钥交换、数字签名 |
7.2 数字签名与数字证书
数字签名 = 发送方私钥加密消息摘要(接收方用发送方公钥解密验证)
数字签名作用:① 身份认证 ② 数据完整性 ③ 不可否认性。
数字证书:由 CA 签发的包含用户公钥 + 身份信息的文件。CA 用自己的私钥签名证书。
PKI 体系:CA → RA(注册) → 证书库 → 密钥恢复 → 证书撤销列表(CRL)
7.3 常见网络攻击
| 攻击类型 | 方式 | 防御 |
|---|---|---|
| SQL 注入 | 构造恶意 SQL 输入 | 参数化查询、输入校验、ORM |
| XSS 跨站脚本 | 注入恶意脚本 | 输出编码、CSP、HttpOnly |
| CSRF 跨站请求伪造 | 诱导用户点击伪造请求 | CSRF Token、SameSite Cookie |
| DDoS 拒绝服务 | 海量请求耗尽资源 | 流量清洗、限流、CDN、WAF |
| 中间人攻击(MITM) | 拦截通信 | TLS/mTLS、证书验证 |
| 重放攻击 | 重新发出已捕获的合法请求 | Nonce、时间戳、Token 一次性 |
7.4 安全模型
- BLP 模型(Bell-LaPadula):保密性模型。"不下读、不上写"——低密级不能读高密级,高密级不能写低密级。
- Biba 模型:完整性模型。与 BLP 相反——"不上读、不下写"。
- Clark-Wilson:完整性,强调良构事务和职责分离。
- Chinese Wall:防止利益冲突,同一咨询师不能访问竞争双方数据。
7.5 Kerberos 认证协议
三个角色:客户端 C、应用服务器 S、认证服务器(AS+TGS=KDC)。
流程:① C→AS 请求票据授予票据(TGT) ② AS 返回用 C 密码加密的 TGT ③ C 解密获得 TGT,用 TGT 向 TGS 请求服务票据 ④ TGS 返回服务票据 ⑤ C 凭服务票据访问 S。
优点:口令不在网络传输,票据有时效性。需要时钟同步。
八、标准化与知识产权
选择题几乎必考 1-2 道8.1 标准代号
| 代号 | 含义 |
|---|---|
| GB | 中华人民共和国强制性国家标准 |
| GB/T | 中华人民共和国推荐性国家标准 |
| GB/Z | 中华人民共和国国家标准化指导性技术文件 |
| ISO | 国际标准化组织 |
| IEC | 国际电工委员会 |
| IEEE | 电气与电子工程师协会(美国) |
| ANSI | 美国国家标准学会 |
| CMM/CMMI | 软件能力成熟度模型/集成 |
8.2 知识产权保护期限
| 权利类型 | 保护期限 | 起算点 |
|---|---|---|
| 公民作品著作权(发表权+财产权) | 作者终生 + 死后 50 年 | 死亡次年 1 月 1 日 |
| 法人作品著作权 | 50 年 | 首次发表 |
| 软件著作权 | 自然人终生+50 年 / 法人 50 年 | 开发完成(非发表) |
| 发明专利权 | 20 年 | 申请日 |
| 实用新型专利权 | 10 年 | 申请日 |
| 外观设计专利权 | 15 年 | 申请日 |
| 注册商标 | 10 年(可续展) | 核准注册日 |
| 商业秘密 | 永久(直到公开) | - |
著作权不保护:思想、过程、操作方法、数学概念。只保护表达形式。
专利权不授予:科学发现、智力活动规则方法、疾病诊断治疗方法、动植物品种(育种方法可)、原子核变换。
8.3 真题易错点
- 委托开发软件:有合同按合同,没合同 → 著作权归受托方(开发者),委托方有使用权。
- 职务作品:完成本职工作或利用单位物质条件 → 著作权归单位,作者有署名权。
- 合作开发:有约定按约定,无约定 → 共有。可单独转让自己的份额(但需通知其他方)。
九、软件工程计算公式
选择题计算9.1 McCabe 环路复杂度
V(G) = E - N + 2 (E=边数,N=节点数)
或:V(G) = P + 1 (P=判断节点数,即有两个以上出边的节点)
或:V(G) = 封闭区域数 + 1
含义:环路复杂度 = 基本路径数 = 最少测试用例数。
9.2 软件维护类型
| 类型 | 占比 | 定义 | 例子 |
|---|---|---|---|
| 改正性维护 | ~21% | 修复已发现的错误和缺陷 | 修复登录 Bug |
| 适应性维护 | ~25% | 适应外部环境变化(硬件/OS/法规) | 升级 JDK 版本、适配新税法 |
| 完善性维护 | ~50% | 增加新功能、改进性能 | 增加人脸登录 |
| 预防性维护 | ~4% | 为将来做准备,防止未来问题 | 重构代码、文档补全 |
完善性占比最高(约 50%),预防性最少。
9.3 CMMI 成熟度等级
1 初始级 → 2 已管理级 → 3 已定义级 → 4 定量管理级 → 5 优化级
关键区别:2 级管项目,3 级建标准过程(组织级),4 级定量管理,5 级持续改进。
9.4 COCOMO 模型(了解)
- 基本 COCOMO:E = a × KLOC^b,D = c × E^d
- 三种模式:组织型(小型简单)、半分离型(中型)、嵌入型(大型复杂)
9.5 ISO/IEC 25010 质量模型
8 个质量特性:功能适用性、性能效率、兼容性、易用性、可靠性、信息安全性、可维护性、可移植性。
与软考六属性对应:软考侧重"性能/可用性/安全性/可修改性/可测试性/易用性",与 ISO 25010 有重叠但角度不同。
十、运筹与管理科学
选择题可能涉及10.1 关键路径法 CPM
正推法:ES = max{前驱EF},EF = ES + 工期
逆推法:LF = min{后继LS},LS = LF - 工期
总时差(总浮动):TF = LS - ES = LF - EF
自由时差:FF = min{后继ES} - EF
关键路径:总时差为 0 的活动组成的路径,决定项目最短工期。
口诀:正推取大(ES 选最大前驱),逆推取小(LF 选最小后继),时差为零是关键。
10.2 决策树分析
期望收益 = Σ(概率 × 收益)
从右向左计算各方案的期望货币值(EMV),选择最大期望值。
真题示例:方案 A 0.7 概率赚 100 万,0.3 概率亏 50 万 → EMV = 0.7×100 + 0.3×(-50) = 70 - 15 = 55 万。
10.3 PERT 三点估算
期望工期 = (乐观 + 4×最可能 + 悲观) / 6
标准差 = (悲观 - 乐观) / 6
工期服从正态分布:期望±1σ 概率 68.26%,期望±2σ 概率 95.46%,期望±3σ 概率 99.73%。
10.4 线性规划
给定资源约束,求最大利润或最小成本。
解法:画可行域 → 找到顶点 → 代入目标函数求值 → 取最优顶点。
十一、前沿技术补充
了解11.1 WebAssembly (WASM)
一种可在浏览器中运行的低级字节码,C/C++/Rust 编译后在浏览器中以接近原生速度运行。不是 JS 替代品,而是 JS 的补充。
11.2 GraphQL
API 查询语言,客户端按需获取数据字段,避免 REST API 的过度获取和多次请求。适合复杂、多变的移动端数据需求。
11.3 gRPC
Google 开源的高性能 RPC 框架,使用 Protocol Buffers 序列化,基于 HTTP/2。支持双向流、多语言生成。适合微服务间高效通信。
11.4 量子计算基础概念
- 量子比特(Qubit):可同时处于 0 和 1 的叠加态。
- 量子纠缠:两个量子比特状态关联,改变一个瞬间影响另一个。
- 量子优势:在某些特定问题上量子计算机远超经典计算机(如大数分解)。
- 对架构师的意义:后量子密码(PQC)需要替换现有的 RSA/ECC 加密体系。
11.5 AR/VR/MR/XR
- VR 虚拟现实:完全虚拟环境,隔绝现实世界。
- AR 增强现实:在现实世界上叠加虚拟信息。
- MR 混合现实:虚拟与现实融合并可实时交互。
- XR 扩展现实:VR+AR+MR 的总称。
11.6 软件定义网络 SDN
控制面与数据面分离。控制器(大脑)统一管理转发策略,交换机(手脚)只负责按流表转发。代表协议 OpenFlow。
11.7 低代码/无代码平台
通过可视化拖拽和配置代替手工编码。适合简单业务流程、表单审批,不适合复杂业务逻辑和高性能场景。架构师需关注其与自建系统的集成边界和扩展机制。
全量考点检查表
考前逐条扫一遍,确认每个知识点头脑中都有东西可写。
| 序号 | 知识点 | 掌握要求 | 所在页面 |
|---|---|---|---|
| 1 | 架构风格与选型 | 必记+论文 | 01 架构基础 |
| 2 | ABSD、DSSA、视图视角 | 选择题+论文 | 01 架构基础 |
| 3 | 架构设计活动边界 | 选择题易错 | 01 架构基础 |
| 4 | 质量属性六要素 | 案例必考 | 02 质量与评估 |
| 5 | 六大属性+战术+指标 | 案例+论文 | 02 质量与评估 |
| 6 | ATAM 九步+四类结果 | 案例必考 | 02 质量与评估 |
| 7 | 效用树 | 选择题+案例 | 02 质量与评估 |
| 8 | 微服务 vs SOA vs 单体 | 论文 | 03 微服务分布式 |
| 9 | 服务治理六大组件 | 案例+论文 | 03 微服务分布式 |
| 10 | DDD 战略/战术设计 | 论文 | 03 微服务分布式 |
| 11 | CAP/BASE 理论 | 选择+案例 | 03 微服务分布式 |
| 12 | 2PC/3PC/TCC/Saga | 选择+案例+论文 | 03 微服务分布式 |
| 13 | 缓存穿透/击穿/雪崩 | 选择+案例+论文 | 04 缓存与锁 |
| 14 | 分布式锁(Redis/ZK/DB) | 选择+论文 | 04 缓存与锁 |
| 15 | Redis 锁原理+原子操作 | 选择 | 04 缓存与锁 |
| 16 | NoSQL 四种类型 | 选择+论文 | 05 数据云安全 |
| 17 | Lambda/Kappa/湖仓 | 选择+论文 | 05 数据云安全 |
| 18 | 数据治理四大抓手 | 论文 | 05 数据云安全 |
| 19 | 云原生+K8s 六对象 | 选择+论文 | 05 数据云安全 |
| 20 | Service Mesh+Istio | 选择+论文 | 05 数据云安全 |
| 21 | 安全架构+脆弱性分析 | 论文 | 05 数据云安全 |
| 22 | 论文五段式+万能项目 | 论文 | 06 论文 |
| 23 | 可靠性计算(串/并/混/N模) | 选择题必会 | 本页 §一 |
| 24 | MTBF/MTTR/MTTF | 选择题 | 本页 §一 |
| 25 | 进程调度算法+计算 | 选择题必会 | 本页 §二 |
| 26 | 页面置换算法+缺页率 | 选择题 | 本页 §二 |
| 27 | 磁盘调度算法 | 选择题 | 本页 §二 |
| 28 | 文件索引分配计算 | 选择题 | 本页 §二 |
| 29 | 位示图计算 | 选择题 | 本页 §二 |
| 30 | IEEE 754 浮点数 | 选择题 | 本页 §三 |
| 31 | 流水线计算+加速比 | 选择题必会 | 本页 §三 |
| 32 | 流水线冲突类型 | 选择题 | 本页 §三 |
| 33 | Cache 映射计算 | 选择题 | 本页 §三 |
| 34 | 中断与 DMA | 选择题 | 本页 §三 |
| 35 | 并发控制+封锁协议 | 选择题 | 本页 §四 |
| 36 | 数据库故障恢复 | 选择题 | 本页 §四 |
| 37 | 函数依赖+模式分解 | 选择题 | 本页 §四 |
| 38 | 分布式数据库特性 | 选择题 | 本页 §四 |
| 39 | 23种设计模式全解 | 选择题高频 | 本页 §五 |
| 40 | UML 14 种图 | 选择题高频 | 本页 §六 |
| 41 | 对称/非对称加密+签名 | 选择题 | 本页 §七 |
| 42 | 网络安全攻击类型 | 选择题 | 本页 §七 |
| 43 | Kerberos+BLP/Biba | 选择题 | 本页 §七 |
| 44 | 标准代号+知识产权 | 选择题几乎必考 | 本页 §八 |
| 45 | McCabe 复杂度计算 | 选择题 | 本页 §九 |
| 46 | 软件维护类型 | 选择题 | 本页 §九 |
| 47 | CMMI 等级 | 选择题 | 本页 §九 |
| 48 | 关键路径 PERT | 选择题 | 本页 §十 |
| 49 | 前沿技术了解 | 了解 | 本页 §十一 |
| 50 | 英文词汇 | 选择题 5 分 | 11 英文词汇 |