软考中级-软件设计师知识点
- 1. cpu、总线、io控制方式、寄存器
- 2.cpu和dma
- 3.海明码
- 4.中断向量、中断响应时间、保存现场
- 5.补码
- 6.指令流水线计算公式
- 7.存储器分类
- 8.总线
- 9.补码、移码
- 10.漏洞扫描
- 11.木马和病毒
- 12.编译与反编译
- 13.死锁判断
- 14.数据库三大范式
- 15.数据库连结和映射
- 16.最小生成树
- 1)Kruscal算法
- 17.连通图、强连通图、强连通分量
- 18. AOV 和AOE网
- 19.html中的标签
- 20.CISC和RISC
- 21.浮点数的表示
- 22.
- 23.cache
- 24.数据库容灾
- 25.数字证书
- 26.位图与矢量图
- 27.数据库中派生属性和多值属性
- 28.邻接表和邻接矩阵
- 29.栈和队列
- 30.快速排序(归并排序、插入排序)
- 31.网络互连设备
- 32.可靠度计算
- 33.MPGE
- 34.页面淘汰
- 35.磁盘读取数据时间计算
- 35.二分查找
- 36.哈夫曼树(最优二叉树)
- 37.端口号
- 38.存储
- 40.网络攻击
- 41.编译原理
- 42.文件系统
- 43.冗余技术
- 44.有限自动机DFA和无限自动机NFA
- 46.
- 47.可靠性和可用性
- 48.数据库(主属性和非主属性)
- 49.哈希冲突(线性探测的开放定址法)
- 50.数据库赋权限
- 51.指令寻址
- 52. 渐进符号
- 53.协议
- 54.数据库-视图
- 55.防火墙
- 56.进程和死锁
- 57.加密算法
- 58.算法(动态规划、回溯)
- 59.IPV6和IPV4
- 60.算法时间复杂度计算
- 61. 计算机体系结构分类
- 62.据库结构设计
- 63.嵌入式系统
- 65.URL
- 66.基本概念
- 67.语法分析方法
- 68.指令周期
- 69.浮点数
- 70.加密算法
- 71.模块的内聚
- 72.主存(sram、dram)
- 73.编程语言
- 74.sql语句
- 75.RAM和ROM
- 76.CMM
- 77.
- 78.稀疏矩阵
- 79.堆
- 80.冯诺依曼计算机
- 81.可靠度计算
- 82.域名计算
- 83.故障
- 数据结构
- 1.树转为二叉树、森林转化成树
- 2.b树/b+树
- 3.哈希表
- 4.排序的应用题
- 5.优先队列
- 6.二叉树形态数
- 7.循环队列
- 8.树的节点计算
- 数组
- UML图
- 设计模式的应用
- 操作系统
- 磁盘容量计算
- 线程
- 文件系统
- send
- 双缓冲区读写
- 语言
- python
- 词法分析
- 中间代码
- 存储
- 编程语言文法
- 软件测试
- McCabe度量法
- 软件开发模型
- 面向对象
- 领域类模型
- 软件工程
- 极限编程
- 题目集合
1. cpu、总线、io控制方式、寄存器
系统总线:
系统总线主要用于连接处理器(CPU)、主存(内存)和外设部件,负责将计算机的各个部件连接在一起
在计算机系统中釆用总线结构,便于实现系统的积木化构造,同时可以减少信息传输量的数量
总线复用方式可以减少总线中信号线的数量,以较少的信号线传输更多的信息。
ISA,EISA,PCI都是系统总线,其中EISA兼容ISA,PCI目前最流行
PCI总线是并行内总线,SCSI 总线是串行内总线
CPU主要组成部分:
CPU主要由,控制单元,运算单元,存储单元,三大部分组成
运算单元:包括 ALU、FPU。
控制单元:包括 指令控制器,时序控制器,总线控制器,中断控制器。
存储单元:包括 通用寄存器,状态寄存器,cache。
运算器、控制器、寄存器、内部总线
输入输出(IO)控制方式:
程序查询方式、中断驱动方式、直接存储器存取方式(DMA)
cpu寄存器
指令寄存器(IR)用来保存当前正在执行的指令。当执行一条指令时,先把它从内存取到数据寄存器(DR)中,然后再传送至IR。指令寄存器中操作码字段的输出就是指令译码器的输入。(指令寄存器对用户完全透明)
地址寄存器(AR)用来保存当前CPU所访问的内存单元的地址
程序计数器(PC)的内容即是从内存提取的第一条指令的地址
计算机指令一般包括操作码和地址码两部分,为分析执行一条指令,其操作码和地址码都应存入指令寄存器(IR)。PC存放的是下一条指令的地址,一般顺序执行,只是简单地+1
状态寄存器用于记录运算中产生的标志信息
通用寄存器,暂存操作数跟地址
累加器 暂存操作数和中间运算结果。
程序计数器、指令寄存器和指令译码器都是CPU中控制单元的部件,加法器是算术逻辑运算单元的部件。
程序计数器(PC)用于存储指令的地址,CPU根据该寄存器的内容从内存读取待执行的指令,程序员可以访问该寄存器。比如实现调度器。
译码器
CPU中译码器的主要作用是进行指令译码
2.cpu和dma
当CPU需要读取数据时,DMA控制器和中断CPU发出的数据地址是主存的物理地址
DMA控制器在需要的时候代替CPU作为总线主设备,在不受CPU干预的情况下,控制I/O设备与系统主存之间的直接数据传输。DMA操作占用的资源是系统总线,而CPU并非在整个指令执行期间即指令周期内都会使用总线,故DMA请求的检测点设置在每个机器周期也即总线周期结束时执行,这样使得总线利用率最高。
中断方式是在外设准备好时给CPU发中断信号,之后再进行数据传输。
中断方式与dma都可以实现外设与cpu之间的并行工作
3.海明码
海明码:是一种利用奇偶性来检错和纠错的校验方法
海明码的构成方法:是在数据位之间的确定位置插入 k 个校验位,通过扩大码距来实现检错和纠错。 对于数据位 n 的数据,加入k位的校验码,它应满足: 2^k 1 ≥ n + k
4.中断向量、中断响应时间、保存现场
中断向量:提供中断服务程序的入口地址
中断响应时间:从发出中断请求到开始进入中断处理程序
保存现场:通常指保存硬件上下文,包括 CPU 寄存器中的数据以及其他与执行程序相关的硬件状态,为了正确返回原程序继续执行
5.补码
原码-0和+0所对应的补码是相同的。
补码表示简化了有符号数的运算和处理,并且转化减法运算为加法运算,更加高效和简洁
符号位也参与运算
对于正数,补码与其真值是一致的,所以在这种情况下是比较简单和直观的。但对于负数,补码的计算规则是将其真值按位取反(除符号位外),然后再加 1,因此既不直观也不简单
6.指令流水线计算公式
1000*2+2+1=2003
对于双缓冲区,可以画时序图
流水线的吞吐率是指单位时间流水线处理机输出的结果的数目,因此流水线的吞吐率为一个流水级时间的倒数,即最长流水级时间的倒数。
7.存储器分类
按访问方式可分为按地址访问的存储器和按内容访问的存储器。按寻址方式可分为随机存储器、顺序存储器和直接存储器。
相联存储器是一种按内容访问的存储器。
闪存不像RAM(随机存取存储器)一样以字节为单位改写数据,因此不能取代RAM,也不能替换主存,因此C选项错误。但是在嵌入式中,可以用闪存代替ROM存储器。
8.总线
处理机主要由处理器、存储器和总线组成
总线包括:数据总线、地址总线和控制总线
若内存容量为4GB,字长为32,则地址总线和数据总线的长度?
由于字长为32位,即数据总线的宽度为32位。
地址总线的宽度就是处理机寻址范围,若地址总线为n位,则可寻址空间为2的n次方字节。
4*1024*1024*1024
位,所以地址总线宽度为32
9.补码、移码
正数的补码是它本身
负数的补码是原码取反后+1
移码只要将补码的符号位取反即可。
因此±0的补码和移码是相同的。
由于补码不区分+0和-0,因此可以表示2^n个
10.漏洞扫描
漏洞扫描系统是一种自动检测目标主机安全弱点的程序
11.木马和病毒
特洛伊木马:通过网络传播病毒(试图建立网络连接)
木马病毒:控制操作
宏病毒:文件相关,电子表格
引导区病毒:破坏引导盘,文件目录
震网:破坏工业基础设施(蠕虫)
12.编译与反编译
编译是将高级语言源程序翻译成机器语言程序(汇编形式或机器代码形式),反编译是编译的逆过程。反编译通常不能把可执行文件还原成高级语言源代码,只能转换成功能上等价的汇编程序。
13.死锁判断
若有资源m个,n个进程互斥使用,每个进程对资源的最大需求为w
满足以下条件将不会发生死锁:
m>=n*(w-1)+1
14.数据库三大范式
1NF:原子性
2NF:属性完全依赖于主键,不能只依赖于主键的一部分
3NF:属性直接依赖于主键,不能间接依赖(传递)
BCNF:如果关系模式R(U,F)的所有属性(包括主属性和非主属性)都不传递依赖于R的任何候选关键字,那么称关系R是属于BCNF的。
如果R ∈ 3NF ,且 R 只有一个候选码,则 R 必属于 BCNF 。
1NF的问题:
表中存在冗余、修改操作的不一致,以及插入异常和删除异常
范式判断
15.数据库连结和映射
注意
是自然连接
是笛卡尔积
第一空
题目中是R×S,表示笛卡尔积
满足
σ
1
<
6
σ_{1<6}
σ1<6为R的第一行,分别与S的第一行和第二行对应
输出结果
第二空
注意是自然连接,因此属性的序号要注意
16.最小生成树
一个连通图的生成树是一个极小的连通子图,它包含图中全部的n个顶点,但只有构成一棵树的n-1条边。
最小生成树
所有生成图中边的权值和最小。
应用场景:铺电路成网,为了使得铺电路成本最低,可以计算最小生成树。
Prim算法和Kruscal算法都是无向连通网的最小生成树的算法
Prim算法:从扩展顶点开始,每次选择与当前顶点集合中距离域短的顶点,适合求解稠密图的
Kruscal算法:从扩展边开始,每次选择剩余的边中最小权重的边,适合求解稀疏图
两个算法,都是基于贪心策略实现的
两个算法在不知道图的情况下,没有优劣之分。
1)Kruscal算法
https://c.biancheng.net/algorithm/kruskal.html
1.首先按边的权值,从小到大进行排序。
2.从小到大遍历边,若此边与其他已选边不会构成环路,就可以选择它组成最小生成树。(n个顶点就只能有n-1条边,来构成最小生成树)
(第2空)采用 Kruskal 算法求解下图的最小生成树,采用的算法设计策略是( )。该最小生成树的权值是( )。
17.连通图、强连通图、强连通分量
连通图
图中从一个顶点到达另一顶点,若存在至少一条路径,则称这两个顶点是连通着的。例如图 1 中,虽然 V1 和 V3 没有直接关联,但从 V1 到 V3 存在两条路径,分别是 V1-V2-V3 和 V1-V4-V3,因此称 V1 和 V3 之间是连通的。
强连通图
有向图中,若任意两个顶点 Vi 和 Vj,满足从 Vi 到 Vj 以及从 Vj 到 Vi 都连通,也就是都含有至少一条通路,则称此有向图为强连通图。
强连通分量
与此同时,若有向图本身不是强连通图,但其包含的最大连通子图具有强连通图的性质,则称该子图为强连通分量。
18. AOV 和AOE网
人们通常用有向图来描述和分析一项工程的计划和实施过程,子工程被称为活动(Activity)。所以以顶点表示活动,有向边表示活动之间的先后关系,这样的图被称为 AOV 网(Activity On Vertex Network)
标准的 AOV 网必须是一个有向无环图,即从任何一个顶点出发,无论怎么走,都无法回到这个顶点自身
若在AOV图的边上带上权值,边上的权值表示该活动持续的时间,则这种带权有向图称为用边表示活动的网(Activity On Edge Network, AOE 网)通常在AOE网中列出了完成预定工程计划所需进行的活动、每项活动的计划完成时间、要发生哪些事件以及这些事件和活动间的关系,从而可以分析。
AOE的关键路径
就是最长的路径。
19.html中的标签
<tr>
标记用于定义表格中的一行。table row 的缩写
<col>
标记用于定义表格中一个或多个列的属性值。
<td>
标记用于定义表格中的一个单元格。table data cell 的缩写
<title>
标记用于定义文档标题
<hr>
标记一条横线。(horizontal rule)水平分隔线
<i>
字斜体
<html>
限定开始点和结束点
alink
用于设置正在被击中的链接的颜色。
vlink
用于设置已使用的链接的颜色
background
用于设置背景图片的URL。
bgcolor
用于设置文档整体背景颜色。
20.CISC和RISC
CISC (Complex Instruction Set Computer,复杂指令集计算机)的基本思想是:进一步增强原有指令的功能,用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的硬件化,导致机器的指令系统越来越庞大而复杂。
RISC (Reduced Instruction Set Computer,精简指令集计算机)的基本思想是:通过减少指令总数和简化指令功能,降低硬件设计的复杂度,使指令能单周期执行,并通过优化编译提高指令的执行速度,采用硬布线控制逻辑优化编译程序。
21.浮点数的表示
浮点数的一般表示形式为 N = 2 E ∗ F N = 2^E*F N=2E∗F,其中 E E E为阶码, F F F为尾数。 浮点数所能表示的数值范围主要由阶码决定,所表示数值的精度则由尾数决定。 工业标准IEEE754规定阶码采用移码表示,尾数用补码表示。 规格化就是将尾数的绝对值限定在区间[0.5,1)
两个浮点数进行相加运算时,首先需要对阶(使它们的阶码一致),然后再进行尾数的相加处理。
22.
为了使一个系统能检查和纠正一个差错,码间最小距离必须至少是3。
海明码是一种可以纠正一位差错的编码,是利用奇偶性来检错和纠错的校验方法。
循环冗余校验码(CRC)编码方法是在k位信息码后再拼接r位的校验码,形成长度为n位的编码,其特点是检错能力极强且开销小,但不能纠错。
23.cache
Cache是一个高速小容量的临时存储器,可以用髙速的静态存储器(SRAM)芯片实现。
Cache的设计思想是在合理成本下提高命中率
在程序的执行过程中,Cache与主存的地址映像由(专门的硬件自动完成 )。
Cache的地址映射方法主要有三种,即全相联映像、直接映像和组相联映像
全相联方式意味着主存的任意一块可以映像到Cache中的任意一块,其特点是块冲突概率低,但成本高
直接映像方式是指主存的每一块只能映像到Cache的一个特定的块中,但是容易冲突
组相联方式是对上述两种方式的折中处理,对Cache分组,实现组间直接映射,组内全相联
24.数据库容灾
数据容灾是指建立一个异地的数据系统,为保护数据安全和提高数据持续可用性
数据库容灾属于系统安全和应用安全考虑范畴
25.数字证书
用户获取网站的数字证书后通过验证CA的签名来确 认数字证书的有效性,从而验证网站的真伪。(验证CA的签名时使用的是CA的公钥。)
在用户与网站进行安全通信时,用户发送数据时使用网站的公钥(从数字证书中获得)加密,收到数据时使用网站的公钥验证网站的数字签名,网站利用自身的私钥对发送的消息签名和对收到的消息解密。
26.位图与矢量图
- 矢量图法实质上是用数学的方式(算法和特征)来描述一幅图形图像。
- 位图图像是指用像素点来描述的图。
位图占用空间大,处理侧重于获取和复制,显示速度快;矢量图占用空间小,处理侧重于绘制和创建,显示速度慢。
27.数据库中派生属性和多值属性
派生属性是指可以由其他属性经过运算得到的属性,因而派生属性产生冗余,通常不存储
多值属性是指一个实体在该属性上会同时取多个属性值
如上所示,出生年月可以推断出年龄,年龄是派生属性。
出生年月信息更加详细,可以推出年龄,反之不可以,而且年龄会变化,因此选用出生年月作为属性更为合适。
28.邻接表和邻接矩阵
接矩阵和邻接表是图(网)的两种基本存储结构,对于具有n个顶点、e条边的图
采用邻接表遍历图时,时间复杂度为O(N+E)
采用邻接矩阵遍历图时,时间复杂度为O(N^2)
下图是邻接表
下图是邻接矩阵
稠密图适合邻接矩阵,稀疏图适合邻接表
29.栈和队列
入队序列与出队序列关系为1:1,而入栈序列与出栈序列关系是1:n(n≥1)。
上面1:1的意思是,1种入队序列,出队也就只有1种序列。
1:n的意思就是,1种入栈序列,出栈可能有n种。
比如1,2,3入栈,那么出栈可能是3,2,1或者 进一个出一个就是1,2,3 或者 2,1,3等。。。
30.快速排序(归并排序、插入排序)
快排是一种不稳定的排序算法
平均时间复杂度为O(NlongN),最坏时间复杂度为O(N^2)
快排是一种分治算法
基本有序情况下,插入排序是最佳选择
若关键字取值范围较小,则计数排序是最佳选择
以最左元素为基准,85为最大数,12为最小数,因此pivot在边上,效率最低。B、C排除
对于A来说
经过第一轮排序后
12,30,25,45,67,52,85
12最小,67中间大
对于D来说
经过第一轮排序后
12,25,30,45,85,52,67
12最小,85最小,都不是取到中间值。
因此A的排序效率最高。
归并排序(未解决)
当基本有序时,选择插入排序,时间复杂度为O(n).
归并和堆排序为O(nlogn),此使快排O(n^2)
插入排序
参考链接
从i=1开始,每次与前一个元素比较大小,若小,则将该数不断往前推;如果顺序增长,那么复杂度只有O(n),一般情况下时间复杂度是O(n^2)
比如这题,可以直接计算逆序对数量,逆序对越多,需要比较的也就越多
31.网络互连设备
中继器是物理层设备
交换机是由硬件构成的多端口网桥,也是一种数据链路层设备
路由器是网络层设备
32.可靠度计算
33.MPGE
VCD使用了MPEG-1标准作为其音、视频信息压缩编码方案,
MPEG-2标准中的音、视频压缩编码技术被应用到DVD中
34.页面淘汰
为了访问页面3,而页面3不在内存中,因此要加入到内存中。然而系统只分配了3个存储块,分别被页面0、页面2和页面4占用,因此要淘汰一个页面。按照规则,应该先淘汰最近未被访问的;当都访问过时,应该淘汰最近未修改的。 看表中数据发现,页面0、2、4都访问过,但页面0未修改,因此淘汰页面0。
逻辑地址=页号+页内地址;物理地址=物理块号+页内地址。一个页面为4KB,也就是2^12。也就是说逻辑地址2C25H中,2为页号,C25H是页内地址。那么物理地址,为4C25H
35.磁盘读取数据时间计算
一个磁道可以理解为一个同心圆环,磁盘一旦开始转,就不会停下来。根据题意,磁道上有9个物理块,每个物理块的读取时间为27/9=3ms,并且由于是单缓冲区,读出的数据必须处理完才能继续读,也就是说R0读取并处理完,才能读R1。那么读取和处理R0,花费3+3=6ms。而此时磁头已指向R2开头,要读取并处理R1,还要花费再转一圈27ms和处理时间3ms,因此。读取和处理完R1~R8需8*(27+3)=240ms,加上之前的R0,就是246ms。
由于读取时间为3ms,处理时间也为3ms。根据第一题可知处理完物理块1,磁头位于物理块3开头….假设从R0开始,如果让物理块1为R0,物理块3为R1,物理块5为R2,物理块7为R3,物理块9为R4,物理块2为R5,物理块4为R6,物理块6为R7,物理块8为R8。那么只要读取+处理完一个物理块 就能紧接着 读取+处理,因此耗时(3+3)*9=54ms
35.二分查找
对n个元素的有序表A[1…n]进行二分(折半)查找(除2取商时向下取整),查找元素A[i] 时,最多与A中的( )个元素进行比较。
因为二叉树高度为log2n+1
36.哈夫曼树(最优二叉树)
给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。
哈夫曼树的构造过程
二叉树具有以下性质:度为2的结点(双分支结点)数比度为0 (叶子结点)数正好少1。而根据最优二叉树(哈夫曼树)的构造过程可知,最优二叉树中只有度为2和0的结点,因此,其结点总数为2n-1。
哈夫曼编码
定长编码:采用同样数目的二进制位表示消息中的每个字符
上题中,有6个字符,因此码长应位3位,他能表示8个字符。
Huffman编码是一种最优的不定长编码方法,可以有效的压缩数据
首先构造哈夫曼树,然后计算编码
因此字符序列“face”的编码应为1100 0 1001101。
37.端口号
SMTP服务器的端口是25
http :80
https:443
POP3服务器默认端口为110
FTP服务器的控制端口为21,数据端口为20。
POP3:110端口,邮件收取。
SMTP:25端口,邮件发送。
FTP:20数据端口/21控制端口,文件传输协议。
HTTP:80端口,超文本传输协议,网页传输。
DHCP:67端口,IP地址自动分配。
SNMP:161端口,简单网络管理协议。
DNS:53端口,域名协议,记录域名与IP的映射关系。
TCP:可靠的传输层协议。
UDP:不可靠的传输层协议。
ICMP:因特网控制协议,PING命令来自该协议。
IGMP:组播协议。
ARP:地址协议,IP地址转换为MAC地址。
RARP:反向地址协议,MAC地址转IP地址。
38.存储
2KX4位的意思是2k个存储单元,一个存储单元占4位。(实际上这个芯片就是2k*4/8=1kb大小)而16KX8位是16k个存储单元,存储单元占8位。因此凑8位存储单元需要2个2KX4位芯片,也就变成2KX8位。以8位作为存储单元的大小还需要8个2KX8位芯片,因此03FFH应该划分为8段。
常用的虚拟存储器由( 主存-辅存)两级存储器组成。(虚拟存储器是为用户提供一个比主存储器大得多的可随机访问的地址空间的技术)
某文件管理系统采用位示图(bitmap)记录磁盘的使用情况。如果系统的字长为32位,磁盘物理块的大小为4MB,物理块依次编号为:0、1、2、位示图字依次编号为:0、1、2、那么16385号物理块的使用情况在位示图中的第(512 )个字中描述;如果磁盘的容量为1000GB,那么位示图需要( 8000)个字来表示。
如题所示,位示图中一个字表示一个物理块的地址,因此16385/32=512.03
,因此使用第512个字来描述。
第二空,物理块数量为1000*1024/4,
需要的字数量1000*1024/4/32
40.网络攻击
拒绝服务(DoS):使用大量的连接请求攻击计算机,使得所有可用的系统资源都被消耗殆尽
口令入侵:是指使用某些合法用户的账号和口令登录到目的主机,然后再实施攻击活动。
网络攻击分为主动攻击和被动攻击两种。
主动与被动主要区别是是否修改数据。被动攻击包括嗅探、信息收集等攻击方法,其中有流量分析,系统干涉
41.编译原理
词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成。
其中中间代码生成、代码优化非必须。
对声明语句,填入合理组织的符号表
对可执行语句,则是翻译成中间代码或目标代码
语法制导翻译是一种(静态语义分析 )方法。(随着语法分析的进行,执行属性值的计算,完成语义分析和翻译的任务。)
42.文件系统
磁盘块的大小为512B,每个块号需占3B,因此一个磁盘物理块可存放512/3=170个块号。
根索引采用一级索引时的文件最大长度为:
170X512/1024=87040/1024=85KB
根索引采用二级索引时的文件最大长度为:
170X170X512/1024=28900X512/1024=14450KB
根据题意,磁盘索引块为1KB字节,每个地址项大小为4字节,故每个磁盘索引块可存放1024/4=256个物理块地址。又因为文件索引节点中有8个地址项,其中5个地址项为直接地址索引,这意味着逻辑块号为0〜4的为直接地址索引;2个地址项是一级间接地址索引,这意味着第一个地址项指出的物理块中存放逻辑块号为5〜260的物理块号,第一个地址项指出的物理块中存放逻辑块号为261〜516的物理块号;1个地址项是二级间接地址索引,该地址项指出的物理块存放了256个间接索引表的地址,这256个间接索引表存放逻辑块号为517〜66052的物理块号。
经上分析不难得出,若要访问文件的逻辑块号分别为5和518,则系统应分别采用一级间接地址索引和二级间接地址索引。
43.冗余技术
冗余技术分为4类:
(1)结构冗余,按其工作方法可以分为静态、动态和混合冗余;
(2)信息冗余,指的是为了检测或纠正信息在运算或传输中的错误另外加的一部分信息
(3)时间冗余,是指以重复执行指令或程序来消除瞬时错误带来的影响;
(4) 冗余附件技术,是指为实现上述冗余技术所需的资源和技术。
44.有限自动机DFA和无限自动机NFA
确定的有限自动机和不确定的有限自动机的判断:
就是看关于该结点的路径相同数字是否到达不同的结点,如果相同数字不同结点就是不确定的有限自动机。
上图中M1是不确定的有限自动机、M2是确定的有限自动机
因为,M1中状态A的输入为0时可以转换成状态A也能转换成状态B,对于同一输入没有唯一的转换状态
由于a和b都是n次,不能用正规式表示。且a都在b前,无法用有限
正规集可用正规式描述,用有限自动机识别
在编译过程中,有限自动机(NFA或DFA)是进行( 词法分析)的适当工具
46.
CIF是常用的标准化图像格式,CIF视频格式的图像分辨率为352X288像素。
计算机通过MIC (话筒接口)收到的信号是音频模拟信号,(声卡将其转化为数字信号,存储至计算机)
音乐合成技术主要有调频(FM)音乐合成、波形表(WaveTable)音乐合成两种方式。wavetable的音质更好
SMTP传输的邮件报文需采用ASCII进行编码。
dpi是描述图像分辨率的单位,表示每英寸多少像素点, 即组成一幅图像的像素密度。
47.可靠性和可用性
可靠性:一定时间间隔内,一定条件下无失效运作的概率
可用性:一定时间点上,正确运行的概率
可维护性:在一定时间间隔内,完成维护活动的概率
48.数据库(主属性和非主属性)
给定关系模式R,U = {A,B,C},F={AB→C,C→B}。关系R( )且分别有( )。
第一空:AB和AC
第二空:0个非主属性和3个主属性
由于AB、AC都属于候选码,包含在候选码中的属性都称为主属性,
49.哈希冲突(线性探测的开放定址法)
对于关键字序列(26,25,72,38,8,18,59),采用散列函数H(Key)=Key mod 13构造散列表(哈希表)。若采用线性探测的开放定址法解决冲突(顺序地探查可用存储单元), 则关键字59所在散列表中的地址为( )。
首先根据Key mod 13 将26,25,72,38,8,18填到表中
59%13=7,然而位置7处有值,产生冲突。因此地址+1,位置8也冲突。地址继续+1,位置9不冲突,因此59存放在位置9
50.数据库赋权限
将Students表的插入权限赋予用户UserA,并允许其将该权限授予他人,应使用的SQL语句为: GRANT ( ) TABLE Students TO UserA ( );
授权语句的格式如下:
GRANT〈权限> [,<权限>]…[ON<对象类型><对象名>]
TO <用户>[,<用户][WITH GRANT OPTION];
若在授权语句中指定了 “WITH GRANT OPTION”子句,那么,获得了权限的用户还可以将该权限赋给其他用户。
51.指令寻址
R1是寄存器,属于寄存器寻址方式,45是立即数,属于立即寻址方式。
52. 渐进符号
f(n)就是表达式左边的,
g
(
n
)
g(n)
g(n)就是表达式右边
Θ
Θ
Θ里的内容
Θ
Θ
Θ相当于紧确界,要求
c
1
g
(
n
)
≤
f
(
n
)
≤
c
2
g
(
n
)
c_1g(n)≤ f(n)≤c_2g(n)
c1g(n)≤f(n)≤c2g(n)
O
O
O表示上界,要求
f
(
n
)
<
=
c
g
(
n
)
f(n)<=cg(n)
f(n)<=cg(n)
Ω
表
Ω表
Ω表示下界,要求
f
(
n
)
>
=
c
g
(
n
)
f(n)>=cg(n)
f(n)>=cg(n)
由于无法满足
N
2
<
C
N
N^2<CN
N2<CN, C选项错误
53.协议
- SSL(Secure Socket Layer)和TLS(Transport Layer Security) :都是传输层安全协议,TLS是SSL3.0的后续版本
- PGP(Pretty Good Privacy):优良保密协议,用于对消息进行加密与验证
IPsec:网络层安全协议
ICMP是网络层协议,是一个差错报告机制
SNMP简单网络管理协议
ARP和ICMP都属于网络层协议
X.25是分组交换网上的协议,也归于网络层。
TELNET是远程登录服务的标准协议
在发送电子邮件附加多媒体数据时需采用(MIME )协议来支持邮件传输。(MIME它是一个互联网标准,扩展了电子邮件标准,使其能够支持多媒体数据。)
使用ADSL接入Internet,用户端需要安装(PPPoE )协议。
邮件协议
SMTP邮件传输协议。
POP3邮件收取协议。
IMAP4协议与POP3协议一样也是规定个人计算机如何访问网上的邮件的服务器进行收发邮件的协议,但是IMAP4协议同POP3协议相比更高级。
MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。
54.数据库-视图
with check option保证了修改不会使得
关于视图中with check option
55.防火墙
防火墙三个区域,按照受保护程序,从高到低正确的排列次序为(内网、DMZ和外网)
56.进程和死锁
资源指出去的箭头表示预分配的资源,指向资源的表示申请的资源。
图(a)中,由于P1申请R2,R2不足,P1阻塞;P2申请R1,R1不足,R2阻塞
图(b)中,R1都分配完了,R2还剩下1个。因此P1和P3非阻塞,P2阻塞。
57.加密算法
ECC、DSA和RSA都属于公开密钥加密算法,DES是典型的私钥加密体制
58.算法(动态规划、回溯)
在求解某问题时,经过分析发现该问题具有最优子结构性质,求解过程中子问题被重复求解,则采用( 动态规划)算法设计策略;若定义问题的解空间,以深度优先的方式搜索解空间,则采用(回溯 )算法设计策略。
分支限界法则是通过广度优先方式搜索解空间。
59.IPV6和IPV4
隧道技术:两个IPv6结点可以通过现有的IPv4网络进行通信
翻译技术:使得纯IPv6结点可以与纯IPv4结点进行通信
ipv4地址是32位,ipv6地址是128位
无效的IP地址:169.254.X.X(windows) 和 0.0.0.0(linux)。
60.算法时间复杂度计算
直接展开递归式T(n)=T(n-l)+n
=T(n - 2) + (n - 1) + n
=T(n - 3) + (n - 2) + (n - 1) + n
=1 + 2 + … + n
=n(n -1) / 2
因此渐进时间复杂度为O(n^2)
通过计算可知
l
o
g
2
8
=
3
log_2^8=3
log28=3 因此第一空时间复杂度为O(n^3)
第二空为了满足 l o g 4 x < 3 log_4^x<3 log4x<3 x最大值为63
61. 计算机体系结构分类
Flynn分类法,是一种计算机体系结构分类法
单指令流单数据流机器(SISD)
单指令流多数据流机器(SIMD)
多指令流单数据流机器(MISD)
多指令流多数据流机器(MIMD)
在实际情况中,采用多指令流处理多数据流才是更有效的方法。因此MISD只是作为理论模型出现
62.据库结构设计
数据库设计主要分为需求分析、概念结构、逻辑结构和物理结构设计四个阶段
关系规范化在数据库设计的(逻辑设计 )阶段进行。
63.嵌入式系统
嵌入式系统初始化过程可以分为3个主要环节,按照自底向上、从硬件到软件的次序依次为:片级初始化、板级初始化和系统级初始化。
65.URL
protocol :// hostname[:port] / path /filename
其中,protocol指定使用的传输协议,最常见的是HTTP或者HTTPS协议,也可以有其他协议,如file、ftp、, gopher、mms、ed2k等;hostname是指主机名,即存放资源的服务域名或者IP地址;port是指各种传输协议所使用的默认端口号,该选项是可选选项,例如http的默认端口号为80,一般可以省略,如果为了安全考虑,可以更改默认的端口号,这时,该选项是必选的;path是指路径,有一个或者多个“/”分隔,一般用来表示主机上的一个目录或者文件地址;filename是指文件名,该选项用于指定需要打开 的文件名称。
一般情况下,一个URL可以采用“主机名.域名”的形式打开指定页面,也可以单独使用“域名”来打开指定页面,但是这样实现的前提是需进行相应的设置和对应。
66.基本概念
VLIW:(Very Long Instruction Word,超长指令字)一种非常长的指令组合,它把许多条指令连在一起,增加了运算的速度。
67.语法分析方法
语法分析方法分为两类:自上而下(自顶向下)分析法和自下而上(自底向上)分析法,
递归下降分析法和预测分析法属于自上而下分析法
移进-归约分析法属于自下而上(自底向上)分析法。
68.指令周期
指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成,是从取指令、分析指令到执行完所需的全部时间。CPU执行指令的过程中,根据时序部件发出的时钟信号按部就班进行操作。在取指令阶段读取到的是指令,在分析指令和执行指令时,需要操作数时再去读操作数。
CPU首先从程序计数器(PC)获得需要执行的指令地址,从内存(或高速缓存)读取到的指令则暂存在指令寄存器(IR),然后进行分析和执行。
69.浮点数
浮点格式表示一个二进制数N的形式为N=2eXF,其中E称为阶码,F叫做尾数。在浮点表示法中,阶码通常为含符号的纯整数,尾数为含符号的纯小数。
指数为纯整数,阶符1位、阶码6位在补码表示方式下可表示的最大数为63(26-1),最小数为-64(-26)。尾数用补码表示时最小数为-1、最大数为1-2-8,因此该浮点表示的最小数为-263,最大数为(1-2-8)×263。
是尾数向后,右,不是看小数点
70.加密算法
RSA是一种非对称加密算法,由于加密和解密的密钥不同,因此便于密钥管理和分发,同时在用户或者机构之间进行身份认证方面有较好的应用;
SHA-1是一种安全散列算法,常用宁对接收到的明文输入产生固定长度的输出,来确保明文在传输过程中不会被篡改;
MD5是一种使用最为广泛的报文摘要算法;
RC5是一种用于对明文进行加密的算法,在加密速度和强度上,均较为合适,适用于大量明文进行加密并传输。
71.模块的内聚
模块的内聚是一个模块内部各个元素彼此结合的紧密程度的度量。
72.主存(sram、dram)
计算机系统的主存主要是由( DRAM)构成的。
随机访问存储器(RAM)有两类:静态的(SRAM)和动态的(DRAM), SRAM 比DRAM速度更快,但也贵得多。RAM用来作为高速缓冲存储器(Cache), DRAM 用来作为主存及图形系统的帧缓冲区。
SRAM与DRAM的区别只在于一个是静态一个是动态。由于SRAM不需要刷新电路就能够保存数据,所以具有静止存取数据的作用。而DRAM则需要不停地刷新电路,否则内部的数据将会消失。
LASH和EEPROM都能掉电存储数据,不需要刷新电路,FLASH按扇区操作,EEPROM则按字节操作
DRAM集成率相对较低,功耗相对较大,需要动态刷新。SRAM集成率相对较高,功耗相对较小,不需要动态刷新
73.编程语言
声明式系内函数式程序设计语言:Lisp
命令式系内过程式程序设计语言:C Fortran
面向对象结构化设计语言c++ c# java physon
即时编译:可以进行热编译
php.javascript都属于动态语言,脚本语言都是动态语言
74.sql语句
sql函数定义
75.RAM和ROM
RAM(random access memory)即随机存储内存,这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。ROM(Read-Only Memory)即只读内存,是一种只能读出事先所存数据的固态半导体存储器。 手机中的RAM和ROM分别对应电脑的内存和硬盘,内存负责程序的运行以及数据交换
在微机系统中,BIOS(基本输入输出系统)保存在( ROM)中。
76.CMM
CMM分为五个等级
(1)初始级(initial):工作无序
(2)可重复级(Repeatable):管理制度化, 初步实现标准化
(3)已定义级(Defined):已实现标准化、文档化。
(4)已管理级(Managed):产品和过程已建立了定量的质量目标
(5)优化级(Optimizing):可集中精力改进过程
CMMI是把所有现存的与将被发展出来的各种能力成熟度模型,集成到一个框架中去
77.
计算得到CPI为3.5时钟周期
也就是说一条指令的平均时钟周期
那么一条指令执行的时间为3.5/2.8G
运算速度为1/指令执行时间:1/(3.5/2.8G)=800M
78.稀疏矩阵
稀疏矩阵的存储方式
79.堆
对 数组 A=(2,8,7,1,3,5,6,4)构建大顶 堆 为( )(用 数组 表示)
建立堆
80.冯诺依曼计算机
主要特征是:指令与数据都以二进制形式储存在存储器里;指令根据其储存的顺序执行。
是一种将程序指令存储器和数据存储器合并在一起的计算机设计概念结构。
81.可靠度计算
“计算机系统的可靠性是指从它开始运行(t=0)到某时刻t这段时间内能正常运行的概率”。
所以正常运行概率=(2000-4)÷2000=0.998
82.域名计算
83.故障
事务内部的故障:如运算溢出故障、并发事务死锁故障
系统故障:操作系统漏洞、停电等
介质故障:磁盘损坏等
计算机病毒故障
数据结构
1.树转为二叉树、森林转化成树
将一棵树转换成二叉树的方法是,对于每个结点,其左子树即为原来的第一个孩子,右子树连向下一个兄弟结点。假设第一棵树转换成的二叉树为 T1,第二棵树转换成的二叉树为 T2,第三棵树转换成的二叉树为 T3。将三棵树合并成一棵二叉树的过程是,将 T2 作为 T1 的右子树,再将 T3 作为 T2 的右子树。因此,该二叉树的右子树包含第二棵树和第三棵树中所有结点。所以,该二叉树的右子树包含结点总数为 n2 + n3
2.b树/b+树
在m阶B-树的定义中,要求:
①树中的每个节点至多有M棵子树
②若根节点不是叶子节点,则至少有两棵子树。
③除根之外的所有非终端节点至少有[M/2]棵子树。
即 M/2<=X<=M
因此,题图中所示B-树最可能为4阶B树。
D为B+树的特性
3.哈希表
要减少冲突,就要设法使哈希函数尽可能均匀地把关键字映射到存储区的各个存储地址上,这样就可以提高查找效率。而不是复杂
关键字就是要存储的数据
若与同义词冲突,还要与哈希值得到的地址+1处比较,因此不仅仅与同义词比较。
线性探测法虽然空间利用率高,但容易聚集在一块
4.排序的应用题
排序码是指sort中的key,题目中排序码就是指每个数值。相同的数值相对位置不变,就是说21
和21*
(这个*用来区分21)的相对位置要保持不变,才能算稳定的排序算法。
因此只要用选择排序来检查一下,看看会不会影响21
和21*
之间的顺序。
5.优先队列
其中除了获得优先队列的最大元素的时间复杂度为(Θ1)之外,其他几个操作的时间复杂度均为二叉树的高度,即Θ(lgn)。
6.二叉树形态数
题干给出具有3个结点的二叉树有5种,多增加一个根节点之后,可以有左右不同的3结点二叉树,所以左右分别有单个3结点子树的二叉树有2*5=10种;除此之外,3个结点可以构造成2结点子树和单节点子树,所有不同共有4种。
综上,具有4个结点的二叉树有14种。
记住f(n)=(2n)! / n!(n+1)!
结点数n与二叉树形态f(n)的关系式
7.循环队列
循环队列一般有首尾两个指针,不在同一个端点。
8.树的节点计算
利用公式,分支数量+1=节点总数
设树中的节点总数为n、分支数目为m,那么n=5+4+2+叶子节点数,m=5X1+4X2+2X3。
在树中,节点总数等于分支数目加上1,即n=m+1。
因此,叶子节点数=5X1+4X2+2X3+1-5-4-2=9
数组
UML图
类图(Class Diagram)展现了一组对象、接口、协作和它们之间的关系。
对象图(Object Diagram)展现了某一时刻一组对象以及它们之间的关系。
用例图(Use Case Diagram)展现了一组用例、参与者(Actor)以及它们之间的关系。
交互图用于对系统的动态方面进行建模。一张交互图表现的是一个交互,由一组对象和它们之间的关系组成,包含它们之间可能传递的消息。
部署图(Deployment Diagram)是用来对面向对象系统的物理方面建模的方法,展现了运行时处理结点以及其中构件(制品)的配置。
组件图(Component Diagram)展现了一组组件之间的组织和依赖。
设计模式的应用
图形用户界面(GUI)组件定义不同平台的并行类层次结构,适合采用此模式,其中抽象工厂声明一个创建抽象界面组件的操作接口,具体工厂实现创建产品对象的操作。
操作系统
磁盘容量计算
乘10是因为单位cm转为mm,除以2是为了直径转为半径
线程
线程的代码段,全局变量共享,但不共享栈指针
文件系统
一个数据块可以放1kb/4b=256个地址,因此一级索引为256。二级索引为256256
于是可表示最大长度为5+256+256256
send
就是设置成了阻塞状态,对方接受缓冲区满了,send阻塞
双缓冲区读写
语言
python
在 Python 语言中,用逗号分隔一组值,可以创建一个元组,A和B均可以
D中应该添加逗号,(1,)来表示元组,否则会有歧义
python中for和while后面都可以接else
注意是list
4.
5.
输入的都是str
词法分析
一个文法的语言是该文法能产生的句子的集合。一个文法产生的句子是从文法开始符号出发推导出的所有终结符号串。
中间代码
常用的中间代码有树、后缀式、三元式和四元式等形式。
存储
在对高级语言源程序进行编译的过程中,为源程序中变量所分配的存储单元的地址属于(逻辑地址 )。(在运行时装入,再映射为物理地址)
编程语言文法
短语结构文法或无限制文法也称为0型文法:可使用任何的语法描述形式。
上下文有关文法也称为1型文法:语法形式为:xSy->xAy。也就是说,S (非终结符号)推导出A (非终结符号与终结符号的混合串)是和上下文x,y相关的,即S只有在上下文x,y的环境中才能推导出A。
上下文无关文法也称为2型文法:语法形式如下:S->A,即S可以无条件的推导出A,与上下文无关。
正规文法也称为3型文法,等价于正则表达式,其描述能力相当于有穷自动机,语法形式如下:S->Aa,其中最后一个a必须为非终结符。
软件测试
McCabe度量法
McCabe复杂性度量又称环路度量,单一的顺序结构最为简单,循环和选择所构成的环路越多,程序就越复杂。
参考链接
(1)流图中的区域数等于环形复杂度。
(2)流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。
(3)流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。
通常使用方法2和方法3。推荐使用方法三
作图中判定节点有2个,右图中有4个(看有没有分支就行了。)
因此他们的Mccabe复杂度分别为3和5
第一空:要满足条件覆盖,要求三个判断框的Y和N至少要经过一次,,即1Y2Y;1Y2N;1N3Y;1N3N,至少需要4个测试用例。(1Y表示第一个判断为Yes,3N表示第三个判断为No)
第二空:3个判断,因此复杂度为4
软件开发模型
瀑布模型:适用于项目开始时,需求确定
V模型:瀑布模型的变种,将测试和软件设计相结合起来
原型模型:需求模糊时,开发人员快速开发系统以理解或澄清问题,原型的用途是获知用户的真正需求。
螺旋模型:把开发活动和风险管理结合起来
面向对象
领域类模型
领域模型是从按对象分类的角度来创建对象领域的描述,包括定义概念、属性和关联
其结果用一组显示领域概念和对象的图形一一类图来组织
软件工程
极限编程
极限编程(XP)的十二个最佳实践:
计划游戏、小的发布、系统隐喻、简单设计、测试驱动、重构、结对编程、集体所有权、持续集成、每周工作40小时、现场客户和编码标准
题目集合
鼠标等硬件和中断处理程序接近