系统架构设计师备考站2027 上半年 · 通勤版 ⌕搜索
本页目录 · 7 节
  1. 一、本卷元信息
  2. 答案与可信度标注体系
  3. 二、综合知识(选择题)
  4. (一)操作系统与计算机组成(1—4)
  5. (二)数据库(5—8)
  6. (三)嵌入式与新技术(9—12)
  7. (四)网络与信息化(13—21)
  8. (五)软件工程与过程管理(22—30)
  9. (六)软件设计、构件与 UML(31—38)
  10. (七)安全、知识产权与数学(39—43、64—70)
  11. (八)架构风格、评估与复用(44—63)
  12. (九)专业英语(71—75,五空同一篇)
  13. 三、收录说明
  14. 四、案例分析(1 必做 + 4 选 2)
  15. 试题一(必做):机器学习应用开发平台 —— 效用树 + 架构风格对比(25 分)
  16. 试题二:医院预约挂号管理系统 —— 用例图 + 顺序图 + 三种模型(25 分)
  17. 试题三:医药电商线上药品销售系统 —— 反规范化 + Redis(25 分)
  18. 试题四:智能家居管理系统 —— 家庭网关 vs 云平台(25 分)
  19. 五、论文(4 选 1)
  20. 试题一:论面向方面的编程技术及其应用(AOP)
  21. 试题二:论系统安全架构设计及其应用
  22. 试题三:论企业集成平台的理解与应用
  23. 试题四:论微服务架构及其应用
  24. 六、使用建议
  25. 七、来源

2021 年下半年(11 月)系统架构设计师 · 真题套卷

一、本卷元信息

项目内容
考试名称计算机技术与软件专业技术资格(水平)考试 · 高级 · 系统架构设计师
场次2021 年下半年(2021 年 11 月 6—7 日,纸笔)
科目综合知识(75 题单选)/案例分析(1 必做 + 4 选 2)/论文(4 选 1)
主要来源CSDN「程序员小圆」《系统架构设计师-2021 年下半年上午综合知识真题及答案》(143760605)、《…下午案例真题及答案》(143769420)、《…下午论文真题及答案》(143769521)
题源性质回忆版:综合知识题面与选项基本完整(含部分图形题缺图),附有逐题答案与解析,解析质量较高、与教材表述一致;案例题面完整但缺 1 题;论文四题题面完整
收录范围综合知识 75 题全收录(含 5 空英文题);案例分析 4 题(公开源仅存 4 题,缺 1 题);论文 4 题

答案与可信度标注体系

标记含义
答案 X(机构答案)公开源给出答案且与教材/题面逻辑一致
答案 X(推导)公开源未给答案或答案与解析矛盾,由本库推导
答案 存疑题面缺图、选项缺失或来源答案自相矛盾,给出倾向判断但不要背死
〔图缺失〕原题依赖图形,回忆版未保留

二、综合知识(选择题)

(一)操作系统与计算机组成(1—4)

1.(前趋图) 前趋图 →={(Pi,Pj)|Pi 必须先于 Pj 完成},进程集 P={P1…P8},给定前趋图,问前趋关系集合是()。
A. {(P1,P2),(P3,P1),(P4,P1),(P5,P2),(P5,P3),(P6,P4),(P7,P5),(P7,P6),(P5,P6),(P4,P5),(P6,P7),(P7,P6)}
B. {(P1,P2),(P1,P3),(P2,P5),(P2,P3),(P3,P4),(P3,P5),(P4,P5),(P5,P6),(P5,P7),(P8,P5),(P6,P7),(P7,P8)}
C. {(P1,P2),(P1,P3),(P2,P3),(P2,P5),(P3,P4),(P3,P5),(P4,P6),(P5,P6),(P5,P7),(P5,P8),(P6,P8),(P7,P8)}
D. {(P1,P2),(P1,P3),(P2,P3),(P2,P5),(P3,P6),(P3,P4),(P4,P7),(P5,P6),(P6,P7),(P6,P5),(P7,P5),(P7,P8)}

答案 C(机构答案)
解析:有向边 (Pi,Pj) 表示 Pi 完成后 Pj 才能开始。逐条对照箭头即可。
陷阱:A/C 中混入反向边或自反边(如 A 含 (P3,P1)、(P7,P6) 与 (P6,P7) 并存,出现环);B 含 (P8,P5) 这类"终点指回中间"的逆行边;D 出现 (P6,P5) 与 (P5,P6) 成环。前趋图必须无环,凡是出现双向边或回指的选项直接排除。

2.(页式存储 · 地址变换) 页面大小 4K,进程 P1 的页表如题图(页号 0→块号 2,1→6,2→8…),逻辑地址 1B1A(H) 变换后的物理地址是()。
A. 1B1A B. 3B1A C. 6B1A D. 8B1A

答案 C(机构答案)
解析:4K=2¹²,页内地址占低 12 位。1B1A(H) 拆为页号 1 + 页内偏移 B1A;查页表页号 1 对应物理块号 6;物理地址 = 块号拼接页内偏移 = 6B1A。
陷阱:把整个逻辑地址当页内偏移(得 1B1A);只换高位却忘记拼接低位(得 3/8 开头);十六进制拆分时误按 4 位十进制切分。

3.(文件系统 · 索引节点) 索引节点含 8 个 4 字节地址项:5 个直接、2 个一级间接、1 个二级间接;索引块与数据块均 1KB。访问逻辑块号 1、518 分别应采用()。
A. 直接地址索引、直接地址索引 B. 直接地址索引、一级间接地址索引
C. 直接地址索引、二级间接地址索引 D. 一级间接地址索引、二级间接地址索引

答案 C(机构答案)
解析:每块可存 1KB/4B = 256 个地址项。

  • 直接索引:逻辑块 0—4(5 个);
  • 一级间接:每项管 256 块,两个一级间接共 5—516(512 块);
  • 二级间接:1 个地址项指向的块再存 256 个一级索引地址,共 256² = 65536 块,覆盖 517—66052。

逻辑块 1 落在直接区;518 落在二级间接区(刚过 516 边界)。
陷阱:忘记"5 个直接块占 0—4"而从 0 开始数一级间接;把 256 记成 1024;忽略"2 个一级间接"是两段连续区间。

4.(银行家算法 · 资源分配) 互斥资源 R 可用数 25,T0 时刻 P1—P4 的最大需求/已分配/尚需如表。P1、P3 分别申请 1 和 2 个 R,则系统()。
A. 只能先给 P1 分配,分配后状态安全 B. 只能先给 P3 分配,分配后状态安全
C. 可同时给 P1、P3 分配,分配后状态安全 D. 不能给 P3 分配,分配后状态不安全

答案 B(机构答案)
解析:已分配合计 6+4+7+6=23,剩余 2。P1 申请 1 后仍需等待;P3 申请 2 正好可满足,P3 运行完释放其已占资源(7+2=9),此后剩余资源足以满足其余进程 → 存在安全序列,故先满足 P3 是安全的。
陷阱:只看"剩余 2 ≥ P1 申请 1"就选 A,忽略分配后能否找到完整安全序列;把"尚需"与"已分配"两列看反。

(二)数据库(5—8)

5—6.(E-R 图合并冲突) 人力部门定义"员工"实体(员工号、姓名、性别、出生日期、联系方式、部门);培训部门定义"培训师"实体(培训师号、姓名、职称)。
第 1 空:这种情况属于()。
A. 属性冲突 B. 结构冲突 C. 命名冲突 D. 实体冲突
第 2 空:合并 E-R 图时解决该冲突的方法是()。
A. 两个实体均保持不变 B. 保留员工实体、删除培训师实体
C. 员工实体中加入职称属性,删除培训师实体 D. 将培训师实体所有属性并入员工实体,删除培训师实体

