高级系统架构设计师复习笔记

教材

  • 系统架构设计师教程 - 官方教材,有电子版
  • 历年真题

复习资源

2022系统架构设计师资料收集
(21年有各种事情影响所以没报名)

https://v.qq.com/x/cover/mzc00200n1dxs9c.html
还有腾讯视频上面那一套21年的,虽然是付费的,网上找一个插件,就可以免费看了。
油猴  插件  玩得嗨,可以免费看

考试注意

自2023年11月开始,软考各科目从笔试改为无纸化考试。

笔记

论文准备

                          应用场景的合理性
                           |
论文 = 心态 + 技巧 + 理论 + 实践
              |
            把握跟阅卷老师如何沟通

1.不要总想着猜对题目 - 因为猜题容易绕论自己的心态导致无法正常应试。 - 解决方案:化整为零的构建化复用

2.分不同主题准备素材练习论文

至少4篇:系统建模、软件架构设计、系统可靠性分析与设计、系统安全性和保密性设计,有余力有多余时间的话,可以准备系统设计、系统分布式设计的内容。

3.注意包含分析(考虑了哪些因素)、讨论(所以做了什么样的决定)和最终如何实施(你是怎么去做的),体现独立性,注意表达方式。

4.准备工作

加强学习、平时积累、共同提高
提高写作速度(前期可以打字,后期一定手写,不然看着会不习惯,手写压力也更大,注意字体尽量工整点)
以不变应万变(不变的是你的项目,要深入理解你这个项目,多方面理解。)

好处:项目简介可复用,项目摘要大部分可复用,项目收尾部分可以复用。即使主题完全不同,也基本能保证30%以上的复用度;若主题相近,能达到70%复用度。

好的考试论文写作方法:
    1)灵活的运用可复用的内容
    2)再根据题目要求灵活的做应对

Q:项目经验不足怎么办?

没关系,你参与过一个项目就拿这一个项目做基础来展开相关内容的描述。(3000字其实很难看出实践经验水平,论文主体内容不好主要出在理论功底不足)

技巧:你的项目可能是信息化体系中的一个子项目。可以把它定义为一个信息化体系的大项目,以其中一个子型项目为例来论述。

综合知识

时间安排:09:00 - 11:30

上午选择题,75道,原则就是不会做也得机选一个机读卡。

10分钟填写机读卡和检查。 P.S.: 改机考后不用预留这个时间,如果能提前完成作答,可以早点去吃午饭并午休,然后为下午考试做准备。

150 - 10 = 140 mins

140/75约等于 1.86666

差不多平均1题最多花1 min 51s(包含审题时间),计算量大的题除非有把握做对,不然不要浪费时间,留到最后来做。

案例题

(别午睡了,因为也不好找地方,有坐的地方就把前几年的案例题再过一遍,知识点背背)

总共时间90分钟,第1题必须做,后面4选2道来做,总共做3道题。

时间安排:13:30 - 15:00

13:30 - 13:40 概要过题目,确定自己要选的那两道题。

13:40 - 14:05 必须完成第1道题。

14:05 - 14:30 必须完成第2道题。

14:30 - 14:55 必须完成第3道题。

14:55 - 15:00 查漏补缺,等待考试结束。

论文题写作考场时间分配

1.找准核心论点 (5 mins)
2.搭建论文框架 (10 mins)
3.撰写摘要 (15 mins)
4.正文写作 (90 mins)

更新细化的时间安排:15:20 - 17:20

15:20 开始考试
<=15:25 <=5 mins确定题目
<=15:30 <=5 10mins列提纲,论点和框架
<=15:50 写完摘要(10-20mins,摘要就在第1页内容中,摘要尽量写好,稍微超时一点也可以,毕竟是关键。)

(进入正文部分,总共80 mins, 包含结尾2000字以上)
16:10 写完第1页  20 mins
16:40 写完第2页  30 mins
17:10 写完第3页 (30 mins应该够,因为第3页不用写完,写过格子标志2500字基本就稳了。)

<=17:20 检查论文,尽量少修改,字数不足的想办法扩充结尾
17:20 交卷

如何写好正文

  • 1.以"我"为中心 (我们,是一个项目组在做开发,不是你自己一个人) ...

论文评分标准注意

正文部分少于1200字基本过不了。

实际全文少于2000字,一般都会不合格。(先争取在规定时间内写完2000+的论文再说。考虑实际考题除非完全压中,不然你还需要做一些基本构思才能开始写论文,会有额外时间开销的。)

