软考中级软件设计师(上午题)/ 上

1. 对阶时,小阶码向大阶码对齐;以十进制的科学记数法为例,10上的次方数可以看作阶码,小数点可以看作是尾数;所以当小阶码增大时,尾数向右移动
2.字长为32位bit,半字寻址即为 16位bit = 2B;因此,可以寻址的单元数为 16MB / 2B = 2^23
3.OSI模型中,自下而上第一个提供端到端服务的层次为网络层
原因:端到端服务是指把不相邻的结点通过中间节点(路由器)形成间接可达通路的服务,网络层干的就是这个活;传输层为了让端到端服务变得更加可靠,所以通过tcp协议(ack + 三次握手四次挥手 + …)保证了端到端通信的可靠性;点到点通信即为相邻结点通过直连通路实现通信,数据链路层就在干这个

4.分为核心密码、普通密码和商用密码。核心密码、普通密码用于保护国家秘密信息,前者最高级为绝密级,后者最高级为机密级。商用密码用于给公司企业保护网络与信息安全。绝密30年保护,机密20年保护,秘密10年保护。
5.SMTP传输邮件,FTP传输文件,HTTP传输网页,因此都需要通过TCP来做到可靠传输。DNS为域名解析系统,UDP服务效率更高,开销小。
6.著作权有人身权(署名权)和财产权两大类。
购买了艺术作品A后,只有A的所有权,没有A的著作权。

7.随机存储器可以按照地址访问存储器的任一单元;相联存储器根据内容访问,类似于键值对根据键找到值,同一键可以存储在存储器的多个位置,所以将该关键字与存储器每一单元进行比较;顺序访问器按顺序查找目标地址,因此访问所需时间与存储位置相关;直接存储器是按照数据块所在位置访问,寻找块时用的随机寻址,块内用的是顺序寻址

8.看到“晚多少天可以不影响工期”是在求松弛时间。关键路径需要 8 天(BED),从 V6 退回到 V2 舍去了 GC ,即 8 - 2 - 2 = 4 天,所以最多可以晚(4 - 3 = 1)天
9.逆波兰式即为后缀表达式

10.磁盘转速为27ms/r,意为从一个磁道的磁头到磁尾需要27ms;每个磁道顺序存放9条记录(当中没有间隙),所以读出1条记录需 27/9 = 3ms;读出后还需要处理,所以对A记录来说一共需要 3+2 = 5 ms;经过处理以后,开始准备读取B记录,发现读写头此时不在B记录的头部(处理时读写头还在往后移动),所以需要重新转一圈转到B记录的开头;转到读写头当前所在位置需要 27ms,相距B记录的首部多转了 2ms(A记录处理时间),所以转 27 - 2 = 25 ms即可;B -> C 时,27 - 2 + 3 + 2 = 27 + 3,加3为读取时间,加2为处理时间;再转一圈,回到C的开头,最后处理完C也需要 27 + 3 ms;假设文件只有 3条记录,那么总的时间为 (3+2) + 2*(27+3) ,推广到9条记录为 (3+2) + 8*(27+3) = 245ms
11.通过上一问,我们不难发现经过处理时间,读写头会处于第二块的中间位置。所以为了不影响读取,我们可以把要的第二条记录放在第三块的位置,并用靠后位置的记录占位,即以 AFB 的方式顺序存在磁道中。推广到整个文件记录,即为 AFBGCHDIE ,通过下图不难看出总共花费的时间为 (5+1)* 9 = 54 ms。需要注意的是,最后的 I 读取完,读写头不需要到 E 的尾部(后面没有记录需要读取了),所以 54 - 1 = 53 ms 为结果

12.无论初始值为何,只要 S=-1 就代表有一个进程在等待,初始值表示系统可以被调用的总资源数
13.功能内聚完成一个单一功能,各个部分协同工作,缺一不可。顺序内聚处理元素相关,且要顺序执行(goto不能用)。通信内聚的所有处理元素集中在一个数据结构区域(只能用一种数据结构去读写数据)。过程内聚是按特定的顺序执行(可以用goto,但必须有顺序)。时间内聚所包含任务必须在同一时间间隔内执行。逻辑内聚完成逻辑上相关的一组任务(A、B、C 功能相关,全都做在一个类里面)。