第 1 空 答案 C(机构答案,存疑)
第 2 空 答案 D(推导;来源标 C 与其自身解析矛盾)
解析:两部门对同一对象群体使用了不同称谓(员工/培训师),属命名冲突中的"异名同义";若按"同一实体在不同视图中属性集合不同"理解也可判为结构冲突,故第 1 空标记存疑。合并时应把培训师的特有属性(职称)并入员工实体并删除冗余实体,即 D;C 只保留职称而丢掉"培训师号",信息不完整。
陷阱:把"属性个数不同"一律判成属性冲突(属性冲突指类型、取值范围、单位不一致);合并时"两个实体都保留"会造成同一人两条记录。

7—8.(关系代数 · 自然连接) 关系 R、S 如题表(R 与 S 有同名属性),自然连接后的属性列数与元组数分别为(),且 π₁<₅(σ₂=₅(R×S)) 与某表达式等价。
第 1 空:A. 6 和 7 B. 4 和 4 C. 4 和 3 D. 3 和 4
第 2 空:选项缺失

第 1 空 答案 C(机构答案)
第 2 空 答案 存疑(公开源四个选项均为"暂缺/无",无法判定)
解析:自然连接先按同名属性做等值连接,再去掉重复列。R、S 各含 3 列且有 1 个同名属性 → 结果 4 列;满足等值条件的元组 3 个。π₁<₅(σ₂=₅(R×S)) 的含义是"先笛卡尔积、再按第 2 列=第 5 列筛选、最后取第 1 列小于第 5 列",等价式通常是先自然连接再选择投影的写法(把"连接条件"下推为选择)。
陷阱:把自然连接当笛卡尔积(列数会得到 3+3=6);忘记"去重列";把 π 的下标当成列名。

(三)嵌入式与新技术(9—12)

9.(SoC) 以下关于 SoC 的说法不正确的是()。
A. SoC 是一种技术,从确定的系统功能开始,到软/硬件划分并完成设计的整个过程
B. SoC 是一款具有运算能力的处理器芯片,可面向特定用途进行定制的标准产品
C. SoC 是信息系统核心的芯片集成,将系统关键部件集成在一块芯片上
D. SoC 是将微处理器、模拟 IP 核、数字 IP 核和存储器集成在单一芯片上,面向特定用途的标准产品

答案 B(机构答案)
解析:SoC 的两种含义——一种产品(有专用目标、含完整系统与嵌入软件的集成电路)和一种技术(从系统功能确定→软硬件划分→设计完成的全过程)。A、C、D 都在描述"集成/专用/全过程",B 把 SoC 说成"具有运算能力的处理器芯片",缩小为 CPU 类器件。
陷阱:把 SoC 等同"CPU 芯片"(SoC 是系统级集成,可含 CPU、DSP、GPU、存储、外设)。

10.(嵌入式实时操作系统) 不属于嵌入式实时操作系统特点的是()。
A. 可剪裁性 B. 实时性 C. 通用性 D. 可固化性

答案 C(机构答案)
解析:RTOS 特点:可剪裁、实时性、可固化、可靠性、易移植、微型化、专用性强、软硬件依赖强、资源受限。"通用性"是桌面/服务器 OS 的特征,与"专用性强"相反。
陷阱:把"可固化(烧录进 ROM)"误认为不是 RTOS 特点。

11.(NDB 网络数据库) 以下关于基于网络的数据库系统(NDB)的叙述,不正确的是()。
A. NDB 由客户端、通信协议和远程服务器三部分组成
B. 客户端提供接口给嵌入式程序,通信协议规范客户端与远程服务器的通信,远程服务器维护数据库数据
C. NDB 具有客户端小、无需支持可剪裁性、代码可重用等特点
D. NDB 以文件方式存储数据库数据,使用时由应用程序通过驱动程序甚至直接读写数据文件

答案 C(机构答案)
解析:NDB 面向资源受限的嵌入式设备,必须支持可裁剪,C 说"无需支持可剪裁性"错误。
陷阱:D 描述看似"低级",但确是嵌入式数据库的典型存储方式,不要因"以文件方式"就判错。

12.(AI 芯片) AI 芯片区别于通常处理器芯片,应具备四种关键特征,下列属于其关键特点的是()。
A. 新型计算范式、信号处理能力、低精度设计、专用开发工具
B. 新型计算范式、训练和推断、大数据处理能力、可重构能力
C. 训练和推断、大数据处理能力、可定制性、专用开发工具
D. 训练和推断、低精度设计、新型计算范式、图像处理能力

答案 B(机构答案)
解析:出自《人工智能芯片技术白皮书(2018)》:新型计算范式、训练和推断、大数据处理能力、可重构的能力。
陷阱:把"低精度设计(量化)""图像处理能力"当四大特征之一(它们是实现手段/应用场景)。

(四)网络与信息化(13—21)

13.(交换机转发表) 关于以太网交换机转发表,正确的是()。
A. 交换机的初始 MAC 地址表为空
B. 交换机收到数据帧后,若无相应表项,则不转发该帧
C. 交换机通过读取输入帧中的目的地址添加 MAC 地址表项
D. 交换机的 MAC 地址表项是静态增长的,重启时地址表清空

答案 A(机构答案)
解析:交换机上电时 MAC 地址表为空;收到帧后按源 MAC + 入端口学习并写入表项(自学习);目的地址查不到时向除入端口外所有端口泛洪。故 B(不转发)、C(按目的地址学习)、D(静态增长)均错。
陷阱:把"按源地址学习、按目的地址转发"记反,这是本题核心。

14.(Internet 交换方式) Internet 网络核心采取的交换方式为()。
A. 分组交换 B. 电路交换 C. 虚电路交换 D. 报文交换

答案 A(机构答案)
解析:Internet 核心采用分组交换(数据报方式),把报文切成有最大长度限制的分组独立选路;电路交换需先建通路且独占;报文交换存储转发时延大,不适合实时。
陷阱:与"虚电路分组交换"混淆——Internet 的 IP 是无连接的数据报方式,不是虚电路。

15.(SDN) SDN 的网络架构中不包含()。
A. 逻辑层 B. 控制层 C. 转发层 D. 应用层

答案 A(机构答案)
解析:SDN 三层:应用层、控制层(控制器/北向接口)、数据转发层(南向接口,OpenFlow)。"逻辑层"不是 SDN 的标准分层名称。
陷阱:把"逻辑层"当成"控制层"的别名;把 SDN 与"控制平面/数据平面分离"混为一谈却答成四层。

16—17.(Web 服务器性能测试)
第 1 空:反映 Web 服务器性能的指标不包括()。A. 链接正确跳转 B. 最大并发连接数 C. 响应延迟 D. 吞吐量
第 2 空:常见 Web 服务器性能评测方法有基准性能测试、压力测试和()。A. 功能测试 B. 黑盒测试 C. 白盒测试 D. 可靠性测试

答案 A、D(机构答案)
解析:性能指标分三类——响应时间类(服务器响应时间、页面响应时间、往返时间、TCP 建连时间)、系统容量类(并发用户数、最大并发连接数、连接速率、事务处理速率)、资源利用率类(CPU/内存/磁盘/带宽占用率)。"链接正确跳转"是功能/链接测试指标。评测方法:基准测试、负载测试、压力测试、可靠性(疲劳)测试、并发测试。
陷阱:把"可靠性测试"当功能测试排除(它是性能/稳定性评测的重要手段);把"并发测试"与"压力测试"混为一谈。

18.(数字化转型阶段) 企业数字化转型的五个发展阶段依次是()。
A. 初始级、单元级、流程级、网络级、生态级
B. 初始级、单元级、系统级、网络级、生态级
C. 初始级、单元级、流程级、网络级、优化级
D. 初始级、流程级、系统级、网络级、生态级

答案 A(机构答案)
解析:依《数字化转型 参考架构》:初始级 → 单元级 → 流程级 → 网络级 → 生态级。
陷阱:用 CMMI 的"已定义/量化/优化"套进来(选项 C 的"优化级")。

19.(信息化内涵) 从信息化建设角度,说法错误的是()。
A. 有效开发利用信息资源 B. 大力发展信息产业
C. 充分建设信息化政策法规和标准规范 D. 信息化的主体是程序员和项目经理