全文2500-2700字左右合适。

6页答题卡总共也就2750字啊,2500字后下一行最好就开始收尾,写到答题卡2500标记处,字数是肯定就稳了。 一行22个字。个别猛人,千万不要写超标。
摘要  300 - 320字   (300字就好,多了也写不下。)

项目概要   400 - 600字

正文   1400 - 1800字

总结  100 - 200字

如果论文已经写完,但是实在还缺字数,后面可以加图或展望。(最好安排好,不要这么操作)

一定要收尾,切记。(没收尾基本不可能合格,大概是答题卡7行的样子。注意2500字后面至少留7行) 一定要写摘要,切记。(特别是对于喜欢最后写摘要的人,写字速度慢的人不推荐最后写摘要,摘要没写完,论文绝对凉)

文章还没写完,铃响。至少写一句:XX项目于XX时候圆满成功,得到各方认可。

论文部分个人可做准备工作

1.准备底稿(通用的项目细节,摘要和结尾得通用部分)
2.记忆底稿(最好能至少完整抄写一次,多读多记忆)
3.练字和练写字速度

计算机组成与结构

CPU中央处理单元

CPU = 控制器(控制整个CPU工作) + 运算器 + 寄存器组(32bit,64bit) + 内部总线 等。

CPU功能: - 数据处理 (运算器) 算术运算和逻辑运算 - 程序控制 (控制器) - 操作控制 (控制器) - 时间控制 (控制器)

运算器:算数逻辑单元ALU、累加寄存器AC、数据缓冲寄存器DR、状态条件寄存器PSW。

控制器:指令寄存器IR,程序计数器PC,地址寄存器AR,指令译码器ID

CPU依据指令周期的不同阶段来区分二进制的指令和数据

校验码

CRC循环冗余校验码:只能检错,不能纠错。

计算CRC校验码的方法为必掌握内容。

流水线时间计算

重点记下面4个计算公式:

  • 流水线周期:指令分成不同执行段,其中执行时间最长的段未流水线周期。
  • 流水线执行时间:1条指令的总执行时间 +(总指令条数 - 1)* 流水线周期。
  • 流水线吞吐率计算:吞吐率即单位时间内执行的指令条数。公式:流水线吞吐率 = 指令条数/流水线执行时间
  • 流水线加速比计算:加速比即使用流水线后的效率提升度。公式:不使用流水线执行时间/使用流水线执行时间

ext:

1s = 10^9 ns
1ns = 10^(-9) s

Flynn分类法

Flynn分类 重点记忆 2单令多流 和 4多令多流

  • CISC与RISC
  • CISC:复杂指令集计算机(Complex Instruction Set Computer) 微程序控制技术(微码),周期长
  • RISC:精简指令集计算机(Reduced Instruction Set Computer) 增加通用寄存器,硬布线逻辑

  • 流水线技术

  • 存储系统
  • 校验码
  • 并行处理

性能监控

性能评价方法

时钟频率法
指令执行速度法
等效指令速度法(吉普森混合法)
数据处理速率法(PDR)
综合理论性能法(CTP)
基准程序法(参考现在的跑分软件)

性能监测方法

  • 软件监控: 使用软件对系统性能数据进行采集分析,此方法会消耗较多的系统资源。
  • 硬件监控: 使用专用硬件设备对系统性能数据进行采集分析,适用于高负载的计算机系统。

高频简称和术语

  • 每秒处理的百万级的机器语言指令数(MIPS):这是衡量CPU速度的一个指标。

需要记忆的公式

看纸质笔记

PV操作

PV操作是一种实现进程互斥与同步的有效方法。

PV操作与信号量(Semaphore)的处理相关,P表示通过的意思,V表示释放的意思。

PV操作是典型的同步机制之一。用一个信号量与一个消息联系起来,当信号量的值为0时,表示期望的消息尚未产生;当信号量的值非0时,表示期望的消息已经存在。用PV操作实现进程同步时,调用P操作测试消息是否到达,调用V操作发送消息。

临界资源:诸进程间需要互斥方式对其进行共享的资源(如果:打印机、磁带机)

临界区:每个进程中访问临界资源的那段代码

信号量:一种特殊变量

P(S)    V(S)     S就是信号量, P是唤醒进程, V表示释放

P入V出,P减V增

