试题考点总结
一、计算机系统
1、基础知识
-
CPU
- 运算器
- 累加寄存器(AC):
为 ALU 暂时保存一个操作数和运算结果
。 - 控制器
- 程序计数器(PC):具有存储信息和计数两种功能。
- 系统总线:连接CPU,主存,外部设备
-
数据表示
-
移码:机器字长为 n,在偏移量为 2 n − 1 2^{n-1} 2n−1 时,
移码为补码的符号位取反
-
浮点数运算:对阶(把阶码小的数的尾数右移K位,使其阶码加上 K)
-
机器字长 n 时各种码制表示的带符号数的范围:原码与反码相同 ,补码与移码相同。
码 制 定点整数 定点小数 原码 − ( 2 n − 1 − 1 ) -(2^{n-1}-1) −(2n−1−1) ~ + ( 2 n − 1 − 1 ) +(2^{n-1}-1) +(2n−1−1) − ( 1 − 2 − ( n − 1 ) ) -(1-2^{-(n-1)}) −(1−2−(n−1)) ~ + ( 1 − 2 − ( n − 1 ) ) +(1-2^{-(n-1)}) +(1−2−(n−1)) 反码 − ( 2 n − 1 − 1 ) -(2^{n-1}-1) −(2n−1−1) ~ + ( 2 n − 1 − 1 ) +(2^{n-1}-1) +(2n−1−1) − ( 1 − 2 − ( n − 1 ) ) -(1-2^{-(n-1)}) −(1−2−(n−1)) ~ + ( 1 − 2 − ( n − 1 ) ) +(1-2^{-(n-1)}) +(1−2−(n−1)) 补码 − 2 n − 1 -2^{n-1} −2n−1 ~ + ( 2 n − 1 − 1 ) +(2^{n-1}-1) +(2n−1−1) − 1 -1 −1 ~ + ( 1 − 2 − ( n − 1 ) ) +(1-2^{-(n-1)}) +(1−2−(n−1)) 移码 − 2 n − 1 -2^{n-1} −2n−1 ~ + ( 2 n − 1 − 1 ) +(2^{n-1}-1) +(2n−1−1) − 1 -1 −1 ~ + ( 1 − 2 − ( n − 1 ) ) +(1-2^{-(n-1)}) +(1−2−(n−1)) -
浮点数的取值范围:尾数的最小值 * 阶码的最大值 ~ 尾数的最大 * 阶码的最大值。
例:若浮点数的阶码(包括 1 位阶符)用R位的移码表示,尾数(包括 1 位数符)用 M 位的补码表示,则浮点数表示的范围是: − 1 × 2 ( 2 R − 1 − 1 ) 至 ( 1 − 2 − m + 1 ) × 2 ( 2 R − 1 − 1 ) -1×2^{(2^{R-1}-1)} 至 (1-2^{-m+1})×2^{(2^{R-1}-1)} −1×2(2R−1−1)至(1−2−m+1)×2(2R−1−1)
-
-
校验码
- 奇偶校验码:只能检错。
- 海明码:数据位 n,校验位 k 位,则 n 和 k 关系满足 2 k − 1 ≥ n + k 2^k-1 \geq n+k 2k−1≥n+k;码距最少为3;检错纠错。
- 循环冗余校验码
2、体系结构
系统指令
- CISC(复杂指令集计算机):用更为复杂的指令取代原先由子程序完成的功能。
- RISC(精简指令集计算机):减少指令总数、简化指令功能,降低应急按钮复杂度,采用硬布线;超流水线、超标量、超长指令字。
- 流水方式:时间计算,T 一条指令的执行总时间,t 流水线周期,n 执行条数,公式:
T + (n-1) * t
,吞吐率: n T + ( n − 1 ) ∗ t \frac{n}{T+(n-1)*t} T+(n−1)∗tn
存储系统
- 按址访问
- 随机存储器(访问任一存储单元所用时间相同)
- 顺序存储器(访问数据需要的时间与数据所在的存储位置有关)
- 直接存储器(磁盘,对磁道的寻址是随机的,而在一个磁道内是顺序寻址)
- 按内容访问:
相联存储器
总线
分类:数据总线、地址总线、控制总线
- 位示图:
- 磁盘调度
- 线程进程
三、数据结构
4、图
AOV网、AOE网
- AOV 网:有向图以顶点表示活动的网;边表示活动之间的优先关系(不应该出现有向环)。
- AOE 网:带权值的有向图,顶点表示事件,有向边表示活动,边上的
权值表示持续时间
。
四、操作系统
进程管理
- PV操作
信号量(S),申请资源(P),释放资源(V)- P(通过)操作:
P(S) 定义 S : = S − 1 S := S - 1 S:=S−1, 若 S >= 0,则执行 P 操作的进程继续执行;S < 0 则进程阻塞,并将其插入阻塞队列。 - V(释放)操作:
V(S) 定义 S : = S + 1 S:=S+1 S:=S+1,若 S > 0,则执行 V 操作的进程继续执行;若 S <= 0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行 V 操作的进程继续。 - S (信号量):
公用信号量,实现进程互斥,初始值为 1 或资源的数目;私有信号量,实现进程间的同步,初值为 0 或某个正整数。
- P(通过)操作:
3、存储管理
4、设备管理
- CPU 中断响应时间:从发出中断请求到开始进入中断处理程序。
- I/O 设备管理软件一般分为 4 层(由上至下):用户进程,设备无关软件,设备驱动程序,中断处理程序
- 虚拟设备:(逻辑设备),一般利用假脱机(Spooling)技术,利用磁盘设备来提供。
5、文件管理
6、作业管理
五、软件工程基础知识
1、软件工程
-
能力成熟度模型(CMM):阶段模式
成熟度级别 说明 初始级 软件过程杂乱无章,甚至很混乱,几乎没有明确定义的步,项目完成完全依赖个人的努力和英雄式核心人物的作用 可重复级 建立了基本的项目管理过程和实践来跟踪项目费用、进度和功能特性,有必要的过程准则来重复以前在同类项目中的成功。 已定义级 管理和工程两方面的软件过程已经文档化、标准化,组织标准软件过程。所有项目都采用根据实际情况修改后得到的标准软件过程来开发个维护软件。 已管理级 制定了软件过程和产品质量的详细度量标准。产品质量都被开发组织的成员所理解和控制。 优化级 加了定量分析,通过来自过程质量反馈和来自新观念、新技术的反馈使过程能不断持续地改进。 -
能力成熟度模型集成(CMMI):阶段模式,连续模式。
阶段模式 说明 连续模式 说明 初始的 过程不可预测且缺乏控制 CL0(未完成的) 已管理的 过程为项目服务 CL1(已执行的) 已定义的 过程为组织服务 CL2(已管理的) 已定量管理的 过程已度量和控制 CL3(已定义级的) 优化的 集中于过程改进 CL4(定量管理的) - - CL5(优化的)
2、软件过程模型
模型 | 说明 | 优缺点 |
---|---|---|
瀑布模型 | 以项目阶段评估和文档控制为手段有效地对整个开发过程进行指导,是一个以文档作为驱动、适合于软件需求明确的软件项目 。 | 优点:容易理解,管理成本低;强调研发的阶段性早期计划及需求调查和产品测试 。缺点:客户必须能完整 、正确和清晰地表达他们的意思;需求或设计中的错误往往只有到了项目后期才能够被发现,项目风险控制能力弱。 |
V模型 | 瀑布模型的一个变体 | |
增量模型 | 它假设可以将需求分段为系列增量产品,每一个增量可以分别开发。强调每一个增量均发布一个可操作的产品。 | 瀑布模型的一个变体,拥有瀑布模型的所有优点。第一个可交付的版本所需要的成本和时间很小 。 |
原型模型 | 原型是预期系统的一个可执行的版本。适用于用户需求不清、需求经常变化 (系统规模不是很大也不太复杂时)。 | 属于演化模型 |
螺旋模型 | 演化模型 将瀑布模型和演化模型结合起来,加入风险分析。 强调风险分析,适合庞大、复杂并且具有高风险的系统 。 | 优点:与瀑布模型相比,支持用户需求动态化,为用户参与软件开发所有关键决策提供,提高了软件的适应能力,降低了开发的风险 缺点:需开发人员具有相当丰富的风险评估 经验和专门知识;过多的迭代会增加开发成本,延迟提交时间。 |
喷泉模型 | 以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。 使开发过程具有: 迭代性 :开发活动常常需要重复多次,在迭代的过程中不断完善;无间隙性 :指在开发活动之间不存在明显的边界。 | 优点:提高软件开发效率,节省开发时间。 缺点:需要大量开发人员;要求严格管理文档 ,使得审核难度加大。 |
基于构件的开发模型 | 指利用预先包装的构建来构造应用系统。 | |
形式化方法模型 | 是建立在严格的数学基础上的一种软件开发方法,主要活动是生成计算机软件形式化的数学规格说明。 | 易于发现需求的歧义性、不完整性和不一致性。 |
统一过程(UP)模型 | “用例和风险驱动,以架构为中心 ,迭代并且增量 ”的开发过程,由UML方法和工具支持。 | 定义了4个技术阶段及其制品:起始阶段(生命周期目标)、精化阶段(生命周期架构)、构建阶段(初始运作功能)、移交阶段(产品发布)。 |
敏捷方法 | 有以下方法 | 通过“尽可能早地、持续地对有价值的软件的交付”使客户满意。 |
极限编程(XP) | 4 大价值观,5 个原则,12 个最佳实践 | |
水晶法 | 认为每个不同的项目都需要一套不同的策略、约定和方法论,认为人对软件的质量有重要的影响 。 | |
并列争求法 | 使用迭代方法,其中,把每30天一次的迭代称为一个“冲刺”,并按需求的优先级别来实现产品。 | 迭代、增量交付 |
自适应开发 | 6 个基本原则, “重做” 与 “做” 同样关键;变化不被视为改正,而是被视为对软件开发实际情况的调整。 | 猜测、合作、学习 |
敏捷统一过程 | 大型上连续 ,小型上迭代 |
8、软件质量
- ISO/IEC 9126 软件质量模型
质量特性 质量子特性 功能性 适合性
准确性
互用性
依从性
安全性可靠性 成熟性
容错性
易恢复性易使用性 易理解性
易学性
易操作性效率 时间特性
资源特性可维护性 易分析性
易改变行
稳定性
易测试性可移植性 适应性
易安装行
一致性
以替换性
9、软件复杂度
规模
:总指令数,或源程序行数;难度
:由程序中出现的操作数的数目所决定的量来表示;结构
:程序结构有关的度量;智能度
:算法的难易程度。
10、软件工具
- 软件开发工具:需求分析工具、设计工具、编码与排错工具、测试工具
- 软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具
- 软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具。
六、结构化开发
- 结构化分析:
结果由以下几部分组成:一套分层的数据流程图、一本数据词典、一组小说名(加工逻辑说明)、补充材料。 - 耦合 & 内聚:
耦合类型 说明 (模块与模块之间相对独立性的度量) 无直接耦合 两个模块之间没有直接关系,分别从属于不同模块的控制与调用,它们之间不传递任何信息 。 数据耦合 指两个模块之间有调用关系, 传递的是简单的数据值
,相当于高级语言值传递。标记耦合 指两模块之间 传递的是数据结构
控制耦合 指一个模块调用另一个模块时, 传递的是控制变量
,被调用的模块通过该控制变量的值来有选择地执行模块你的某一功能。外部耦合 模块之间通过软件之外的环境联结时称为外部耦合。 公共耦合 通过一个公共数据环境相互作用的那些模块间的耦合。 内容耦合 当一个模块直接使用另一个模块的内部数据,或通过非正常入口转入另一个模块内部时。
聚合类型 | 说明(一个模块内个元素彼此结合的紧密程度的度量) |
---|---|
偶然内聚 | (巧合内聚)指一个模块内各处理元素没有任何联系。 |
逻辑内聚 | 指模块内执行若干个逻辑上相似的功能,通过参数确定模块完成哪一功能。 |
时间内聚 | 把手需要同时执行的动作组合在一起形成的模块 |
过程内聚 | 指一个模块完成多个任务,这些任务必须按指定的过程执行。 |
通信内聚 | 指模块内所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或产生相同的输出数据。 |
顺序内聚 | 指一个模块内各处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。 |
功能内聚 | 指模块内所有元素共同作用完成一个功能,缺一不可。 |
七、面向对象技术
- 软件测试的 4 个层次:
- 算法层:测试
类中定义的每个方法
,相当于传统软件测试中的单元测试。 - 类层:测试封装在
同一个类中的所有方法与属性之间的相互作用
。 - 模板层:测试一组协同工作的
类之间的相互作用
。 4 - 系统层:把各个
子系统
组装成完整的面向对象系统,在组装过程中同时进行测试。
- 算法层:测试
- UML 关系的关系强弱顺序:
实现=泛化(继承)> 组合 > 聚合 > 关联 > 依赖
。 - UML 图
- E-R 图之间的冲突:
- 属性冲突:对属性的类型,取值范围和数据单位不一致;
- 命名冲突:相同意义的属性命名不同,或名称相同的属性代表的意义不同;
- 结构冲突:同一实体在不同的分 E-R 图中有不同属性。
八、算法设计与分析
- 贪心策略:迪杰斯特拉算法
九、数据库技术
三级模式两级映像
三级模式
- 外模式:用户模式/子模式;外部视图。
- 概念模式:又称模式;是数据库中全部数据的逻辑结构和特征的描述,只涉及型的描述,不涉及具体值。
- 内模式:存储模式;是数据物理结构和存储方式的描述。
两级映像
- 外模式/模式映像
- 模式/内模式映像
SQL的三级模式:外模式(
视图
),模式(基本表
),内模式(存储文件
)
关系数据库
- 授权语句格式:
GRANT
<权限>[,<权限>]…[ON
<对象类型×<对象名>] TO <用户>[,<用户>]… [WITH GRANT OPTION
];
函数依赖
设 R ( U ) R(U) R(U) 是属性集 U 上的关系模式,X、Y 是 U 的子集,若对 R ( U ) R(U) R(U) 的任何一个肯能的关系 r,r 中不可能存在两个元组在 X 上的属性值相等,而在 Y 上的属性值不等,则称 X 函数决定 Y,或成 Y 函数依赖于 X,记作: X → Y X→Y X→Y。
传递依赖:在 R(U,F) 中,如果 X → Y , Y ⊈ X , Y → Z X→Y,Y\not\subseteq X,Y→Z X→Y,Y⊆X,Y→Z,则称 Z 对 X 传递依赖。
函数依赖公理:
- A1 自反律:若 Y ⊆ X ⊆ U Y\subseteq X \subseteq U Y⊆X⊆U,则 X → Y 为 F X→Y 为 F X→Y为F 所蕴含。
- A2 增广律:若 X → Y 为 F 所蕴含,且 Z ⊆ U ,则 X Z → Y Z 为 F 所蕴含 X→Y 为 F 所蕴含,且 Z \subseteq U,则 XZ→YZ 为 F 所蕴含 X→Y为F所蕴含,且Z⊆U,则XZ→YZ为F所蕴含。
- A3 传递律:若 X → Y , Y → Z 为 F 所蕴含,则 X → Z 为 F 所蕴含 X→Y, Y→Z 为 F 所蕴含,则 X→Z 为 F 所蕴含 X→Y,Y→Z为F所蕴含,则X→Z为F所蕴含
根据上述三条可以退出下面三条规则:
- 合并规则:若 X → Y , X → Z ,则 X → Y Z 为 F X→Y, X→Z,则 X→YZ 为 F X→Y,X→Z,则X→YZ为F 所蕴含
- 伪传递律:若 X → Y , W Y → Z ,则 X W → Z 为 F X→Y, WY→Z,则 XW→Z 为 F X→Y,WY→Z,则XW→Z为F 所蕴含
- 分解规则:若 X → Y , Z ⊆ Y ,则 X → Z 为 F X→Y, Z\subseteq Y,则 X→Z 为 F X→Y,Z⊆Y,则X→Z为F 所蕴含
范式
- 1NF(第一范式)
- 每个分量(元组中的一个属性值)都是不可再分的数据项。问题:
冗余度大
、引起修改操作的不一致性
、插入异常
、删除异常
。 - 2NF(第二范式)
在1NF的基础上,消除了非主属性对码的部分函数依赖(每一个非主属性完全依赖于码
)。 - 3NF(第三范式)
2NF消除了非主属性对码的传递函数依赖
。若关系模式R(U,F)中若不存在
这样的码 X,属性组 Y 及非主属性 Z ( Z ⊈ Y ) Z(Z\not\subseteq Y) Z(Z⊆Y) 使得 X → Y ( Y ↛ X ) , Y → Z X→Y(Y\not \rightarrow X),Y→Z X→Y(Y→X),Y→Z成立,则关系模式R∈3NF。
模式分解
-
无损连接:R 与 R 1 , R 2 , . . . , R n R_1, R_2,...,R_n R1,R2,...,Rn
自然连接的结果相等
,则分解具有无损连接性。 -
保持函数依赖:分解后的函数依赖集合合并起来,与原来函数依赖集合是等价的(
冗余的函数依赖,不考虑
)。(只要属性在,函数依赖就存在与属性之间)注: A → B , B → C , A → C A\rightarrow B, B\rightarrow C, A\rightarrow C A→B,B→C,A→C,其中 A → C A\rightarrow C A→C 可以由 A → B , B → C A\rightarrow B, B\rightarrow C A→B,B→C 推出,属于冗余函数依赖。
数据库设计
- 需求分析
- 概念设计
- 逻辑设计
- 物理设计
- 实施与维护
十、网络与信息安全
-
三网合一:电信网、广播电视网、互联网。
-
网络互连设备
层次 设备 功能 应用层 网关 网络层 路由器 用于连接多个逻辑上分开的网络。 数据链路层 网桥、交换机 网桥:用于连接两个局域网网段。
交换机:一种多端口的网桥,各个端口形成一个广播域。物理层 中继器、集线器 中继器:在物理层上实现局域网网段互连,用于扩展局域网网段的长度。
集线器:可看成特殊的多路中继器,它的所有端口在同一个冲突域内 。
加密、认证
-
对称加密:又称共享密钥加密;又分为分组加密和序列加密。文件加密和解密使用相同的密钥。
DES(数据加密标准),3DES(TDEA),RC-5,IDEA,AES(高级加密标准)。 -
非对称加密:又称公开密钥加密,公钥、私钥。RSA、DSA、ECC。
-
信息摘要:SHA、MD5。
-
数字签名:使用
非对称加密
算法;发送者(发送方
私钥)加密,接收者(发送方公钥)解密;一对多
。 -
数字加密:使用对称加密算法和非对称加密算法相结合;先生成对称加密报文,然后发送者(
接收方
公钥)加密,接收者(接收方私钥)解密;多对一
。 -
CA 认证:通过
CA公钥
验证CA的签名
验证证书的有效性。 -
数字认证确保用户身份,数字签名确保信息不可否认。
OSI S参考模型
层级 | 说明 |
---|---|
应用层 | 为应用程序提供服务 |
表示层 | 数据格式转化、数据加密 |
会话层 | 建立、管理和维护会话 |
传输层 | 建立、管理和维护端到端的连接 |
网络层 | IP选址及路由选择 |
数据链路层 | 提供介质访问和链路管理。 |
物理层 |
网络协议
-
传输层协议
- TCP:传输控制协议,提供了一个可靠的、
面向连接
的协议。 - UDP:用户数据报协议,是一种不可靠的、
无连接
的协议,可以保证应用程序进程间的通信(DNS,SNMP,TFTP,DHCP
)。
- TCP:传输控制协议,提供了一个可靠的、
-
网络层协议
-
ARP(地址解析协议)
ARP 将IP地址转换为物理地址,由IP地址查找对应的MAC地址;ARP报文封装在以太帧中传送。
ARP Request 是广播发送,ARP Response 是单播的报文回复。
-
RARP(反地址解析协议)
-
IPsec:网络层
安全协议
,用于在 IP 通信过程中保证数据的完整性、认证、机密性。
-
-
应用层协议
- SNMP:简单网络管理协议,用于网络管理 中的设备监控和管理。
- Telnet协议:CP 连接端口 23,远程登录服务。
- FTP:端口 20,文件传输协议。
- SFTP:
安全
文件传输协议。 - HTTP:端口 80
- HTTPS:端口 443,超文本传输
安全协议
。 - 邮件服务
- SMTP:端口号 25,简单邮件传输协议,用于发送电子邮件的协议。
- MIME:邮件扩充协议,用于附加传输多媒体等
- POP3:端口号 110,用于接收电子邮件的协议,保管用户未及时取走的邮件。
- PEM:增强私密邮件保护协议。
6、网络安全
-
网络安全控制技术
-
防火墙技术
1. 包过滤防火墙:对用户完全透明,速度较快。 过滤依据:源IP地址,目标IP地址,源端口号,目标端口号。
2. 应用代理网关防火墙
3. 状态检测技术防火墙 -
加密技术:软件加密、硬件加密。
-
用户识别技术:登录验证。
-
访问控制技术:访问权限。
-
网络反病毒技术
-
网络安全漏洞扫描技术:网络模拟攻击、漏洞检测、报告服务进程、提取对象信息及评测风险、提供安全建议和改进措施等。
-
入侵检测技术:非授权使用。专家系统、模型检测、简单匹配等。
-
-
病毒
- 木马病毒(客户端与服务端必须建立起网络通信,
通信基于IP和端口号
)- 特洛伊木马:有未知程序试图建立网络连接。
- 灰鸽子
- 蠕虫病毒
- 震网病毒(Stuxnet)、莫里斯、红色警戒、Sasser、WannaCry。
- 宏病毒
- 感染病毒
- 引导区的病毒:Brain、stoned。
- 感染文件的病毒:CIH、熊猫烧香、Sality。
- 木马病毒(客户端与服务端必须建立起网络通信,
十一、标准化和软件知识产权基础知识
- 注册商标:先申请者获取商标权;同时申请,先使用者可获取商标注册。
- 软件著作权:
- 任职期间针对本职工作中明确规定的开发目标,开发的软件属于从事本职工作活动的结果,使用了单位/组织的资金、设备等物质,技术条件,并有单位/组织承担责任的软件,著作权归单位或组织所有。
非任职单位,若无合同明确标注归属, 则著作权归开发者所有
。 翻译权
:将软件从一种自然语言文字转换成另一中自然语言文字。- 接受他人委托开发的软件,著作权归属由委托人与受托人签订书面合同约定,若无书面合同,则归受托人享有。
- 任职期间针对本职工作中明确规定的开发目标,开发的软件属于从事本职工作活动的结果,使用了单位/组织的资金、设备等物质,技术条件,并有单位/组织承担责任的软件,著作权归单位或组织所有。
- 专利权:先申请者获得;同时申请则协商获得,都授予专利权是不存在的。