答案 D(机构答案)
解析:信息化的主体是全体社会成员(政府、企业、事业、团体和个人),不是某一职业群体;时域是长期过程,空域覆盖政治经济文化军事社会各领域。
陷阱:把"信息化 = IT 项目"的狭隘理解当正确。

20.(信息化需求层次) 组织信息化需求通常包含三个层次,即()。
A. 战略需求、运作需求、功能需求 B. 战略需求、运作需求、技术需求
C. 市场需求、技术需求、用户需求 D. 市场需求、技术需求、领域需求

答案 B(机构答案)
解析:战略需求(提升竞争力、支撑可持续发展)→ 运作需求(实现战略目标、运作策略、人才培养)→ 技术需求(系统完善、升级、集成整合)。
陷阱:把"功能需求"当第三层(功能需求是软件工程层面的分类,不是组织信息化需求层次)。

21.(软件产品管理办法) 任何单位和个人不得开发、生产、销售、进出口含有以下内容的软件产品:①侵犯他人知识产权 ②含有计算机病毒 ③可能危害计算机系统安全 ④含有国家规定禁止传播的内容 ⑤不符合我国软件标准规范 ⑥未经国家正式批准。正确的是()。
A. ①②③⑥ B. ①②③④⑥ C. ①②③④⑤ D. ①②③④⑤⑥

答案 C(机构答案)
解析:《软件产品管理办法》列的五项禁止情形正是 ①—⑤;"未经国家正式批准"不在其列(软件产品实行登记备案而非前置审批)。
陷阱:多选 ⑥(把"登记"误当"批准")。

(五)软件工程与过程管理(22—30)

22.(CMMI) 企业目标明确、遵守既定计划与流程、资源充分、权责到人、对流程严格监测控制审查,符合企业管理体系与流程制度,达到 CMMI 的()。
A. 可重复级 B. 已定义级 C. 量化级 D. 优化级

答案 B(机构答案)
解析:CMMI 五级:初始级 → 已管理级(可重复级) → 已定义级 → 量化管理级 → 优化级。题干关键词"组织级标准过程、全流程受控、有培训与评审制度、全员共同理解"= 已定义级;可重复级只强调"项目级经验可重复"。
陷阱:看到"严格监测控制"就选量化级(量化级要求统计与量化度量,题干未提数据度量)。

23.(产品配置) 产品配置是指产品在生命周期各阶段产生的各种形式和各种版本的()的集合。
A. 需求规格说明、设计说明、测试报告 B. 需求规格说明、设计说明、计算机程序
C. 设计说明、用户手册、计算机程序 D. 文档、计算机程序、部件及数据

答案 D(机构答案)
解析:产品配置 = 文档 + 计算机程序 + 部件 + 数据的集合,其中每个元素是一个配置项。A/B/C 都只列举了文档或程序的子集。
陷阱:把"配置项"与"配置"混为一谈(配置是集合,配置项是元素)。

24.(需求管理活动) 需求管理的主要活动包括()。
A. 变更控制、版本控制、需求跟踪、需求状态跟踪
B. 需求获取、变更控制、版本控制、需求跟踪
C. 需求获取、需求建模、变更控制、版本控制
D. 需求获取、需求建模、需求评审、需求跟踪

答案 A(机构答案)
解析:需求工程 = 需求开发(获取、分析、定义/规格说明、验证)+ 需求管理(变更控制、版本控制、需求跟踪、需求状态跟踪)。
陷阱:把"需求获取/建模"塞进需求管理(它们属需求开发)。

25.(需求跟踪) ()包括编制每个需求与系统元素之间的联系文档,这些元素包括其他需求、体系结构、设计部件、源代码模块、测试、帮助文件和文档等。
A. 需求描述 B. 需求分析 C. 需求获取 D. 需求跟踪

答案 D(机构答案)
解析:需求跟踪建立需求—设计—代码—测试的双向可追溯链(正向跟踪 + 逆向跟踪),是变更影响分析的基础。
陷阱:选"需求分析"(分析是建模与协商,不产出追溯矩阵)。

26.(软件生命周期) 按传统软件生命周期方法学,软件生命周期可划分为()。
A. 软件定义、软件开发、软件测试、软件维护
B. 软件定义、软件开发、软件运行、软件维护
C. 软件分析、软件设计、软件开发、软件维护
D. 需求获取、软件设计、软件开发、软件测试

答案 B(机构答案)
解析:传统三阶段/四阶段划分:软件定义(问题定义、可行性研究、需求分析)→ 软件开发(设计、编码、测试)→ 软件运行 → 软件维护。测试属于开发阶段,不能与开发并列。
陷阱:选 A(把测试从开发中拆出来并列);选 D(漏"运行/维护")。

27.(敏捷方法) 不属于敏捷方法核心思想的是()。
A. 敏捷是适应型而非可预测型 B. 敏捷方法以过程为本
C. 敏捷以人为本而非以过程为本 D. 敏捷是迭代增量式的开发过程

答案 B(机构答案)
解析:敏捷宣言核心:个体与交互高于流程与工具、可工作软件高于详尽文档、客户合作高于合同谈判、响应变化高于遵循计划。B 与 C 直接矛盾。
陷阱:把 RUP/ISO 的"过程为本"套到敏捷。

28.(RUP 工作流) RUP 的 9 个核心工作流中不包括()。
A. 业务建模 B. 配置与变更管理 C. 成本 D. 环境

答案 C(机构答案)
解析:RUP 九个核心工作流:业务建模、需求、分析与设计、实现、测试、部署、配置与变更管理、项目管理、环境(前 6 个为工程流,后 3 个为支持流)。"成本"不是独立工作流。
陷阱:把"项目管理"里的成本管理当成独立工作流。

29.(版本控制) 用来存储、更新、恢复和管理一个软件多个版本的工具是()。
A. 软件测试 B. 版本控制 C. UML 建模 D. 逆向工程

答案 B(机构答案)
解析:版本控制工具(Git/SVN/CVS)负责版本库、分支、合并、回滚;它是配置管理的子功能之一。
陷阱:选"配置管理"(若选项中出现,范围更宽;本题只有版本控制)。

30.(结构化设计工具) 不属于结构化设计工具的是()。
A. 盒图(N-S 图) B. HIPO 图 C. 顺序图 D. 程序流程图

答案 C(机构答案)
解析:结构化设计工具:程序流程图、盒图(N-S)、PAD、HIPO、判定表/判定树。顺序图是 UML 面向对象建模工具。
陷阱:把 UML 图混入结构化工具;注意 PAD 属结构化(第 33 题正考这一点)。

(六)软件设计、构件与 UML(31—38)

31—32.(耦合与内聚)
第 1 空:耦合设计原则应采用()。A. 尽量用内容耦合…完全不用数据耦合 B. 尽量用数据耦合、少用控制耦合和特征耦合、限制公共环境耦合范围、完全不用内容耦合 C. 尽量用控制耦合… D. 尽量用特征耦合…
第 2 空:属于高内聚的是()。A. 偶然内聚 B. 时间内聚 C. 功能内聚 D. 逻辑内聚

答案 B、C(机构答案)
解析:耦合由低到高:非直接 → 数据 → 标记(特征)→ 控制 → 外部 → 公共(环境)→ 内容,设计应"就低不就高";内聚由低到高:偶然 → 逻辑 → 时间 → 过程 → 通信 → 顺序 → 功能,功能内聚最高(完成单一功能、缺一不可)。
陷阱:把"时间内聚"当高内聚(它只要求同一时间段执行);把"公共耦合"当"公共环境"以外的东西。

33.(UML) 以下不属于 UML 模型的是()。
A. 用例图 B. 协作图 C. 活动图 D. PAD 图

答案 D(机构答案)
解析:PAD(问题分析图)是结构化程序设计的流程设计工具(自左向右、自上而下展开),不是 UML 图。UML 2.x 中"协作图"已更名为通信图,但仍是 UML 图族成员。
陷阱:因"协作图改名"就判它不属于 UML。