P操作   S自减1    当S<0时,会阻塞当前进程,所以会进入  进程队列  等待。
V操作   S自增1    当S<=0时,从系统的 进程队列中取出一个进程,唤醒这个进程并执行

运行时没有PV操作,会出现哪种问题? PV操作解决的问题是:并发进程之间某些约束关系的问题

索引文件结构

13个节点(0-12)

数据库

E-R方法

E-R方法,主要概念有实体、联系、属性

关系代数

并、交、差大家都懂,一般不考,重点考 笛卡尔积、投影、选择、联接

注意笛卡尔积和联接。

笛卡尔积,列出两表所有字段。 笛卡尔积(S1 x S2)的结果集的属性个数:参与操作的的2个关系的属性数之和。记录数是2个关系的记录数之乘积。

投影 选择 列 来展示

选择 选择 行(记录) 来展示

联接
比如等值联接。与笛卡尔积的最大区别,将S1和S2都有的字段只保留一个。 联接操作中没写联接条件的被称为自然联接。两个关系S1 S2,默认相同的字段做等值联接。

规范化理论

候选键和超键的区别:候选键没有多于属性。超键可能存在冗余属性。

候选键和主键的区别:候选键可以有多个,主键只能有1个。

外键:其它关系的主键。主要用于关联查询。

并发控制

并发产生的问题

丢失更新
不可重复读     
读"脏"数据     

注意封锁协议,两段锁协议,串行,可能引发死锁。

完整性约束

实体完整性约束参照完整性约束用户自定义完整性约束 触发器

数据备份

冷备份,静态备份,数据库要正常关闭,不能精确到表备份恢复 热备份,动态备份,利用备份软件,可以在数据库正常运行状态下,更灵活,可以备份到表级,部分备份和恢复,但是不能出错

反规范化

增加派生性冗余列
增加冗余列
重新组表
分割表

大数据

海量数据相关技术

4V: Volume 数据量,Velocity 速度, Variety 多样性, Value值

网站架构模式

分层

网络系统生命周期可以划分为5个阶段

需求规范、通信规范、逻辑网络设计、物理网络设计、实施阶段 (需通逻物实)

五阶段周期是较为常见的迭代周期划分方式。在5个阶段中,由于每个阶段都是一个工作环节,每个环节完成后才能进入到下一个环节,类似于软件工程中的“瀑布模型”。

计算机网络协议

IP -> Mac     ARP协议,地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。

解析IP ->  域名   PTR   PTR (Pointer Record),指针记录,解析IP地址到域名。

CPU频率

分为:主频、外频、倍频

计算公式:主频 = 外频 * 倍频

设计原则

  • 单一职责原则:设计目的单一的类
  • 开放-封闭原则:对扩展开放,对修改封闭
  • 李氏(Liskow)替换原则:子类可以替换父类
  • 依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,而非实现编程
  • 接口隔离原则:使用多个专门的接口比使用单一的总接口要好
  • 组合重用原则:要尽量使用组合,而不是继承关系达到重用目的(少用继承)
  • 迪米特(Demeter)原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解(适当封装)

设计模式

创建型模式

结构型模式

行为型模式

答题技巧

案例分析

答题套路

按照往年的惯例,第一题必做,其它四题选二,不排除更改的可能性,请按照当年政策来,这里仅做参考。 答题技巧

考法

范围广,没有统一的套路。
主要内容要做到,不只是会选择,而且要能够自己表达出来,更注重实操总结。
知识点背诵,例如需求分析的过程等等。
方案优劣判断,例如两个工程师的方案选择,知识点与技术点延伸。
各种图的考查,例如某个用例图空出几个,在答案里选择或者是直接填写。

答题

本来应该还有减少涂改,但是改成机考后,这个问题就不存在了,不过如果有不擅长打字的人,需要练下打字速度。

条理清晰,一定要让阅卷老师感受到你的条理清晰。
回答简洁,答案一定要在不破坏答案的点的前提下,尽可能精简。
用词精确,表达清楚自己的观点。
宁愿答错也要多答,因为案例部分是正向给分的,也就是说看到对的点就给分,看到错的点也不扣分。
绝不留空,即使遇到不会的问题,也不要留空。因为留空意味着绝对没有分数。而一些合适的回答,也许可以获得一些分数。
合理选题:由于案例分析是1 + 2/4(即第一题必写,后面四道题选做两道),所以合理选择要做的题目是很重要的。
新知识点或者是自己不了解的知识点:只要觉得是对的,都写上。

其它的考试经验