本页目录 · 7 节
- 一、本卷元信息
- 答案与可信度标注体系
- 二、综合知识(选择题)
- (一)操作系统与计算机组成(1—4)
- (二)数据库(5—8)
- (三)嵌入式与新技术(9—12)
- (四)网络与信息化(13—21)
- (五)软件工程与过程管理(22—30)
- (六)软件设计、构件与 UML(31—38)
- (七)安全、知识产权与数学(39—43、64—70)
- (八)架构风格、评估与复用(44—63)
- (九)专业英语(71—75,五空同一篇)
- 三、收录说明
- 四、案例分析(1 必做 + 4 选 2)
- 试题一(必做):机器学习应用开发平台 —— 效用树 + 架构风格对比(25 分)
- 试题二:医院预约挂号管理系统 —— 用例图 + 顺序图 + 三种模型(25 分)
- 试题三:医药电商线上药品销售系统 —— 反规范化 + Redis(25 分)
- 试题四:智能家居管理系统 —— 家庭网关 vs 云平台(25 分)
- 五、论文(4 选 1)
- 试题一:论面向方面的编程技术及其应用(AOP)
- 试题二:论系统安全架构设计及其应用
- 试题三:论企业集成平台的理解与应用
- 试题四:论微服务架构及其应用
- 六、使用建议
- 七、来源
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.
| 空 | 选项 | 答案 |
|---|---|---|
| 71 | A. Client/Server system B. Client-side C. Server-side D. Database | A |
| 72 | A. Server-side B. Browser C. Fat client D. Thin client | D |
| 73 | A. Cloud platform B. Cluster system C. Fat client D. Thin client | C |
| 74 | A. Transaction server B. Database server C. Application server D. Message server | B |
| 75 | A. Database server B. Message server C. Web server D. Application server | C |
解析: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) 提供算法远程调试功能。
问题
- (9 分)把质量属性名称与 (a)—(l) 填入效用树。
- (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) 信用管理。
问题
- (6 分)补全用例图的参与者与用例名称。
- (10 分)补全预约挂号顺序图的对象与消息;并说明协作图与顺序图的区别。
- (9 分)介绍对象模型、动态模型、功能模型及其关联关系;说明哪些模型可用于需求分析。
解题框架
第 1 问(标准答法):
- 参与者:患者(预约人员)、系统管理员。
- 管理员侧用例:(c) 账号管理、(f) 号源管理、(h) 预约管理、(i) 报表管理、(j) 信用管理。
- 患者侧用例:(a) 注册登录、(b) 信息浏览、(d) 预约挂号、(e) 查询与取消预约、(g) 报告查询。
- 得分点:参与者只写"人/外部系统",不写系统内部模块;用例用"动宾结构"。
- 陷阱:把"数据库"当参与者(它是内部构件);把 (b) 信息浏览 归给管理员。
第 2 问:
- 对象序列:患者(预约人员)→ 预约界面 → 数据库访问类 → 医生信息/出诊时段。
- 关键消息:预约挂号请求 → 查询医生列表 → 查询医生出诊时段 → 显示可预约时段 → 选择医生与时间并确认 → 返回预约结果 → 显示预约是否成功。
- 顺序图 vs 协作图(通信图):
- 顺序图强调消息的时间次序(纵轴时间、生命线、激活条);
- 协作图强调对象之间的组织结构/链结(对象图 + 编号消息);
- 两者语义等价,可相互转换(UML 中称"通信图")。
- 得分点:对象要用"类/角色"名而非具体实例名;消息要从请求方指向提供方。
第 3 问(OMT 三模型):
- 对象模型:描述系统静态结构(对象、类、属性、操作、关联、聚合/组合、继承),一般用对象图/类图建模,是三个模型中最基础、最核心的部分。
- 动态模型:描述系统交互次序与状态变化(事件、状态、迁移、条件),一般用状态图建模(顺序图/活动图可辅助)。
- 功能模型:描述系统的数据变换(输入→处理→输出),一般用数据流图建模。
- 关联关系(标准答法):
- 对象模型定义动态模型与功能模型所操作的数据结构;对象模型中的操作对应动态模型的事件、功能模型的函数;
- 动态模型描述对象模型的控制结构,指出哪些决策依赖对象值、哪些动作引起对象变化并激活功能;
- 功能模型描述由对象模型的操作和动态模型的动作所激活的功能,作用于对象模型定义的数据,并体现对对象值的约束。
- 可用于需求分析:三者均可——对象模型刻画问题域概念,动态模型刻画业务状态与交互,功能模型刻画数据处理;实践中以对象模型为主干、三者交叉验证。
- 得分点:三个模型"图 + 用途"配对正确;关联关系三条不能只答"互相补充"。
试题三:医药电商线上药品销售系统 —— 反规范化 + Redis(25 分)
题面要点
关系数据库(MySQL)+ 缓存(Redis)混合架构。规范化的表:供应商(供应商 ID,名称,联系方式,地址);药品(药品 ID,名称,型号,价格,供应商 ID);药品库存(药品 ID,当前库存数量);订单(订单号,药品 ID,供应商 ID,数量,金额)。
改造后:药品(药品 ID,名称,型号,价格,供应商 ID,供应商名称,当前库存数量)。系统还需"当前热销产品排名""评价分类管理"。
问题
- (9 分)200 字内说明常见反规范化设计方法,并指出用户查询商品信息应采用哪种。
- (9 分)200 字内说明反规范化后解决数据不一致的三种常见方法,并指出本系统应用哪种。
- (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 分)
题面要点
需求:①客户端控制家居设备、设备回传实时状态;②设备数据实时存储与查询;③基于用户数据挖掘生活习惯、提供智能化建议。张工方案基于家庭网关,李工方案基于云平台,公司采用李工方案。
问题
- (8 分)400 字内从网关管理、数据处理、系统性能三方面比较两种方案,说明选云平台的原因。
- (12 分)从 (a) Wi-Fi (b) 蓝牙 (c) 驱动程序 (d) 数据库 (e) 家庭网关 (f) 云平台 (g) 微服务 (h) 用户终端 (i) 鸿蒙 (j) TCP/IP 中选择,填入架构图空位。
- (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 个写透):
- 通信服务/消息中间件:可靠异步消息传递(队列/发布订阅),屏蔽异构协议;
- 信息集成/数据转换:统一数据模型、格式转换、ETL/CDC、主数据管理;
- 应用适配/连接器:适配器封装遗留系统接口(API、文件、数据库、MQ);
- 流程编排/流程引擎:BPEL/BPMN 编排跨系统流程,支持长事务与补偿;
- 统一门户/表示集成:单点登录、Portlet、统一界面;
- 集成管理与监控:服务注册、路由、流量控制、日志审计、SLA 监控;
- 安全与治理:统一身份、传输加密、服务契约与版本治理。
- 架构形态:ESB(总线)→ 微服务 + API 网关 → 事件驱动(Kafka),说明选型理由。
- 实际问题:接口标准不一(制定契约 + 适配器)、数据不一致(补偿事务/对账)、集成链路难排障(全链路 traceId)、总线单点瓶颈(集群 + 限流)。
- 得分点:功能数量达标(≥4)且各有内涵;避免只列名词;结合项目讲清"先集成什么、为什么"。
试题四:论微服务架构及其应用
三问:①项目背景与本人工作;②微服务的优点;③如何基于微服务架构进行设计实现。
写作框架
- 优点:独立部署与独立伸缩、技术异构、故障隔离、团队自治(康威定律)、按业务能力划分边界、易持续交付。
- 设计实现路径:
- 服务拆分:按业务能力/限界上下文(DDD)拆分,避免"分布式单体";
- API 设计:REST/gRPC、契约优先(OpenAPI/Proto)、版本管理;
- 数据管理:每服务独立数据库,Saga/TCC/本地消息表解决分布式事务,CQRS/事件溯源按需;
- 通信与治理:服务注册发现(Nacos/Eureka)、API 网关、负载均衡、熔断限流降级(Sentinel/Hystrix)、配置中心;
- 可观测性:链路追踪(SkyWalking/Jaeger)、集中日志(ELK)、指标监控(Prometheus+Grafana);
- 部署运维:容器化(Docker)+ 编排(K8s)、CI/CD、灰度发布、服务网格(Istio)可选;
- 安全:网关统一鉴权 + 服务间 mTLS + 最小权限。
- 实际问题:拆分过细导致调用链长(合并服务/聚合接口)、分布式事务一致性(Saga + 对账)、雪崩(熔断 + 舱壁 + 超时)、链路排障难(traceId 全链路)。
- 得分点:优点与实现分两段;必须出现"独立数据库/分布式事务/服务治理/可观测性"四组关键词;有量化效果。
六、使用建议
- 综合知识是近年题面最完整的一份(含逐题解析),建议整卷限时 150 分钟模考,再逐题核对解析。
- 高频送分点:页式地址变换、索引节点寻址范围、银行家算法、自然连接、交换机自学习、RIP/分组交换、CMMI 级别、内聚耦合排序、4+1 视图、ABSD、DSSA 垂直/水平域、敏感点/权衡点、质量属性场景。
- 案例必做题是"效用树 + 风格对比"的标准题型,与 2022 下必做题同源,务必把"效用树四层结构 + 六类质量属性关键词"背熟。
- 案例选做题四类模板可直接复用:UML 三模型、反规范化 + 缓存一致性、端-边-云架构对比。
- 论文四题(AOP、安全架构、企业集成平台、微服务)都是"老题重考",建议各准备一套 2000 字素材,重点背"三问"对应的骨架。
七、来源
| 编号 | 来源 | 用途 | 可信度 |
|---|---|---|---|
| S1 | CSDN「程序员小圆」《系统架构设计师-2021 年下半年上午综合知识真题及答案》 https://blog.csdn.net/yuanmayuzhou/article/details/143760605 | 综合知识 75 题题面 + 答案 + 解析 | 中高(回忆版,但带完整解析,与教材一致) |
| S2 | CSDN「程序员小圆」《系统架构设计师-2021 年下半年下午案例真题及答案》 https://blog.csdn.net/yuanmayuzhou/article/details/143769420 | 案例 4 题题面 + 部分参考答案 | 中(试题一无答案;试题二/三/四答案较完整) |
| S3 | CSDN「程序员小圆」《系统架构设计师-2021 年下半年下午论文真题及答案》 https://blog.csdn.net/yuanmayuzhou/article/details/143769521 | 论文 4 题题面 | 高(题面完整,无范文) |
说明:
- 本卷综合知识答案以 S1 为准,凡 S1 答案解析自相矛盾(第 5/6 题)或选项缺失(第 8 题)处已标存疑。
- 案例分析原卷为 1 必做 + 4 选做(共 5 题),公开源仅存 4 题,缺 1 题未收录、不补题。
- 论文部分 S3 未提供参考答案(原文标注为空),本卷仅整理题面与写作框架,不虚构范文。