34.(McCabe 环形复杂度) 给定程序流程图,环形复杂度为()。A. 3 B. 4 C. 5 D. 6
〔图缺失〕

答案 B(机构答案,存疑:无图无法复核)
解析:V(G) = E − N + 2 = 判定节点数 + 1 = 闭环(区域)个数 + 1。来源解析给出"闭环个数 + 1 = 4",即判定节点 3 个。
陷阱:公式记成 E−N+1;把"判定节点数 + 1"写成"判定节点数";把多分支 case 当一个判定(n 路分支贡献 n−1)。

35.(构件特征) 以下关于软件构件的叙述中,错误的是()。
A. 构件的部署必须能跟它所在的环境及其他构件完全分离
B. 构件作为一个部署单元是不可拆分的
C. 在一个特定进程中可能会存在多个特定构件的拷贝
D. 对于不影响构件功能的某些属性可以对外部可见

答案 D(机构答案,存疑)
解析:教材构件三特征:独立部署单元、作为第三方组装单元、没有(外部的)可见状态。故 D"某些属性可对外部可见"与"没有外部可见状态"冲突,是错误项。但教材同时指出"同一操作系统进程中装载多个构件拷贝毫无意义,至多存在一个拷贝",故 C 也与教材冲突——本题 C、D 均有瑕疵,属命题不严谨,考试时按"最直接违背构件定义"的 D 作答。
陷阱:把"通过接口暴露行为"理解为"有外部可见状态"(接口 ≠ 状态);忽略"原子性/不可拆分"是构件定义的一部分。

36.(构件交互问题) 面向构件编程中,()问题会产生数据竞争和死锁现象。
A. 多线程 B. 异步 C. 封装 D. 多语言支持

答案 A(机构答案)
解析:多线程共享同一状态空间,并发读写共享变量 → 数据竞争;用加锁解决 → 保守加锁/加锁顺序错误 → 死锁。
陷阱:选"异步"(异步本身不共享内存,不直接产生数据竞争)。

37—38.(COM 对象组装)
第 1 空:外部对象拥有指向内部对象的唯一引用、只把请求转发给内部对象,这种重用形式是()。
A. 聚集 B. 包含 C. 链接 D. 多态
第 2 空:直接把内部对象的接口引用传给外部对象的客户、不再转发请求,这种重用形式是()。
A. 引用 B. 转发 C. 包含 D. 聚集

答案 B、D(机构答案)
解析:COM 支持两种对象组装(不含实现继承):包含(Containment)——外层对象持唯一引用并转发请求;聚集(Aggregation)——把内层接口直接暴露给客户,不转发。
陷阱:把"包含/聚集"与 UML 的"组合/聚合"混淆(同名不同义);认为 COM 支持实现继承。

(七)安全、知识产权与数学(39—43、64—70)

39—41.(网络安全威胁分类) 信息泄露是指信息被泄露给非授权实体;()指数据被非授权增删改而受损;()指对信息或其他资源的合法访问被无条件阻止;()指长期监听并用统计方法分析通信频度、流向、总量等参数以获取有价值信息。
第 1 空:A. 非法使用 B. 破坏信息的完整性 C. 授权侵犯 D. 计算机病毒
第 2 空:A. 拒绝服务 B. 陷阱门 C. 旁路控制 D. 业务欺骗
第 3 空:A. 特洛伊木马 B. 业务欺骗 C. 物理侵入 D. 业务流分析

答案 B、A、D(机构答案)
解析:教材 11 类威胁:信息泄露、破坏信息的完整性、拒绝服务、非法使用(非授权访问)、窃听、业务流分析、假冒、旁路控制、授权侵犯、抵赖、计算机病毒。
陷阱:"授权侵犯"是内部人越权(合法身份用于非授权目的),不要与"非法使用"混;"旁路控制"是利用系统脆弱点绕过防线。

64.(著作权 vs 商标权) 赵某购买一款有注册商标的 App,擅自复制成光盘出售,侵犯的是()。
A. 注册商标专用权 B. 软件著作权 C. 光盘所有权 D. 软件专利权

答案 B(机构答案)
解析:复制并销售软件=行使了著作权中的复制权、发行权;商标侵权要求"在相同/类似商品上使用相同/近似商标",本案未假冒商标。
陷阱:见"注册商标"就选商标权(题干只是说明软件本身有商标,不代表其实施了商标使用行为)。

65.(著作权归属) 下列关于著作权归属的表述,正确的是()。
A. 改编作品的著作权归属于改编人
B. 职务作品的著作权都归属于企业法人
C. 委托作品的著作权都归属于委托人
D. 合作作品的著作权归属于所有参与和组织创作的人

答案 A(机构答案)
解析:改编、翻译、注释、整理已有作品产生的作品,著作权归改编/翻译/注释/整理人,但行使时不得侵犯原作品著作权。B 错在"都"(职务作品一般归作者,单位有优先使用权;特殊职务作品归单位);C 错在"都"(有合同从约定,无约定归受托人);D 错在"组织创作的人"(合作作者须有创作行为)。
陷阱:绝对化表述("都""一定")通常是错项。

66.(委托开发著作权) X 公司受 Y 公司委托开发软件,双方未订立任何书面合同,()享有该软件著作权。
A. X、Y 共同 B. X 公司 C. Y 公司 D. X、Y 均不

答案 B(机构答案)
解析:《著作权法》:受委托创作的作品,归属由合同约定;合同未约定或未订立合同的,著作权属于受托人(X)。
陷阱:直觉"谁出钱谁拥有"(归委托人)——法律默认归受托人。

67—68.(数字证书) Web 网站向 CA 申请数字证书,用户登录时可通过验证()确认证书有效性,以()。
第 1 空:A. CA 的签名 B. 网站的签名 C. 会话密钥 D. DES 密码
第 2 空:A. 向网站确认自己的身份 B. 获取访问网站的权限 C. 与网站进行双向认证 D. 验证该网站的真伪

答案 A、D(机构答案)
解析:证书 = 网站公钥 + 身份信息 + CA 用私钥对摘要的签名;用户用 CA 公钥验签,确认证书未被篡改且确由该 CA 签发 → 从而验证网站真伪(防钓鱼)。之后用证书中的公钥加密会话密钥,建立 TLS 通道。
陷阱:选"网站的签名"(网站签名用于服务器密钥交换的证明,不是证书有效性);把证书验证当成"双向认证"(单向 HTTPS 只验证服务器)。

69.(线性规划) 非负变量 x、y,在 x≤4、y≤3、x+2y≤8 约束下,目标函数 2x+3y 的最大值为()。
A. 13 B. 14 C. 15 D. 16

答案 B(机构答案)
解析:线性规划最优解在可行域顶点。顶点候选:(0,0)→0;(4,0)→8;(4,2)→14(x+2y=8 与 x=4 交点);(2,3)→13(x+2y=8 与 y=3 交点);(0,3)→9。最大 14。
陷阱:只代 (4,3)(违反 x+2y≤8);忘记检查约束交点,直接取单个约束边界。

70.(三点估算 · 总时差) 项目含 A—G 七个作业,作业 C 乐观 5 天、最可能 14 天、保守 17 天;其他作业按计划实施。为使项目如期完成,作业 C()。
A. 必须在期望时间内完成 B. 必须在 14 天内完成
C. 比期望时间最多可拖延 1 天 D. 比期望时间最多可拖延 2 天

答案 D(机构答案)
解析:PERT 期望工期 = (乐观 + 4×最可能 + 保守)/6 = (5+56+17)/6 = 13 天。关键路径为 A-B-D-E-G,总长 27 天,C 不在关键路径;C 的总时差为 2 天,故可比期望时间最多拖延 2 天而不影响总工期。
陷阱:把"最可能 14 天"当期望值;把"总时差"算成"自由时差"(只看紧后作业的最早开始)。