14.SCRUM MASTER 6大职责:
- 教练:要指导员工怎么做
- 服务型领导:是员工的牧羊犬、公仆
- 过程权威:负责 SCRUM 的过程实现
- 保护伞:保护团队不受到外来影响
- 清道夫:处理团队黑料
- 变革代言人:团队变革中起到重要影响的人

15.例如一个动物类当中有一个发声方法,子类鸡和子类鸭可以分别根据自己需要实现父类中的发声方法,调用的都是发声但发声不一样。针对同一消息(发声方法),不同对象(鸡鸭)可以以适合自身的方式加以相应
16.没有A、D这两个设计原则。开闭原则指类这种可以被拓展但不能被修改。接口分离(接口隔离)原则指用多个专用接口而不用单一总接口,可以做到客户不想要的接口不被放在接口中。
17.继承关系是子类和父类的关系;关联关系是一种同级事务的对应关系,例如丈夫与妻子;聚合是一种特殊的关联关系,描述的是整体与部分的关系,例如计算机类与计算机的硬件设备类;依赖关系是指一个东西的改变会导致另一个东西的改变,例如汽车依赖于汽油;泛化关系是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象,例如动物就是哺乳动物的泛化
18.三种类型设计模式
创建型设计模式->抽象实例化过程,例如类的表示与其构造相互分离
结构型设计模式->组合类与对象获取更大的结构
行为型设计模式->算法和对象间职责分配

19.哈夫曼树为带权路径长度最小的二叉树。哈夫曼树由下而上构造,其节点的度只可能为 0 or 2。根据哈夫曼编码画出哈夫曼树的原则为左0右1,哈夫曼编码从根节点往叶节点来读路径长度
A的哈夫曼树{111,110,101,100,0}:

B的哈夫曼树{0000,0001,001,01,1}:

C的哈夫曼树{11,10,01,001,000}:

D的哈夫曼树{11,10,011,010,000}:

最后发现只有D有1个度的节点,因此D无法构造出哈夫曼树
20.节点数 = 总节点度 + 1,叶节点为度为0的节点,即没有一条边的节点。
所以 5*4+7*3+3*2+9*1+1 = N0+5+7+3+9 -> N0 = 33
21.以第一个元素为根节点,比它小的放左边,比它大的放右边;出现了第二比根节点小的元素,就和当前在根节点左边的小元素进行比较,比它大放右边,比它小放左边,以此类推
不难得出,A、B、D的二叉排序树构造如下:

C的二叉排序树构造如下:

设散列表长 m = 14,散列函数为 H(key) = key%11,表中仅有 4 个节点 H(15) = 4, H(38) = 5,H(61) = 6,H(84) = 7,若使用线性探测法处理冲突,则关键字 49 存储的地址为__C__
A.3 B.5 C.8 D.9
22. 49 % 11 = 5,与关键字 38 出现了冲突,所以往后存储;6、7 也被存掉了,所以最后存在了 8 位置

23.冲突域是指在同一网段内,两台或多台设备若同时发送信息会产生信号冲突。物理层设备(集线器、中继器)无法隔离冲突域与广播域,网络层设备两个都可以隔离,数据链路层只能隔离冲突域。
24.报文交换无需连接,因此比较不可靠,同时一个报文发送完才会发送下一个,因此时间开销比较大;分组交换基于报文交换做出了优化,可以多个报文一起传送;电路交换就类似于打电话,建立起连接以后,只能够接受限定数量的设备进行通信;虚电路交换类似于在公路上规划了一条固定的导航线路,所有设备可以共享这条公路,但所有数据包都严格按照路线行驶。
25.
- 电气特性:传输二进制位时,线路上信号的表现方式与规格
- 功能特性:某点评表示的含义,信号线用途等……
- 机械特性:物理接口的机械结构,例如接口形状、尺寸等……
- 规格特性:流程的规则
26.会话层是建立与维护设备间的连接,表示层是对数据的表示进行处理同时进行数据加密,应用层就是应用这些内容

