软考高级1000问:系统架构师、项目管理师与真题解析
本篇迁移软考相关的 10 道测试题、3 道实践专题和学习计划。考试科目、题型、分值和论文要求可能随年度政策调整,实际备考以当年官方考试说明为准。
一、系统架构师测试题
Q21. 计算机体系结构和计算机组成有什么区别?
答案: 计算机体系结构关注程序员可见的系统属性,例如指令集、寄存器、寻址方式和数据表示;计算机组成关注如何用硬件实现这些属性,例如流水线、Cache、总线、控制器和存储层次。简记:体系结构回答“机器对软件呈现什么”,组成回答“硬件如何实现”。
Q22. Flynn 分类法四类是什么?GPU 属于哪一类?
答案: Flynn 分类按指令流和数据流数量分为 SISD、SIMD、MISD、MIMD。现代 GPU 通常采用 SIMT 执行模型,概念上接近 SIMD:大量线程对不同数据执行相同或相似指令。真实 GPU 还包含分支分歧、线程束调度和多核并行,不能把它完全等同于传统向量 SIMD。MISD 在通用商业计算机中较少见,但在特定冗余/流水处理架构中有讨论。
Q23. Cache 平均访问时间如何计算?
答案: 常见公式:
AMAT = Hit Time + Miss Rate × Miss Penalty命中率 95%、命中时间 1ns,若一次未命中需要额外访问 10ns 主存,则 AMAT=1+0.05×10=1.5ns。若题目把“未命中总时间”定义为 10ns(已包含 Cache 查询时间),则平均时间为 0.95×1+0.05×10=1.45ns。答题要先明确 miss penalty 的定义。
Q24. FCFS、SSTF、SCAN、C-SCAN 哪种磁盘调度可能造成饥饿?
答案: SSTF(最短寻道时间优先)优先服务距离当前磁头最近的请求,远端请求可能长期得不到服务,存在饥饿风险。SCAN 像电梯一样双向扫描,C-SCAN 主要沿一个方向服务后回到起点,通常能改善公平性。实际操作系统还会结合队列合并、请求年龄和设备特性优化。
Q25. 进程和线程的本质区别是什么?
答案: 进程通常拥有独立虚拟地址空间和资源管理边界;同一进程内的线程共享地址空间和大部分进程资源,但各自拥有栈、寄存器上下文和调度状态。线程切换通常不需要切换完整地址空间,因此开销可能更小,但仍有调度、寄存器保存和缓存影响。
Q26. 死锁的四个必要条件是什么?银行家算法做什么?
答案: 死锁的四个必要条件是互斥、占有并等待、不可抢占、循环等待。银行家算法通过检查资源分配后的状态是否存在安全序列,判断系统是否处于安全状态;它需要已知最大资源需求,属于避免死锁的经典算法,不是所有通用 OS 都实际采用的唯一方案。
Q27. 为什么 FIFO 页面置换可能出现 Belady 异常,而 LRU 不会?
答案: Belady 异常指分配更多页框后,FIFO 的缺页次数反而增加。FIFO 不具备栈算法的包含性质,因此可能出现这种现象。LRU 是栈算法,较多页框下的驻留集合包含较少页框下的集合,因此不会出现经典 Belady 异常。这里讨论的是标准页面置换模型,不等于现实系统所有缓存策略都满足 LRU 理论假设。
Q28. ACID 是什么?为什么可重复读仍可能出现幻读?
答案:
- Atomicity:原子性。
- Consistency:一致性。
- Isolation:隔离性。
- Durability:持久性。
可重复读通常保证同一行重复读取结果一致,但若数据库实现未通过范围锁、谓词锁或多版本序列化机制阻止范围内新行出现,重复执行范围查询仍可能看到新增记录,即幻读。不同数据库对隔离级别的具体实现不同;Serializable 通常提供更强的可串行化语义。
Q29. 软件架构的质量属性有哪些?论文中怎样把质量属性写实?
答案: 常见质量属性包括性能、可用性、可靠性、安全性、可维护性、可扩展性、可移植性和互操作性。论文不能只写“系统高性能、高可靠”,应给出场景、刺激、环境、响应和可测量指标,例如“峰值 5000 请求/秒时,P99 响应时间不超过 200ms,节点故障后 30 秒内恢复”。
flowchart TD A[业务需求] --> B[质量属性场景] B --> C[架构决策] C --> D[设计机制] D --> E[验证指标 / 测试证据] E --> F[结果与权衡]
Q30. 系统架构师论文的项目背景怎样写才具体?
答案: 采用“项目是什么—你负责什么—约束是什么—为什么需要架构设计”的结构:
- 项目背景:行业、业务目标、系统边界、周期和团队规模。
- 个人职责:明确本人承担的架构设计与决策范围。
- 关键需求:功能需求与非功能需求(性能、可用性、安全等)。
- 主要约束:预算、芯片/平台、法规、进度、供应链和兼容性。
- 设计挑战:指出需要比较的备选方案和最终选择依据。
不要虚构项目经历或堆砌术语。若使用真实工作项目,需对客户、公司和产品信息脱敏。
二、论文与工程实践专题
Q31. 系统架构师考试和 AUTOSAR BSW 架构设计有哪些相通点?
答案: 两者都涉及分层、模块化、接口、质量属性、架构风格、依赖管理和方案权衡。考试强调从需求出发设计完整系统;实际 AUTOSAR 工作更多是在既定标准、供应商工具和 ECU 资源约束下集成、配置和优化。备考应学习架构设计思维,工作中则要把标准接口与真实工程约束结合。
Q32. 系统架构师论文选哪个嵌入式项目更容易写出技术深度?
答案: 可选择自己真正参与、资料可追溯且能讲清决策过程的项目。Bootloader 容错架构适合展开镜像校验、A/B 分区、回滚、启动状态机和故障恢复;AUTOSAR BSW 架构适合展开分层、模块接口、通信/诊断/存储集成。不要为了“好写”虚构项目,论文应围绕本人真实职责、方案比较、实施结果和反思组织。
Q33. 嵌入式项目中哪些项目管理知识领域最常用?
答案: 常见高频实践包括:
- 风险管理:芯片缺货、替代料、需求变更、ASIL 变更、工具链升级和进度风险。
- 沟通管理:OEM、Tier 1、硬件、软件、测试和供应商之间的接口定义、问题回读和决策记录。
- 采购管理:器件替代、质量、交期、供货生命周期和变更影响。
风险应按识别、分析、应对和监控闭环管理;沟通要有明确接口文档和确认机制;采购替代不能只看封装和标称参数,还要评估温度、可靠性和认证。
三、信息系统项目管理师学习计划
Q34. 项目管理师如何安排通读、刷题和模拟三个阶段?
答案: 可采用三个阶段,但时长要按个人基础和考试日期调整:
- 知识框架:理解信息系统、项目管理过程组、知识领域和法律法规。
- 真题与计算:重点练 EVM(PV/EV/AC、CPI/SPI、EAC/ETC)、关键路径、PERT 和案例分析。
- 全真模拟:按考试时间训练选择、案例和论文,复盘错因并补足薄弱领域。
论文准备应积累 3–5 个真实项目素材,围绕不同管理领域练习论点;不要只背一篇万能模板。
flowchart LR A[教材与知识框架] --> B[真题 / 计算专项] B --> C[案例分析] C --> D[论文素材与结构] D --> E[全真模拟] E --> F[错题复盘与薄弱项补强] F --> E
Flomo 原始来源
- 系统架构师 1000 问:https://v.flomoapp.com/mine/?memo_id=MjQ3Mjg1Mjgy
- 信息系统项目管理师 1000 问:https://v.flomoapp.com/mine/?memo_id=MjQ3Mjg1MzU2
- 10 道系统架构师测试题:https://v.flomoapp.com/mine/?memo_id=MjU2MDI5ODQx
- 架构师考试与 AUTOSAR 对比:https://v.flomoapp.com/mine/?memo_id=MjQ5MDI4OTc1
- 论文项目背景模板:https://v.flomoapp.com/mine/?memo_id=MjQ5MDI5MDA0
- 嵌入式项目管理知识领域:https://v.flomoapp.com/mine/?memo_id=MjQ5MDI5MDM4
- 项目管理师学习计划:https://v.flomoapp.com/mine/?memo_id=MjQ2OTM5NjQ3
- 软考学习资源清单:https://v.flomoapp.com/mine/?memo_id=MjMwODk4ODk3