(八)架构风格、评估与复用(44—63)

44—45.(ABSD) 基于架构的软件设计(ABSD)是架构驱动的方法,该方法是一个()的方法,软件系统架构通过该方法得到细化,直到能产生()。
第 1 空:A. 自顶向下 B. 自底向上 C. 原型 D. 自顶向下和自底向上结合
第 2 空:A. 软件质量属性 B. 软件连接性 C. 软件构件或模块 D. 软件接口

答案 A、C(机构答案)
解析:ABSD 由商业、质量、功能需求共同驱动,是自顶向下、递归细化的方法,细化到能产生软件构件(或模块)与类;强调视角分离、架构模板、迭代。
陷阱:把 ABSD 说成"自底向上"或"双向结合";把"质量属性"当细化产物(它是驱动因素)。

46—47.(4+1 视图) 4+1 视图中,()捕捉设计的并发与同步特征;()描述开发环境中软件的静态组织结构。
第 1 空:A. 逻辑视图 B. 开发视图 C. 过程视图 D. 物理视图
第 2 空:A. 类视图 B. 开发视图 C. 过程视图 D. 用例视图

答案 C、B(机构答案)
解析:逻辑视图(功能/最终用户)、开发视图(模块组织/程序员)、过程视图(并发、同步、性能、可用性/集成人员)、物理视图(软件到硬件的映射/系统工程人员)、场景视图(串联其他四视图)。
陷阱:把"过程视图"当业务流程;把"物理视图"当部署图以外的东西。

48.(架构风格识别) 按照软件架构风格,物联网系统属于()软件架构风格。
A. 层次型 B. 事件系统 C. 数据线(管道-过滤器) D. C2

答案 A(机构答案)
解析:物联网分感知层、网络层、应用层,逐层向上提供服务、层间通过协议交互,是典型层次型(分层)风格。
陷阱:因"传感器事件上报"选事件系统(事件系统强调隐式调用与广播,物联网主结构仍是分层)。

49—50.(DSSA 垂直域/水平域) ()定义了一个特定系统族、包含族内多个系统,可作为该领域通用解决方案;()定义了多个系统和多个系统族中功能区域的共有部分,在子系统级涵盖多个系统族的特定部分功能。
第 1 空:A. 垂直域 B. 水平域 C. 功能域 D. 属性域
第 2 空:A. 垂直域 B. 水平域 C. 功能域 D. 属性域

答案 A、B(机构答案)
解析:垂直域=面向一个系统族(深度方向),产出该领域的通用软件架构;水平域=跨多个系统族抽取共有功能(广度方向),在子系统级复用。
陷阱:把两者对调("垂直=深,水平=广"是最好记的口诀)。

51—52.(规则系统风格) 社保金计算方式可能随国家经济变化动态改变,该软件适宜采用()架构风格,该风格的主要特点是()。
第 1 空:A. Layered system B. Data flow C. Event system D. Rule-based system
第 2 空:A. 将业务逻辑中频繁变化的部分定义为规则 B. 各构件间相互独立 C. 支持并发 D. 无数据不工作

答案 D、A(机构答案)
解析:基于规则的系统把易变的业务决策从程序代码中分离为规则集,由规则解释器解释执行;构件包括规则集、规则解释器、规则/数据选择器、工作内存。适合"计算规则频繁变化"的场景。
陷阱:选"分层"(分层解决的是可替换性,不解决规则动态变化);把"无数据不工作"(批处理风格特征)张冠李戴。

53—54.(性能) 架构评估中,()是指系统的响应能力,即经过多长时间对某事件做出响应,或在某段时间内系统所能处理事件的()。
第 1 空:A. 安全性 B. 性能 C. 可用性 D. 可靠性
第 2 空:A. 个数 B. 速度 C. 消耗 D. 故障率

答案 B、A(机构答案)
解析:性能 = 响应时间(多快)+ 吞吐量(单位时间处理事件个数)。
陷阱:把性能与"可用性(正常运行时间比例)""可靠性(无故障运行能力)"混。

55.(可用性) 分布式系统中构件失去远程连接,修复后连接在 30 秒内恢复、系统重新正常工作。这体现软件系统的()。
A. 安全性 B. 可用性 C. 兼容性 D. 可移植性

答案 B(机构答案)
解析:可用性 = 系统正常运行时间比例,常用两次故障间隔长度或故障后恢复正常的速度度量;设计策略:冗余、心跳、主动冗余、被动冗余。
陷阱:选"可靠性"(可靠性关注"不出故障",可用性关注"故障后多久能用")。

56—57.(安全性子属性) ()保证信息不泄露给未授权用户、实体或过程;()保证信息的完整准确、防止被篡改。
第 1 空:A. 可控性 B. 机密性 C. 安全审计 D. 健壮性
第 2 空:A. 可控性 B. 完整性 C. 不可否认性 D. 安全审计

答案 B、B(机构答案)
解析:安全性四分:机密性(不泄露)、完整性(不被篡改)、不可否认性(防抵赖)、可控性(传播与内容可控)。
陷阱:把"可控性"当"访问控制";把"不可否认性"与"完整性"混。

58—59.(场景) 场景是从()角度对与系统交互的描述,一般采用()三方面描述。
第 1 空:A. 系统设计者 B. 系统开发者 C. 风险承担者 D. 系统测试者
第 2 空:A. 刺激源、制品、响应 B. 刺激、制品、响应 C. 刺激、环境、响应 D. 刺激、制品、环境

答案 C、C(机构答案)
解析:场景是从风险承担者(stakeholder)角度对系统交互的简短描述,三要素:刺激(stimulus)、环境(environment)、响应(response)。(质量属性场景六要素版另加刺激源、制品、响应度量。)
陷阱:把六要素版的"刺激源、制品"当三要素;漏"环境"。

60—61.(敏感点 / 权衡点) 架构评估中,()是一个或多个构件(和/或构件之间关系)的特性;改变加密级别的设计决策属于(),因为它可能对安全性和性能产生非常重要影响。
第 1 空:A. 敏感点 B. 非风险点 C. 权衡点 D. 风险点
第 2 空:A. 敏感点 B. 非风险点 C. 权衡点 D. 风险点

答案 A、C(机构答案)
解析:敏感点=影响某一质量属性的构件特性;权衡点=同时影响多个质量属性的敏感点(如加密级别:安全性↑、性能↓);风险点=可能导致风险的架构决策;非风险点=可接受的决策。
陷阱:把"敏感点"与"权衡点"混(一个属性 vs 多个属性);把"风险点"当"权衡点"。

62—63.(三层 C/S) 三层 C/S 架构中,()是应用的用户接口部分,负责与应用逻辑间的对话;()是应用本体,负责具体业务处理逻辑。
第 1 空:A. 表示层 B. 感知层 C. 设备层 D. 业务逻辑层
第 2 空:A. 数据层 B. 分发层 C. 功能层 D. 算法层

答案 A、C(机构答案)
解析:三层 C/S = 表示层(用户接口/对话)→ 功能层(业务逻辑层,业务处理)→ 数据层(DBMS 管理与控制)。教材用"功能层"一词,与"业务逻辑层"同义。
陷阱:第 2 空选 D"业务逻辑层"(第 1 空已给该选项,第 2 空对应教材术语是"功能层")。

(九)专业英语(71—75,五空同一篇)

71—75.(C/S 计算模式 · 英文填空)
The prevailing distributed computing model of the current era is called client/server computing. A ( 71 ) is a solution in which the presentation, presentation logic, application logic, data manipulation and data layers are distributed between client PCs and one or more servers. A ( 72 ) is a personal computer that does not have to be very powerful in terms of processor speed and memory because it only presents the interface to the user. A ( 73 ) is a personal computer, notebook computer, or workstation that is typically more powerful in terms of processor speed, memory, and storage capacity. A ( 74 ) hosts one or more shared database but also executes all database commands and services for information systems. A(n) ( 75 ) hosts Internet or intranet Web sites, it communicates with clients by returning to them documents and data.