27.
- 局部性原理:CPU访问存储器,主要访问的都是趋于在一个较小的连续区域内,这就是局部性原理
- 页面如果很小,页面号就会很多,自然寻找页面号的时间就会比较多,操作速度降低
- 页面太大,缺页率会比较大

28.tcp/ip协议簇包含了 网络层 -> 数据链路层 的所有内容
29.ICMP报文作为数据字段封装在 ip 分组中
30.作品无论是否发表,都会有著作权,著作权自作品创作完成时开始生效
31.烟草产品的商标强制注册
32.数据流图中的加工是对数据进行处理的的单元。它接收一定数量的数据,然后产生出一定数量的结果。因此,每个加工至少有一个输入流和一个输出流。

33.功能模型:用例图 对象模型:类图 动态模型:状态图、顺序图、活动图
34.
源代码 -> 预处理 -> 编译(变为汇编代码 add、push、sub……) -> 优化 -> 汇编(由汇编代码变为机器语言) -> 链接(把多个文件链接在一起) -> 生成可执行文件
目标代码生成阶段是编译的最后一个阶段,编译是把高级语言转换为接近机械语言的汇编代码(目标代码),最后生成一个目标程序(.o 文件,里面放着很多的汇编代码)
35.位视图中,字号、位号从0开始,第几个字、第几个位从1开始算

36.索引块大小为 1KB,每个地址项 4B,所以每个索引块对应了 1KB / 4B = 256 个索引地址;一级间接地址索引即1个索引节点对应了1块索引块,二级间接地址索引即1个索引节点对应了1块索引块,该索引块中的每个索引地址又对应了一块索引块;所以直接地址索引为 0~4 ,一级间接地址索引为 5~(5 + 2*256 -1 = 516),二级间接地址索引为 517~(517+256*256-1 = 66052),可表示的地址范围为 0~66052(即66053个地址),每个数据块大小为1KB,所以最大长度是 1*66053 KB
37.
- 极限编程(XP) 是敏捷开发的典型方法之一,它轻量、高效、低风险、柔性、可预测、科学。
- 水晶法与XP一样,秉持以人为中心的理念。XP是高度纪律性,水晶是最少纪律约束。虽然水晶法不像XP那样高产出,但会有更多人接受并遵循。水晶法会根据不同方法,提出不同方法论(纪律性)。
- 并列争球法(SCRUM)采用迭代方法,每30天作为一个迭代,按需求优先级实现产品。
- 自适应软件开发(ASD)的核心是三个重叠的开发阶段:猜测,合作与学习
38.静态实现的是构件图,静态实施的是部署图,协作图是动态图
39.关系模式中,规范化不一定越深越好。虽然规范化有助于减少数据冗余,但因为分出来的关系模式增多了,所以可能会导致连接操作变得频繁,查询效率下降。

40.单链表中,指针只能向后移动,phead为头节点指针,ptail为尾节点指针,
- 设一个pnext,pnext = phead -> next,phead -> next = pnext -> next 后,把pnext释放掉
- 删除最后一个元素前,要先找到最后一个元素的前一个元素,所以时间复杂度为 O(N)
41.无向图的邻接矩阵存储中,每条边存储两次,所以对称。AOV 用顶点表示活动的拓扑网络,AOE 是边表示活动的拓扑网络
下列算法中,__C__算法可能出现 在最后一趟开始之前,所有元素都不在最终位置上
A.堆排序 B.冒泡排序 C.插入排序 D.快速排序
42.堆排序每次最后一个元素都能够被排序完毕,冒泡排序也同样是这样。快速排序每次 key 值被交换位置后,左边都比它小,右边都比它大,排序完毕。插入排序时,若需要放在第一个位置的元素在最后位置,那么在最后一趟前所有元素都不在最终位置上。
43.本地计算机一般不会和DNS服务器在一个子网,百度的DNS服务器可能在北京,那只有我的计算机在北京了才能用百度的域名吗?想想都不可能

44.要建立浏览器与服务器之间的连接(会话连接),先得知道服务器的IP地址,所以先得把域名转换为IP地址
45. 远程登陆需要依靠一个客户端到服务器的可靠连接,不能用着用着突然断了,所以得用UDP