空选项答案
71A. Client/Server system B. Client-side C. Server-side D. DatabaseA
72A. Server-side B. Browser C. Fat client D. Thin clientD
73A. Cloud platform B. Cluster system C. Fat client D. Thin clientC
74A. Transaction server B. Database server C. Application server D. Message serverB
75A. Database server B. Message server C. Web server D. Application serverC

解析:C/S 系统把表示、表示逻辑、应用逻辑、数据操纵与数据层分布在客户端与服务器之间;瘦客户端(thin client)只负责界面展示,因此处理能力要求低;胖客户端(fat client)本地承担较多处理,配置强;数据库服务器托管共享数据库并执行全部数据库命令;Web 服务器托管站点、向客户端返回文档与数据。
陷阱:72/73 的 thin/fat 对调;75 选 application server(应用服务器执行业务逻辑,不托管 Web 站点)。


三、收录说明

项目情况
综合知识原卷 75 题,公开源逐题给出答案与解析,本库全收录,答案可信度较高
存疑题第 5、8、34、35 题(命名冲突归类争议、第 2 空选项缺失、缺图、C/D 均有瑕疵)
图形缺失第 1(前趋图)、2(页表)、4(资源表)、7(关系表)、34(流程图)题依赖原图,本库依据来源解析复原结论
案例分析公开源仅存 4 题(原卷 5 题),缺 1 题未收录、不猜题
论文四题题面完整,无参考答案(来源标注"答案:解析:"为空)
建议用法综合知识题面完整,适合整卷限时模考(150 分钟);案例四题覆盖效用树、UML、数据库反规范化、云平台,均为高频

四、案例分析(1 必做 + 4 选 2)

试题一(必做):机器学习应用开发平台 —— 效用树 + 架构风格对比(25 分)

题面要点
平台支持用户在浏览器中拖拽算法组件定义机器学习流程,自助完成智能应用的设计、实现与部署,并可开发新算法组件加入平台。用户分算法工程师、软件工程师、管理员三种角色。需求与质量属性描述 (a)—(l):
(a) 三种角色功能界面不同;(b) 数据库保护措施,防非授权访问;(c) 分布式部署,主站点断电后 20 秒内将请求重定向到备用站点;(d) 初学者/高级用户两种界面模式可灵活选择;(e) 主站点宕机后 15 秒内发现错误并启用备用系统;(f) 正常负载下流程从提交到开始执行 ≤5 秒;(g) 硬件扩容升级可在 3 人天内完成部署与测试;(h) 记录用户所有操作过程便于审计;(i) 界面风格修改在 3 人天内完成;(j) 正常负载下界面操作请求 ≤0.5 秒响应;(k) 与国内外主流机器学习平台界面风格一致;(l) 提供算法远程调试功能。

问题

  1. (9 分)把质量属性名称与 (a)—(l) 填入效用树。
  2. (16 分)从流程定义的灵活性和学习算法的可扩展性两方面比较解释器、管道-过滤器、隐式调用三种风格,指出更适合哪种。

解题框架

第 1 问(效用树 = 树根"效用"→ 质量属性 → 属性细分 → 场景叶子):

质量属性对应需求判据
性能(f) 5 秒、(j) 0.5 秒明确的时间指标 → 响应时间类场景
可用性(c) 20 秒重定向、(e) 15 秒发现并切换故障检测/恢复时间 → 可用性
安全性(b) 数据库防非授权访问、(h) 操作审计授权/审计
可修改性(g) 3 人天扩容、(i) 3 人天改界面以人天度量的变更成本
易用性(d) 两种界面模式、(k) 与主流风格一致用户操作与学习成本
(约束/功能)(a) 角色权限、(l) 远程调试(a) 偏功能性约束;(l) 可归可测试性(提供调试手段)

〔图缺失〕原题给出效用树骨架(根/属性/细分层已定),只需把属性名与 (a)—(l) 落到叶子。答题要点:既要写属性名,也要写场景编号,且"人天"类一律归可修改性、"秒"类区分性能与可用性(故障相关→可用性)。

第 2 问(16 分,按两个维度逐一对比):

维度解释器管道-过滤器隐式调用(事件)
流程定义灵活性把用户拖拽出的流程视为"程序",由解释器动态解析执行,流程可随时改、无需重编译,灵活性最高流程被固定为过滤器链,拓扑在设计中确定,分支/循环/回退表达能力弱,改流程要重构管线组件注册事件、由事件触发,组合自由但执行顺序不确定,难以表达"必须按序完成"的流程
算法可扩展性新算法 = 扩充解释器可识别的语法/构件库,接口统一,扩展性好新算法 = 新过滤器,只要输入输出格式一致即可插入,扩展性好,但格式约束强新算法 = 注册新事件监听者,扩展性最好(完全解耦),但调试与流程追踪困难
其他解释执行性能较低;适合"规则/流程可变的领域语言"支持过滤器并发、可复用、易理解;不适合交互式与复杂控制松耦合、易演化;控制流隐式、难以保证时序与一致性
  • 结论:平台核心是"用户自定义流程 + 组件可插拔",且需求未对性能提出硬约束(仅 0.5 秒界面响应、5 秒启动)→ 解释器风格更合适;若强调"数据处理流水线固定、需高吞吐",才选管道-过滤器。
  • 得分点:三维/两维逐项对比(不能只说结论);点出隐式调用"控制流不确定"的硬伤;结论与题干"拖拽定义流程"呼应。
  • 典型失分:只答"解释器灵活"不比较;把管道-过滤器说成"不能并行"(它支持过滤器并发,但数据流单向)。

试题二:医院预约挂号管理系统 —— 用例图 + 顺序图 + 三种模型(25 分)

题面要点
功能:(a) 注册登录 (b) 信息浏览 (c) 账号管理 (d) 预约挂号 (e) 查询与取消预约 (f) 号源管理 (g) 报告查询 (h) 预约管理 (i) 报表管理 (j) 信用管理。

问题

  1. (6 分)补全用例图的参与者与用例名称。
  2. (10 分)补全预约挂号顺序图的对象与消息;并说明协作图与顺序图的区别。
  3. (9 分)介绍对象模型、动态模型、功能模型及其关联关系;说明哪些模型可用于需求分析。

解题框架

第 1 问(标准答法):

  • 参与者:患者(预约人员)、系统管理员。
  • 管理员侧用例:(c) 账号管理、(f) 号源管理、(h) 预约管理、(i) 报表管理、(j) 信用管理。
  • 患者侧用例:(a) 注册登录、(b) 信息浏览、(d) 预约挂号、(e) 查询与取消预约、(g) 报告查询。
  • 得分点:参与者只写"人/外部系统",不写系统内部模块;用例用"动宾结构"。
  • 陷阱:把"数据库"当参与者(它是内部构件);把 (b) 信息浏览 归给管理员。

第 2 问:

  • 对象序列:患者(预约人员)→ 预约界面 → 数据库访问类 → 医生信息/出诊时段。
  • 关键消息:预约挂号请求 → 查询医生列表 → 查询医生出诊时段 → 显示可预约时段 → 选择医生与时间并确认 → 返回预约结果 → 显示预约是否成功。
  • 顺序图 vs 协作图(通信图):
  • 顺序图强调消息的时间次序(纵轴时间、生命线、激活条);
  • 协作图强调对象之间的组织结构/链结(对象图 + 编号消息);
  • 两者语义等价,可相互转换(UML 中称"通信图")。
  • 得分点:对象要用"类/角色"名而非具体实例名;消息要从请求方指向提供方。

第 3 问(OMT 三模型):

  • 对象模型:描述系统静态结构(对象、类、属性、操作、关联、聚合/组合、继承),一般用对象图/类图建模,是三个模型中最基础、最核心的部分。
  • 动态模型:描述系统交互次序与状态变化(事件、状态、迁移、条件),一般用状态图建模(顺序图/活动图可辅助)。
  • 功能模型:描述系统的数据变换(输入→处理→输出),一般用数据流图建模。
  • 关联关系(标准答法):
  1. 对象模型定义动态模型与功能模型所操作的数据结构;对象模型中的操作对应动态模型的事件、功能模型的函数;
  2. 动态模型描述对象模型的控制结构,指出哪些决策依赖对象值、哪些动作引起对象变化并激活功能;
  3. 功能模型描述由对象模型的操作和动态模型的动作所激活的功能,作用于对象模型定义的数据,并体现对对象值的约束。
  • 可用于需求分析:三者均可——对象模型刻画问题域概念,动态模型刻画业务状态与交互,功能模型刻画数据处理;实践中以对象模型为主干、三者交叉验证。
  • 得分点:三个模型"图 + 用途"配对正确;关联关系三条不能只答"互相补充"。

试题三:医药电商线上药品销售系统 —— 反规范化 + Redis(25 分)

题面要点
关系数据库(MySQL)+ 缓存(Redis)混合架构。规范化的表:供应商(供应商 ID,名称,联系方式,地址);药品(药品 ID,名称,型号,价格,供应商 ID);药品库存(药品 ID,当前库存数量);订单(订单号,药品 ID,供应商 ID,数量,金额)。
改造后:药品(药品 ID,名称,型号,价格,供应商 ID,供应商名称,当前库存数量)。系统还需"当前热销产品排名""评价分类管理"。

问题

  1. (9 分)200 字内说明常见反规范化设计方法,并指出用户查询商品信息应采用哪种。
  2. (9 分)200 字内说明反规范化后解决数据不一致的三种常见方法,并指出本系统应用哪种。
  3. (7 分)①实现"热销药品排名"应选 Redis 的哪种数据类型?②200 字内说明 Redis 与 MySQL 实时同步的常见方案。

解题框架

第 1 问:

  • 四种反规范化方法:①增加冗余列(把关联表列复制过来,如供应商名称);②增加派生列(由其他列计算得出,如总金额、库存汇总、排名分值);③表合并(把 1:1 关系的表合并为一张);④表分割(水平分割按行/按时间,垂直分割把不常用大字段拆出)。
  • 本系统:查询商品要同时显示药品、供应商、库存 → 采用增加冗余列(把供应商名称、当前库存数量冗余进药品表),把三表连接降为单表查询。
  • 得分点:四种方法名称 + 一句解释;明确"增加冗余列"并说明消除的连接。
  • 陷阱:答"建索引/加缓存"(那是性能优化,不是反规范化);把"表分割"与"分库分表"混。

第 2 问:

  • 三种方法:①应用程序/事务方式维护(在同一事务中更新所有冗余副本,强一致但耦合高、写放大);②触发器方式(数据库触发器在基表变更时自动更新冗余列/派生列,实时但增加 DB 负担、难维护);③批处理/定时同步(定时任务或异步消息重算,最终一致,适合非实时数据)。
  • 本系统:供应商信息变更频率低、库存允许短暂延迟 → 采用批处理(定时同步)为主,库存这类敏感数据可用事务方式保证强一致;改造已运行系统,用触发器会带来较大改动与性能风险。
  • 得分点:三种方法 + "一致性 vs 性能/复杂度"的取舍理由。
  • 陷阱:只答"用事务"不说明代价;把"延迟双删"当反规范化一致性方案(那是缓存一致性方案)。

第 3 问:

  • ① ZSet(有序集合):member = 药品 ID,score = 销量/热度分值,ZINCRBY 累加、ZREVRANGE 取 TopN,天然支持排名与区间查询。
  • ② 同步方案:
  • 被动同步(Cache Aside):读时先查缓存、未命中查 DB 并回填;写时先更 DB 再删缓存(或"延迟双删"降低并发脏读窗口);实现简单,存在短暂不一致。
  • 主动同步:订阅 MySQL binlog(Canal/Debezium)或业务发MQ 消息,由同步服务解析变更并更新 Redis;准实时、业务解耦,需处理消息顺序与幂等。
  • 兜底:给缓存设 TTL 过期,配合版本号/时间戳防旧值覆盖。
  • 得分点:ZSet 及"score 排序"的理由;主动/被动两条链路;binlog + MQ 关键词。
  • 陷阱:用 List 做排名(需自行排序);只说"定时全量刷新"(延迟大、压力大)。

试题四:智能家居管理系统 —— 家庭网关 vs 云平台(25 分)

题面要点
需求:①客户端控制家居设备、设备回传实时状态;②设备数据实时存储与查询;③基于用户数据挖掘生活习惯、提供智能化建议。张工方案基于家庭网关,李工方案基于云平台,公司采用李工方案。

问题

  1. (8 分)400 字内从网关管理、数据处理、系统性能三方面比较两种方案,说明选云平台的原因。
  2. (12 分)从 (a) Wi-Fi (b) 蓝牙 (c) 驱动程序 (d) 数据库 (e) 家庭网关 (f) 云平台 (g) 微服务 (h) 用户终端 (i) 鸿蒙 (j) TCP/IP 中选择,填入架构图空位。
  3. (5 分)300 字内从传输可靠性角度对比 TCP 与 UDP,说明应选哪种。

解题框架

第 1 问:

维度基于家庭网关基于云平台
网关管理网关各自独立,本地管理,跨地点设备无法统一纳管,升级维护需上门云端统一纳管多地点、多类型设备,远程配置/升级/诊断,管理能力强
数据处理数据留在本地网关,存储与算力受限,难以做跨用户的大数据分析与挖掘数据汇聚到云数据库,存储弹性、算力强,便于大数据分析与习惯挖掘;有容灾备份
系统性能局域网内响应快,但受网关硬件限制,多设备并发时易瓶颈;外网访问依赖穿透云侧弹性扩容、负载均衡,并发与吞吐更强;公网访问链路增加少量时延
  • 选云平台理由:需求③"挖掘生活习惯、提供智能建议"必须跨用户、跨时间的大数据分析,本地网关算力与存储不足;同时需远程统一管理与弹性扩容。
  • 得分点:三方面逐项对比(不是只夸云);点出"数据分析/挖掘"是选择云的决定性因素。
  • 陷阱:只说"云更先进";忽略网关方案"本地实时、断网可用"的优点(要辩证)。

第 2 问(架构填空,6 空):

  • 自上而下典型层次:用户终端(h)→ 鸿蒙(i,终端 OS/应用框架)→ 云平台(f)→ 数据库(d);设备侧:家庭网关(e)→ 驱动程序(c)。
  • 记忆要点:端(h/i)— 云(f/d)— 边/网关(e/c);Wi-Fi/蓝牙是接入技术、TCP/IP 是协议栈、微服务是云侧实现方式,通常不在该图的这 6 个空位。
  • 陷阱:把"微服务"填进"云平台"(微服务是云内部的实现风格,不是平台本身);把"TCP/IP"填成设备接入方式(它是协议不是介质)。

第 3 问:

  • TCP:面向连接、三次握手建连、确认+重传+序号+流量控制/拥塞控制,可靠、有序、不丢不重;代价是建连开销、头部大、时延略高。
  • UDP:无连接、不保证送达与顺序、无重传,开销小、时延低,适合实时音视频、广播、海量短报文。
  • 本系统要求"用户终端与服务端双向可靠通信"(控制指令不能丢、状态不能错序)→ 选 TCP。
  • 得分点:TCP 可靠的三条机制(握手、确认重传、序号/窗口);UDP 的适用场景;结论扣"可靠"二字。

五、论文(4 选 1)

来源仅提供题面,未提供范文/参考答案;以下为写作框架,按"三问"结构组织。

试题一:论面向方面的编程技术及其应用(AOP)

三问:①项目背景与本人工作;②项目中使用 AOP 的具体步骤;③使用 AOP 的原因、开发中遇到的问题及实际效果。

写作框架

  • 背景段模板:项目名称、规模(人月/用户数)、技术栈、本人角色(架构师),一句话点出"横切关注点散乱"的痛点。
  • AOP 核心概念:切面(Aspect)、连接点(Join Point)、切点(Pointcut)、通知/增强(Advice:前置/后置/环绕/异常/最终)、织入(Weaving:编译期/类加载期/运行期)、目标对象、代理。
  • 实施步骤(可写 5 步):①识别横切关注点(日志、事务、权限、缓存、监控);②定义切面与切点表达式;③编写通知并在配置/注解中声明;④选择织入方式(Spring AOP 用动态代理,AspectJ 用编译期/加载期织入);⑤测试与调优(代理失效、切点匹配范围、性能开销)。
  • 与 OOP 的关系:OOP 解决纵向的模块化,AOP 解决横向的关注点分离,二者互补而非替代。
  • 实际问题与对策:同类内部调用导致代理失效(改自调用/注入自身代理);切点过宽误拦截(收紧表达式);环绕通知异常吞掉(try-finally);织入带来的启动与调用开销(限定范围、避开热点路径)。
  • 得分点:概念准确(切面/切点/通知/织入四个词必须出现);步骤可落地;效果有量化(如"日志代码减少 40%")。

试题二:论系统安全架构设计及其应用

三问:①项目背景与本人工作;②鉴别框架与访问控制框架的设计内容,以及二者面临的主要威胁及危害;③实际遇到的问题与解决方法。

写作框架

  • 安全目标五性:机密性、完整性、可用性、可控性、不可抵赖性。
  • 鉴别(认证)框架:
  • 鉴别因子:所知(口令)、所有(令牌/证书)、所是(生物特征);
  • 协议:口令鉴别、挑战-应答、Kerberos、基于数字证书的双向认证、多因子认证(MFA)、SSO(CAS/OAuth2/OIDC/SAML)。
  • 主要威胁:口令猜测/撞库、重放攻击、中间人、凭证窃取、会话劫持;危害:身份被冒用、越权访问、审计失真。
  • 访问控制框架:
  • 模型:ACL、RBAC(用户-角色-权限)、ABAC(属性)、MAC/BLP、DAC;
  • 机制:认证→授权→审计(AAA),最小权限、职责分离、特权分离。
  • 主要威胁:越权(水平/垂直)、权限提升、角色爆炸与配置错误、TOCTOU、内部人滥用;危害:数据泄露、数据被篡改、业务被破坏。
  • 架构落地:统一认证中心(IAM)+ 网关鉴权 + 服务间 mTLS + 数据分级分类加密 + 全链路审计日志 + 密钥管理(KMS)。
  • 实际问题:老系统改造无法统一认证(用适配层/协议转换)、权限模型过粗(引入 ABAC 细化)、性能与加密的矛盾(会话缓存 + 硬件加速)。
  • 得分点:鉴别与访问控制分开写;威胁要"名称 + 危害"成对;落地措施与项目绑定。

试题三:论企业集成平台的理解与应用

三问:①项目背景与本人工作;②给出至少 4 种企业集成平台的基本功能并简述内涵;③实际问题与解决方法。

写作框架

  • 集成层次:数据集成、应用集成(EAI)、业务流程集成(BPM)、表示集成(门户)、信息集成。
  • 基本功能(选 4—6 个写透):
  1. 通信服务/消息中间件:可靠异步消息传递(队列/发布订阅),屏蔽异构协议;
  2. 信息集成/数据转换:统一数据模型、格式转换、ETL/CDC、主数据管理;
  3. 应用适配/连接器:适配器封装遗留系统接口(API、文件、数据库、MQ);
  4. 流程编排/流程引擎:BPEL/BPMN 编排跨系统流程,支持长事务与补偿;
  5. 统一门户/表示集成:单点登录、Portlet、统一界面;
  6. 集成管理与监控:服务注册、路由、流量控制、日志审计、SLA 监控;
  7. 安全与治理:统一身份、传输加密、服务契约与版本治理。
  • 架构形态:ESB(总线)→ 微服务 + API 网关 → 事件驱动(Kafka),说明选型理由。
  • 实际问题:接口标准不一(制定契约 + 适配器)、数据不一致(补偿事务/对账)、集成链路难排障(全链路 traceId)、总线单点瓶颈(集群 + 限流)。
  • 得分点:功能数量达标(≥4)且各有内涵;避免只列名词;结合项目讲清"先集成什么、为什么"。

试题四:论微服务架构及其应用

三问:①项目背景与本人工作;②微服务的优点;③如何基于微服务架构进行设计实现。

写作框架

  • 优点:独立部署与独立伸缩、技术异构、故障隔离、团队自治(康威定律)、按业务能力划分边界、易持续交付。
  • 设计实现路径:
  1. 服务拆分:按业务能力/限界上下文(DDD)拆分,避免"分布式单体";
  2. API 设计:REST/gRPC、契约优先(OpenAPI/Proto)、版本管理;
  3. 数据管理:每服务独立数据库,Saga/TCC/本地消息表解决分布式事务,CQRS/事件溯源按需;
  4. 通信与治理:服务注册发现(Nacos/Eureka)、API 网关、负载均衡、熔断限流降级(Sentinel/Hystrix)、配置中心;
  5. 可观测性:链路追踪(SkyWalking/Jaeger)、集中日志(ELK)、指标监控(Prometheus+Grafana);
  6. 部署运维:容器化(Docker)+ 编排(K8s)、CI/CD、灰度发布、服务网格(Istio)可选;
  7. 安全:网关统一鉴权 + 服务间 mTLS + 最小权限。
  • 实际问题:拆分过细导致调用链长(合并服务/聚合接口)、分布式事务一致性(Saga + 对账)、雪崩(熔断 + 舱壁 + 超时)、链路排障难(traceId 全链路)。
  • 得分点:优点与实现分两段;必须出现"独立数据库/分布式事务/服务治理/可观测性"四组关键词;有量化效果。

六、使用建议

  1. 综合知识是近年题面最完整的一份(含逐题解析),建议整卷限时 150 分钟模考,再逐题核对解析。
  2. 高频送分点:页式地址变换、索引节点寻址范围、银行家算法、自然连接、交换机自学习、RIP/分组交换、CMMI 级别、内聚耦合排序、4+1 视图、ABSD、DSSA 垂直/水平域、敏感点/权衡点、质量属性场景。
  3. 案例必做题是"效用树 + 风格对比"的标准题型,与 2022 下必做题同源,务必把"效用树四层结构 + 六类质量属性关键词"背熟。
  4. 案例选做题四类模板可直接复用:UML 三模型、反规范化 + 缓存一致性、端-边-云架构对比。
  5. 论文四题(AOP、安全架构、企业集成平台、微服务)都是"老题重考",建议各准备一套 2000 字素材,重点背"三问"对应的骨架。

七、来源

编号来源用途可信度
S1CSDN「程序员小圆」《系统架构设计师-2021 年下半年上午综合知识真题及答案》 https://blog.csdn.net/yuanmayuzhou/article/details/143760605综合知识 75 题题面 + 答案 + 解析中高(回忆版,但带完整解析,与教材一致)
S2CSDN「程序员小圆」《系统架构设计师-2021 年下半年下午案例真题及答案》 https://blog.csdn.net/yuanmayuzhou/article/details/143769420案例 4 题题面 + 部分参考答案中(试题一无答案;试题二/三/四答案较完整)
S3CSDN「程序员小圆」《系统架构设计师-2021 年下半年下午论文真题及答案》 https://blog.csdn.net/yuanmayuzhou/article/details/143769521论文 4 题题面高(题面完整,无范文)

说明:

  1. 本卷综合知识答案以 S1 为准,凡 S1 答案解析自相矛盾(第 5/6 题)或选项缺失(第 8 题)处已标存疑。
  2. 案例分析原卷为 1 必做 + 4 选做(共 5 题),公开源仅存 4 题,缺 1 题未收录、不补题。
  3. 论文部分 S3 未提供参考答案(原文标注为空),本卷仅整理题面与写作框架,不虚构范文。