2019年下半年软件设计师上午真题及答案解析

1在CPU内外常需设置多级高速缓存(cache),主要目的是( )。

A.扩大主存的存储容量

B.提高cpu访问主存数据或指令的效率

C.扩大存储系统的存量

D.提高cpu访问内外存储器的速度

所属知识点:计算机组成与体系结构>Cache

答案解析

在CPU内外的高速缓存是用来解决CPU与内存之间速度、容量不匹配的问题,与外存无关,可以提高CPU访问主存数据或指令的效率,所以B选项正确,D选项错误。

Catch不属于主存,与主存容量无关,所以A选项错误。

Catch容量相对于其他存储层次,量级较小,不能扩大存储系统的存量,所以C选项错误。

2某系统的可靠性结构框图如下图所示,假设部件1、2、3的可靠度分别为0.90;0.80;0.80(部件2、3为冗余系统)若要求该系统的可靠度不小于0.85,则进行系统设计时,部件4的可靠度至少应为( )。

A. 0.85/(0.9*(1-(1-0.8)²))

B. 0.85/(0.9*(1-0.8)²)

C. 0.85/(0.9*(0.8+0.8))

D. 0.85/(0.9*(0.8*0.8))

所属知识点:计算机组成与体系结构>可靠性

答案解析

设部件 4 的可靠度为 X,则有方程:

0.90*(1-(1-0.80)(1-0.80))*X>=0.85 解得:X>=0.85/(0.90*(1-(1-0.8)²))

可靠性计算

  1. 串联系统

各个子系统的可靠性分别用R,R₂,...,Rn表示

  1. 系统的可靠性为:R = R₁ * R₂ ... * Rn
  2. 系统的失效率为:λ = λ₁ + λ₂ + ... + λn
  1. 并联系统

 

假如一个系统由2个子系统组成,只要有一个系统能够正常工作,系统就能正常工作,设系统各个子系统的可靠性分别用R,R₂,...,Rn表示

  1. 系统的可靠性为:R = 1 - (1 - R)* (1 - R₂) * ... * (1 - Rn)
  2. 系统的失效率为:

3、计算机运行过程中,进行中断处理时需保存现场,其目的是( )。

A.防止丢失中断处理程序的数据

B.防止对其他程序的数据造成破坏

C.能正确返回到被中断的程序继续执行

D.能为中断处理程序提供所需的数据

所属知识点:计算机组成与体系结构>输入/输出技术

答案解析

CPU接收到中断请求,会将自己正在执行的程序A的状态进行保存,即保存现场,然后转去处理提交中断申请的程序B,完成程序B之后,再回到程序A中断的断点接着完成程序A。保存现场的目的是为了能正确返回被中断的程序A继续执行。

4-5、内存按字节编址,地址从A0000H到CFFFFH的内存,共存( )字节,若用存储容量为64k*8bit的存储器芯片构成该内存空间,至少需要( )片。

(4)A.80k B.96k C.160k D.192 k

(5)A.2 B.3 C.5 D.8

所属知识点:计算机组成与体系结构>主存编址计算

答案解析

首先计算内存包括多少个字节,CFFFF - A0000 + 1 = (30000) 16进制 = (196608)10进制 = 192 * 1024 = 192k

每个存储芯片的大小是 64k * 8bit = 64k 字节,所以需要:192k / 64k = 3 个存储芯片。

6、执行指令时,将每一节指令都分解为取指、分析和执行三步,已知取指时间t取指=5△t,分析时间t分析= 2△t.执行时间t执行= 3△t如果按照[执行]K、[分析]K+1、[取指]K+2重叠的流水线方式执行指令,从头到尾执行完500条指令需( )△t。

A.2500 B.2505 C.2510 D.2515

所属知识点:计算机组成与体系结构>流水线技术

答案解析

采用流水线技术,所需时间为一条指令的完整时间 + (K - 1) * 最长分段时间,即 10 + (500 - 1) * 5△t = 2505△t。

  1. 计算执行时间

假定有某种类型的任务,可分为N个子任务,每个子任务需要时间t,则完成该任务所需的时间为 N*t。

  1. 若以传统的方式,完成k个任务所需的时间是kNt。
  2. 使用流水线技术,花费的时间是Nt+(k-1)t。

注意:如果每个子任务所需的时间不同,其时间取决于执行顺序中最慢的那一个。

7、下列协议中,与电子邮箱服务的安全性无关的是( )。

A.SSL B.HTTPS C.MIME D.PGP

所属知识点:信息安全>网络安全协议

答案解析

MIME 它是一个多用途互联网邮件扩展类型的标准,扩展电子邮件标准,使其能够支持多媒体信息传输,与安全无关。与安全电子邮件相关的是S/MIME安全多用途互联网邮件扩展协议。

A选项SSL和B选项HTTPS涉及到邮件传输过程的安全,D选项PGP(全称:Pretty Good Privacy,优良保密协议),是一套用于信息加密、验证的应用程序,可用于加密电子邮件内容。

8、下列算法中,不属于公开密钥加密算法的是(  )。

A.ECC B.DSA C.RSA D.DES

所属知识点:信息安全>对称加密与非对称加密

答案解析

公开密钥加密(public-key cryptography),也称非对称加密(asymmetric cryptography),一种密码学算法类型,在这种密码学方法中,需要一对密钥,一个是私人密钥,另一个则是公开密钥。

常见的公钥加密算法有:RSA、ELGamal、背包算法、Rabin(RSA的特例)、迪菲-郝尔曼密钥交换协议中的公钥加密算法、椭圆曲线加密算法(Elliptic Curve Cryptography,ECC);DSA数字签名(又称公钥数字签名),将摘要信息发送者的私钥加密,接收者只有用发送者的公钥才能解密被加密的摘要信息,也是属于公开密钥加密算法。

DES是典型的私钥加密体系,属于对称加密,不属于公开密钥加密,所以本题选择D选项。

9、kerberos系统中可通过在报文中加入( )来防止重放攻击。

A.会话密钥 B.时间戳 C.用户ID D.私有密钥

所属知识点:信息安全>网络攻击

答案解析

重放攻击(Replay Attacks)又称重播攻击,回放攻击或新鲜性攻击(Freshness Attacks),是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。

Kerberos系统采用的是时间戳方案来防止重放攻击,这种方案中,发送的数据包是带时间戳的,服务器可以根据时间戳来判断是否为重放包,以此防止重放攻击。

10、11、某电子商务网站向CA申请了数字证书,用户可以通过使用(10)验证(11)的真伪来确定该网站的合法性。

(10)

A.CA的公钥

B.CA的签名

C.网站的公钥

D.网站的私钥

(11)

A.CA的公钥

B.CA的签名

C.网站的公钥

D.网站的私钥

所属知识点:信息安全>数字证书

答案解析

数字证书是由权威机构——CA证书授权(Certificate Authority)中心发行的,能提供在Internet上进行身份验证的一种权威性电子文档,人们可以在因特网交往中用它来证明自己的身份和识别对方的身份。

数字证书包含版本、序列号、签名算法标识符、签发人姓名、有效期、主体名和主体公钥信息等并附有CA的签名,用户获取网站的数字证书后通过CA的公钥验证CA的签名,从而确认数字证书的有效性,然后验证网站的真伪。

数字证书由CA签发给用户,CA保证它的安全和可靠性,使用CA的私钥对证书进行签名,使用CA的公钥验证签名的合法有效性。

12、李某受非任职单位委托,利用该单位实验室实验材料和技术资料开发了一项软件产品,对该软件的权利归属,表达正确的是( )。

A.该软件属于委托单位

B.若该单位与李某对软件的归属有特别的约定,则遵从约定;无约定的原则上归属于李某

C.取决于该软件是否属于单位分派给李某的

D.无论李某与该单位有无特别约定,该软件属于李某

所属知识点:法律法规与标准化>知识产权人确定

答案解析

根据题干描述,这里不能排除职务作品,对于A选项和B选项来看,B选项更严谨,因此,本题选择B选项。

13、李工是某软件公司的软件设计师,每当软件开发完成均按公司规定申请软件著作权,该软件的著作权( )。

A.应由李工享有

B.应由公司和李工共同享有

C.应由公司享有

D.除署名权以外,著作权的其他权利由李工享有

所属知识点:法律法规与标准化>知识产权人确定

答案解析

根据题干描述,本软件为职务作品,知识产权人为公司。

14、某考试系统的部分功能描述如下,审核考生报名表,通过审核的考生登录系统,系统自动为其生成一套试题,考试中心提供标准答案,问卷老师问卷,提交考生成绩,考生查看自己的成绩。若用数据流图对该系统进行建模,则(  )不是外部实体。

A.考生 B.考试中心 C.问卷老师 D.试题

所属知识点:软件工程>数据流图与数据字典

答案解析

外部实体是指独立于系统而存在的,但又和系统有联系的人、设备或其他系统。

15、以下关于软件设计原则的叙述中,不正确的是( )。

A.系统需要划分多个模块,模块的规模越小越好

B.考虑信息隐蔽,模块内部的数据不能让其他模块直接访问模块独立性要好

C.尽可能高内聚和低耦合

D.采用过程抽象和数据抽象设计

所属知识点:软件工程>模块设计原则

答案解析

划分模块时,要求模块功能单一,并不是规模越小越好。

模块独立

模块独立是指每个模块完成一个相对独立的特定子功能,并且与其他模块之间的联系最简单。

通常用耦合(模块之间联系的紧密程度)和内聚(模块内部各元素之间联系的紧密程度)两个标准来衡量,我们的目标是 “高内聚、低耦合”。

16、某模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一处理元素的输出就是下一处理元素的输入,则该模块的内聚类型为( )内聚。

A.过程 B.时间 C.顺序 D.逻辑

所属知识点:软件工程>内聚性

答案解析

内聚

指模块内部各元素之间联系的紧密程度。模块的内聚类型分为7种,根据内聚度从高到低排序。

内聚类型

描述

功能内聚

完成一个单一功能,各个部分协同工作,缺一不可

顺序内聚

处理元素相关,而且必须顺序执行

通信内聚

所有处理元素集中在一个数据结构的区域上

过程内聚

处理元素相关,而且必须按照特定的次序执行

瞬时内聚

所包含的任务必须在同一时间间隔内执行(如初始化模块)

逻辑内聚

完成逻辑上相关的一组任务

偶然内聚

完成一组没有关系或松散关系的任务

17、18、下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动。边上的权重表示活动的持续时间(天),则里程碑( )不在关键路径上。在其他活动都按时完成的情况下,活动BE最多可以晚 ( )  天开始而不影响工期。

(17)A.B B.C C.D D.J

(18)A.0 B.1 C.2 D.3

所属知识点:项目管理>Gant图与Pert图

答案解析

本题考查知识内容为进度管理-单代号网络图,其中结点表示里程碑,边表示活动,在边上标注各活动的最早开始时间、活动持续时间、最早完成时间,然后从后往前推导出ABEHJL路径上各活动的最晚开始时间、总时差、最晚完成时间如下图:

根据提示,该项目有两条关键路径,分别为:ABFJL,ADGIJL,其中B、D、J活动都在关键路径上,C活动不在,第一空选择B选项。

BE活动总时差为2天,即EB活动最多可以晚2天开始而不影响工期,第二空选择C选项。

19、以下关于软件风险的叙述中,不正确的是( )。

A.风险是可能发生的事件

B.如果发生风险,风险的本质、范围和时间可能会影响风险所产生的后果

C.如果风险可以预测,可以避免其发生

D.可以对风险进行控制

所属知识点:项目管理>风险管理

答案解析

一般认为软件风险包含两个特性:不确定性和损失,不确定即指风险可能发生也可能不发生,A选项正确。

评估风险的影响,如果风险真的发生,有3个因素可能会影响风险所产生的后果,即风险的本质、范围和时间,B选项正确。

如果风险可以预测,可以避免其发生,有些风险可以预测但无法避免,C选项错误。

风险控制的目的是辅助项目组建立处理风险的策略,D选项正确。

20、21、将编译器的工作过程划分为词法分析,语义分析,中间代码生成,代码优化和目标代码生成时,语法分析阶段的输入是( ),若程序中的括号不配对,则会在( )阶段检查出错误。

(20)A.记号流 B.字符流 C.源程序 D.分析树

(21)A.词法分析 B.语法分析 C.语义分析 D.目标代码生成

所属知识点:程序设计语言>编译器工作过程

答案解析

A选项记号流,语法分析的输出是记号流,也就是语法分析的输入,第一空选择A选项。

B选项字符流,在Java中,根据处理的数据单位不同,分为字节流和字符流。字符流是由字符组成的,例如 File Reader、File Writer、Buffered Reader、Buffered Writer、Input Stream Reader、Output Stream Writer 等。与本题无关。

C选项源程序,词法分析阶段的任务是把源程序的字符串转换成单词符号序列。

D选项分析树,如果没有语法错误,语法分析后就能正确的构造出其语法树。

括号不匹配是典型的语法错误,会在语法分析阶段检测出来。

22、以下关于I/O软件的叙述中,正确的是( )。

A.I/O软件开放了I/O操作实现的细节,方便用户使用I/O设备

B.I/O软件隐藏了I/O操作实现的细节,向用户提供物理接口

C.I/O软件隐藏了I/O操作实现的细节,方便用户使用I/O设备

D.I/O软件开放了I/O操作实现的细节,用户可以使用逻辑地址访问I/O设备

所属知识点:操作系统>I/O管理软件

答案解析

I/O 软件隐藏了 I/O 操作实现的细节,所以A选项和D选项错误。I/O 软件向用户提供的是逻辑接口,B选项错误。I/O 软件将硬件与较高层次的软件隔离开来,而最高层软件向用户提供了一个友好的、清晰且统一的接口,方便用户使用,所以 C选项正确。

23、在磁盘调度管理中通常( )。

A、先进行旋转调度,再进行移臂调度

B、在访问不同柱面的信息时,只需要进行旋转调度

C、先进行移臂调度,再进行旋转调度

D、在访问不同磁盘的信息时,只需要进行移臂调度

所属知识点:操作系统>磁盘管理

答案解析

磁盘调度管理中,先进行移臂调度寻找磁道,再进行旋转调度寻找扇区。

24假设磁盘臂位于15号柱面上,进程的请求序列如下表表示,如果采用最短移臂调度算法,那么系统的响应序列应为( )。

请求序列

柱面号

磁头号

扇区号

12

8

9

19

6

5

23

9

6

19

10

5

12

8

4

28

3

10

A.①②③④⑤⑥

B.⑤①②④③⑥

C.②③④⑤①⑥

D.④②③⑤①⑥

所属知识点:操作系统>磁盘管理

答案解析:

最短移臂调度算法,即优先响应距离较近磁道的申请。

1、当前磁头位于15号柱面(柱面号即磁道编号),请求序列分别位于12号柱面(①⑤)、19号柱面(②④)、23号柱面(③)、28号柱面(⑥);

2、距离15号柱面最近的应该是12号柱面(①⑤),优先响应(①⑤),次序不限;

3、此时磁头位于12号柱面,距离最近的应该是19号柱面(②④),次序不限;

4、此时磁头位于19号柱面,距离最近的应该是23号柱面(③);

5、此时磁头位于23号柱面,距离最近的应该是28号柱面(⑥)。

满足要求的只有B选项。

25、敏捷开发方法scrum的步骤不包括( )。

A、Product Backlog B、Refactoring C、Sprint Backlog D、Sprint

所属知识点:软件工程>开发模型

答案解析

A选项 Product Backlog 产品待办事项清单;

B选项 Refactoring 重构,不属于 Scrum的步骤;

C选项 Sprint Backlog,Sprint 待办事项清单;

D选项 Sprint,冲刺迭代。

26、以下关于CMM的叙述中,不正确的是( )。

A.CMM是指软件过程能力成熟度模型

B.CMM根据软件过程的不同成熟度划分了5个等级,其中,1级被认为成熟度最高,5级被认为成熟度最低

C.CMMI的任务是将已有的几个CMM模型结合在一起,使之构成"集成模型"

D.采用更成熟的CMM模型,一般来说可以提高最终产品的质量

所属知识点:软件工程>软件工程改进

答案解析

CMM(软件能力成熟度模型)是一种用于评价软件软件承包能力并帮助其改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。CMM 分为五个等级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。一级最低,五级最高。

27、ISO/IEC软件质量模型中,易使用性是指与使用所需的努力由一组规定或隐含的用户对这样使用所作的个别评价有关的一组属性,其易使用性的子特性不包括(  )。

A.易理解性

B.易学性

C.易分析性 

D.易操作性

所属知识点:软件工程>软件质量保证

答案解析

质量特性

功能性

可靠性

易用性

效率

维护性

可移植性

质量子特性

适合性

成熟性

易理解性

时间特性

易分析性

适用性

准确性

容错性

易学性

资源利用性

易改变性

易安装性

互操作性

易恢复性

易操作性

稳定性

共存性

保密安全性

吸引性

易测试性

易替换性

依从性

依从性

依从性

依从性

依从性

依从性

28、( )不是采用MVC(模型-视图-控制器)体系结构进行软件系统开发的优点。

A.有利于代码重用

B.提高系统的运行效率

C.提高系统的开发效率

D.提高系统的可维护性

所属知识点:软件工程>架构设计

答案解析

MVC是分层架构风格的一种,采用关注点分离的方针,将可视化界面呈现(View)、UI 处理逻辑(Controller)和业务逻辑(Model)三者分离出来,并且利用合理的交互方针将它们之间的依赖将至最低。解耦之后,有利于代码重用、提高系统的可维护性,也可以提高系统的开发效率,但是由于分层之后,调用也需要分层调用,所以不能提高系统的运行效率。

29、以下关于各类文档撰写阶段的叙述中,不正确的是( )。

A.软件需求规格说明书在需求分析阶段撰写

B.概要设计规格说明书在设计阶段撰写

C.测试设计必须在测试阶段撰写

D.测试分析报告在测试阶段撰写

所属知识点:软件工程>软件文档

答案解析

测试过程基本上与开发过程平行进行,在需求分析阶段,就需要对验收测试、系统测试设计相关测试,撰写相关测试设计文档。

30、31、下图用白盒测试方法进行测试,图中有( )条路径采用McCabe度量计算该程序图的环路复杂性为( )。

(30)   A.3 B.4 C.5 D.6

(31)   A.3 B.4 C.5 D.6

所属知识点:软件工程>白盒测试用例

答案解析

将所有结点标注序号,根据图示,可以找到不同的路径共4条:1-2-3-11;1-2-3-4-5-6-10-11;1-2-3-4-5-7-9-10-11;1-2-3-4-5-7-8-9-10-11。第一空选择B选项。

根据环路复杂度计算公式V(G)=M-N+2=13-11+2=4,第二空选择B选项。

两种方法计算复杂度

  1. 流图G的圈复杂度V(G),为 V(G) = E - N + 2,E是流图中边的数量,N是流图中结点的数量。
  2. 流图中区域的数量等于圈复杂性。

32、以下关于软件维护的叙述中,不正确的是( )。

A.软件维护解决软件产品交付用户之后进行中发生的各种问题

B.软件维护期通常比开发期长得多,投入也大得多

C.软件可维护性是软件开发阶段各个时期的关键目标

D.相对于软件开发任务而言,软件维护工作要简单得多

所属知识点:软件工程>软件维护相关概念

答案解析

软件维护是软件生命周期最长的一段,相对于软件开发任务而言,软件维护工作要更加复杂,D选项描述不正确。

33、一个类中成员变量和成员函数有时也可以分别被称为( )。

A.属性和活动

B.值和方法

C.数据和活动

D.属性和方法

所属知识点:面向对象>面向对象的基本概念

答案解析

类的成员变量即对应属性,成员函数即对应方法。

34、采用面向对象方法进行系统开发时,需要对两者之间关系会建新类的是( )。

A.汽车和座位

B.主人和宠物

C.医生和病人

D.部门和员工

所属知识点:面向对象>面向对象的基本概念

答案解析

这里可以参照E-R图中的联系转换,多对多联系需要单独转换为一个关系模式,也需要重新建类。

35、进行面向对象系统设计时,软件实体(类、模块、函数等)应该是可以扩展但不可修改的,这属于( )设计原则。

A.共同重用

B.开放封闭

C.接口分离

D.共同封闭

所属知识点:面向对象>面向对象设计原则

答案解析

面向对象设计(含设计模式)的原则:

  1. 单一职责原则。
  2. 开发--封闭原则。
  3. 李氏(Liskov)替换原则。
  4. 依赖倒置原则。
  5. 接口隔离原则。
  6. 组合重用原则。
  7. 迪米特(Demeter)原则。

36、( )绑定是指在运行时把过程调用和响应调用所需要执行的代码加以结合。

A.动态 B.过载 C.静态 D.参数

所属知识点:面向对象>面向对象的基本概念

答案解析

静态绑定:编译器在编译期间就能完成的绑定叫做静态绑定。

动态绑定:是指在 “执行期间”(而非编译期间)判断所引用的实际对象类型,根据其实际的类型调用其相应的方法。

37、以下关于UML状态图的叙述中,不正确的是( )。

A.活动可以在状态内执行,也可以在迁移时执行

B.若事件触发一个没有特定监护条件的迁移,则对象离开当前状态

C.迁移可以包含事件触发器,监护条件和状态

D.事件触发迁移

所属知识点:面向对象>UML图的定义

答案解析

状态图展现了一个状态机,它由状态、转换、事件和活动组成,通常包括简单状态和组合状态、转换(事件和动作)。

由于状态可以是单一的,也可以是嵌套的(嵌套在另一个状态中的状态称为子状态,含有子状态的状态称为组合状态),所以活动可以在状态内执行,也可以在状态迁移时执行,A选项说法是正确的。

转换(迁移)是两个状态之间的一种关系,表示对象将在源状态执行一定的事件或动作,并在某个特定事件发生而且某个特定的监护条件满足时离开当前状态而进入目标状态,事件触发没有特定监护条件的迁移,对象也会离开当前状态,B选项正确。

转换(迁移)是从源状态和目的状态之间的一种关系,可以包含触发事件、监护条件、状态(源状态和目的状态)、动作,C选项说法不准确,本题选择C选项。

当某个事件发生后,对象的状态将发生变化,事件可以触发迁移,D选项的说法是正确的。

38、39、下图所示UML图为( ),有关该图的叙述中,不正确的是( )。

(38)  A.对象图 B.类图 C.组件图 D.部署图

(39)

A.如果B的一个实例被删除,所有包含A的实例都被删除

B.A的一个实例可以与B的一个实例关联.

C.B的一个实例被唯一的一个A的实例所包含

D.B的一个实例可与B的另外两个实例关联

所属知识点:面向对象>UML图的图示

答案解析

根据图示,本题UML为类图。注意:对象图的对象名会有:标识,并且对象图的关联关系一般不会出现多重度。因此第一空选择B选项。

根据图示,B依赖于A,也就是说,A发生变化会影响B,但是反过来,当B的一个实例被删除,不会影响A的实例。

40~43、欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形,该绘图软件的扩展性要求将不断扩充新的图形和新的绘图程序,以绘制直线和图形为例,得到如下图所示的类图,该设计采用(40)模式将抽象部分与其实现部分分离,使它们都可以独立的变化。其中 (41)  定义了实现类接口,该模式适用于 (42)  的情况,该模式属于 (43)  模式。

(40)

A.适配器( adapten)

B.装饰(Decorator)

C.桥接(Bridge)

D.组合( composite )

(41)

A.Shape

B.Circle和Rectangle

C.V1Drawing和V2Drawing

D.Drawing

(42)

A.不希望在抽象和它的实现部分之间有一个固定判定关系

B.想表示对象的部分-整体层次结构.

C.想使用一个已经存在的类,而它的接口不符合要求

D.在不影响其他对象的情况下,以动态透明的方式给单个对象添加职责

(43)

A.创建型对象

B.结构型对象

C.行为型对象

D.结构型类

所属知识点:面向对象>设计模式的图

答案解析

根据题干描述,该设计模式将抽象部分与其实现部分分离,使它们都可以独立的变化,指的是桥接模式,第一空选择C选项。

桥接模式是结构型对象模式,所以第四空选择B选项。

第三空,B选项描述的是组合模式,C选项描述的是适配器模式,D选项描述的是装饰模式,A选项描述的是桥接模式,本空选择A选项。

本题难度最大的是第二空,根据桥接模式的结构,实现类接口,定义实现类的接口,这个接口不一定要与抽象类的接口完全一致,事实上这两个接口可以完全不同,一般的讲实现类接口仅仅给出基本操作,而抽象类接口则会给出很多更复杂的操作。本题仅仅给出的基本操作是Drawing,第二空选择D选项。

44、45、给定关系R(U,Fr)其中属性属U={A,B,C,D},函数依赖集Fr={A→BC,B→D}关系S(U,Fs),其中属性集U={ACE},函数依赖集Fs={A→C,C→E}R和S的主键分别为(44),关于Fr和Fs的叙述,正确的是(45)。

(44) 

A. A和A

B. AB和A

C. A和AC

D. AB和AC

(45)

A.Fr蕴含A→B,A→C,但Fr不存在传递依赖

B.Fs蕴含A→E,Fs存在传递依赖,但Fr不存在传递依赖

C.Fr,Fs分别蕴含A→D,A→E,故Fr,Fs都存在传递依赖

D.Fr蕴含A→D,Fr存在传递依赖,但是Fs不存在传递依赖

所属知识点:数据库系统>规范化理论基本概念

答案解析

根据题干给出的信息,对于关系R,满足A能够遍历全图;对于关系S,满足A能够遍历全图;所以R和S的主键都是A。

并且,对于关系R,A→BC,即满足A→B且A→C,又有B→D,所以可以推导即蕴含A→D,存在传递函数依赖;对于关系S,存在A→C,C→E,所以可以推导即蕴含了A→E,存在传递函数依赖。描述正确的是C选项。

46、47、给定关系R(A,B,CD)和S(B,C,E,F)与关系代数表达式。

等价的SQL语句如下:

SELECT(46)

FROM R,S

(47);

(46)

A.R.A,R.B,S.F

B.R.A,S.B,S.E

C.R.A,S.E,S.F

D.R.A,S.B,S.F

(47)

A.WHERE R.B=S.B 

B.HAVING R.B=S.B

C.WHERE R.B=S.E

D.HAVING R.B=S.E

所属知识点:数据库系统>普通查询语句

答案解析

本题考查的是关系代数与SQL语句的结合,根据查询语句的格式:

SELECT [ALL|DISTINCT]<目标表达式> [, <目标表达式>]…]

FROM <表名> [,<表名>]…

[WHERE <条件表达式>]

SELECT后跟随的是结果属性列,即对R × S结果第1、5、7列的投影,对应属性R.A、S.B、S.E,第一空选择B选项;

FROM R,S后跟随的是结果元组行的WHERE筛选条件,即对R × S结果选择第2列=第5列的元组,对应属性为R.B=S.B,第二空选择A选项。

48、事务的(  )是指,当某个事务提交(COMMIT)后,对数据库的更新操作可能还停留在服务器磁盘缓冲区而未写入到磁盘时,即使系统发生障碍事务的执行结果仍不会丢失。

A、原子性 B、一致性 C、隔离性 D、持久性

所属知识点:数据库系统>事务的特性

答案解析

  1. 原子性(Atomicity):事务是原子的,要么做,要么不做。
  2. 一致性(Consistency):事务执行的结果必须保证数据库从一个一致性状态变到另一个一致性状态。
  3. 隔离性(Isolation):事务相互隔离。当多个事务并发执行时,任一事务的更新操作直到其成功提交的整个过程,对其他事务都是不可见的。
  4. 持久性(Durability):一旦事务成功提交,即使数据库崩溃,其对数据库的更新操作也永久有效。题干描述的是持久性。

49、对于一个n阶的对称矩阵A,将其下三角区域(含主对角线)的元素按行存储在一维数组中,设元素A[i][y]存放在S[k]中,且S[1]=A[0][0],则R与i,y(i<=y)的对应关系是(  )。

A.K=i(i+1)/2 + y - 1

B.k=i(i+1)/2 + y + 1

C.K=i(i-1)/2 + y - 1

D.k=i(i-1)/2 + y + 1

所属知识点:数据结构与算法基础>数组与矩阵

答案解析

本题有隐含条件需要注意,虽然前半段描述的是我们存储的下三角部分元素,但是最后提问的是i<=j情况下,元素下标与k的对应关系,此时已经指向的是其对称元素位置了。

50、某二叉树的中序,先序遍历序列分别为{20,30,10,50,40},{10,20,30,40,50}则该二叉树的后序遍历序列为(  )。

A.50,40,30,20,10.

B.30,20,10,50,40

C.30,20,50,40,10

D.20,30,10,40,50

所属知识点:数据结构与算法基础>二叉树遍历

答案解析

根据中序遍历和先序遍历,可以反向构造出这棵二叉树如下:

其后序遍历为30,20,50,40,10,即C选项。

51、某树共有n个结点,其中所有分支结点的度为k(即每个非叶子结点的子树数目),则该树中叶子结点的个数为(  )。

A.[n(k+1)-1]/k

B.[n(k+1)+1]/k

C.[n(k-1)+1]/k

D.[n(k-1)-1]/k

所属知识点:数据结构与算法基础>树与二叉树的特性

答案解析

本题可以画一棵简单的树验证4个选项,比如,以2个结点的树来看:

结点总数n=2,非叶子结点的子树数目为k=1,叶子结点的个数应该为1,带入4个选项验证(n=2,k=1,验算表达式是否结果为1即可):

A:(2×2-1)/1=3;B选项(2×2+1)/1=5;C选项(2×0+1)/1=1;D选项(2×0-1)/1=-1。

52、53、对于如下所示的有向图,其邻接矩阵是一个(52)的矩阵,采用邻接链表存储时顶点的表结点个数为2,顶点5的表结点个数为0,顶点2和3的表结点个数分別为(53)。

(52)A.5*5   B.5*7   C.7*5   D.7*7

(53)A.2.1   B.2.2   C.3.4   D.4.3

所属知识点:数据结构与算法基础>图的定义及存储

答案解析

根据邻接矩阵的定义,行列数都为结点个数,结点数为5,因此邻居矩阵行列数均为5,即5×5的矩阵。

根据邻接表的定义,一个顶点的表结点个数为其邻接顶点的个数,顶点2有2个邻接顶点,顶点3有2个邻接顶点。

  1. 邻接矩阵

对于一个具有n个结点的图,可以使用n*n的矩阵(二维数组)来表示它们间的邻接关系。

  1. 邻接表

邻接表由表头结点和表结点两部分组成,其中图中的每个顶点均对应一个存储在数组中的表头结点。如这个表头结点所对应的顶点存在相邻顶点,则把相邻顶点依次存放于表头结点所指向的单向链表中。

54、对N个数排序,最坏情况下时间复杂度最低的算法是(  )排序算法。

A.插入 B.冒泡 C.归并 D.快速

所属知识点:数据结构与算法基础>排序

答案解析

排序方法

时间复杂度(平均)

时间复杂度(最坏)

时间复杂度(最好)

空间复杂度

稳定性

复杂性

直接插入排序

O(n²)

O(n²)

O(n)

O(1)

稳定

简单

希尔排序

O(nlog₂n)

O(n²)

O(n)

O(1)

不稳定

较复杂

直接选择排序

O(n²)

O(n²)

O(n²)

O(1)

不稳定

简单

堆排序

O(nlog₂n)

O(nlog₂n)

O(nlog₂n)

O(1)

不稳定

较复杂

冒泡排序

O(n²)

O(n²)

O(n)

O(1)

稳定

简单

快速排序

O(nlog₂n)

O(n²)

O(nlog₂n)

O(nlog₂n)

不稳定

较复杂

归并排序

O(nlog₂n)

O(nlog₂n)

O(nlog₂n)

O(n)

稳定

较复杂

55、采用贪心算法保证能求得最优解的问题是( )。

A.0-1背包

B.矩阵链乘

C.最长公共子序列

D.邻分(分数)背包

所属知识点:数据结构与算法基础>贪心法

答案解析

贪心法在一般情况下一定能够得到满意解,不一定能够得到最优解。

贪心法能够获得最优解的前提是:

  1. 问题具有最优子结构,即规模为n的问题的最优解与规模为n-1的问题的解相关;
  2. 问题具有贪心选择性质,即问题的整体最优解可以通过一系列局部最优的选择得到。

部分背包问题具有以上性质,故可以通过贪心算法得到最优解。

56、57、已知某文档包含5个字符。每个字符出现的频率如下表所示。采用霍夫曼编码对该文档压缩存储,则单词“cade”的编码为(56),文档的压缩比为(57)。

字符

a

b

c

d

e

频率(%)

40

10

20

16

14

(56)

A.1110110101

B.1100111101

C.1110110100

D.1100111100

(57)  A.20% B.25% C.27% D.30%

所属知识点:数据结构与算法基础>最优二叉树(哈夫曼树)

答案解析

根据题干,可以构造出如下哈夫曼树:

对应c的编码111,a的编码0,d的编码110,e的编码101,第一空选择A选项。

压缩前,若要表示5个不同的字符,用二进制编码至少需要3位二进制,即每位字符占据空间3bit,平均字符长度为:

3×40%+3×10%+3×20%+3×16%+3×14%=3

压缩后,这5个字符的编码长度分别为1、3、3、3、3,平均编码长度为:

1×40%+3×10%+3×20%+3×16%+3×14%=2.2

压缩比为(3-2.2)/3=27%。

58、59、在TCP/IP网络中,建立连接进行可靠通信是在(58)完成中,此功能在OSI/RM中是在(59)层来实现的。

(58)

A.网络层

B.数据链路云

C.应用层

D.传输层

(59)

A.传输层

B.会话层

C.表示层

D.网络层

所属知识点:计算机网络>常见TCP/IP协议基础

答案解析

在TCP/IP网络中,建立连接进行可靠通信描述的是TCP协议,属于传输层协议。

在OSI/RM七层模型中,传输层以上还有会话层、表示层、应用层,传输层以下是网络层、数据链路层、物理层。

  1. 应用层主要实现具体的应用功能。
  2. 表示层主要处理数据的格式与表达、加密、压缩。
  3. 会话层为表示层提供建立、维护和结束会话连接的功能,并提供会话管理服务,也就是说会话层可以建立连接,第二空选择会话层。
  4. 网络层为传输层的数据传输提供建立、维护和终止网络连接的手段,这里针对的是网络连接,与可靠性连接无关,与本题不符。

60、下列无线通信技术中,通信距离最短的是( )。

A.蓝牙 B.窄带微波 C.CDMA D.蜂窝通信

所属知识点:计算机网络>网络接入技术

答案解析

在无线通信技术中,蓝牙的传输距离最短,一般为10 m左右,用于连接本地的外围设备,例如打印机、鼠标等。

61、在发送电子邮件附加多媒体数据时需采用( )协议来支持邮件传输。

A.MIME B.SMIP C.POP3 D.IMAP4

所属知识点:计算机网络>协议应用提升

答案解析

MIME:MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。它是一个互联网标准,扩展了电子邮件标准,使其能够支持多媒体格式。

SMTP:邮件传输协议。SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。SMTP是一个相对简单的基于文本的协议,无法处理多媒体数据。

POP3:邮件收取协议。POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。

IMAP4:IMAP4(Internet Message Access Protocol 4) 即 交互式数据消息访问协议第四个版本。IMAP4协议与POP3协议一样也是规定个人计算机如何访问网上的邮件的服务器进行收发邮件的协议,但是IMAP4协议同POP3协议相比更高级。IMAP4支持协议客户机在线或者离开访问并阅读服务器上的邮件,还能交互式的操作服务器上的邮件。IMAP4协议更人性化的地方是不需要像POP3协议那样把邮件下载到本地,用户可以通过客户端直接对服务器上的邮件进行操作(这里的操作是指:在线阅读邮件 在线查看邮件主题 大小 发件地址等信息)。用户还可以在服务器上维护自己邮件目录(维护是指移动)新建 删除重命名共享 抓取文本 等操作)。

其中B无法处理多媒体数据,C和D选项都是负责收取而不是传输邮件的协议。本题选择的是A选项。

62、表达式(a-b)(c+d)的后缀式(逆波兰式)是( )。

A.abcd-+

B.ab-c+d*

C.abc-d/-*

D.ab-cd+*

答案解析

根据表达式(a-b)(c+d),可以构造出语法树如下:其后序遍历及其后缀表达式(逆波兰式)为ab-cd+。

63、IPV6的地址空间是IPV4的( )倍。

A.4

B.96

C.128

D.2^96

所属知识点:计算机网络>IPv6

答案解析

IPv4用32位二进制表示,能够表示的地址空间是2^32,IPv6用128位二进制表示,能够表示的地址空间是2^128,本题选择 2^128/2^32=2^96,即D选项。

64~66进程p1、p2、p3、p4和p5的前趋图如下所示

若用PV操作控制这5个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为(64);空③和空④处应分别为(65);空⑤和空⑥处应分别为(66)。

(64)

A.V(S1)和P(S2)P(S3)

B.P(S1)和V(S1)V(S2)

C.V(S1)和V(S2)V(S3)

D.P(S1)和V(S1)P(S2)

(65)

A.V(S4)V(S5)和P(S3)

B.V(S3)V(S4)和V(S5)

C.P(S4)P(S5)和V(S5)

D.P(S4)P(S5)和V(S4)

(66)

A.P(S6)和P(S5)P(S6)

 B.V(S5)和V(S5)V(S6)

C.P(S6)和P(S5)P(S6)

D.V(S6)和P(S5)P(S6)

所属知识点:操作系统>前趋图与PV操作

答案解析

本题是典型的PV操作与前趋图结合考查题型。

前趋图中,进程存在明确的前趋和后继关系。前趋进程完成后以V()操作通知后继进程。后继进程开始前需要以P()操作检查前趋进程是否已完成。

也可以直接在图示中进行标注,结点间的→表示二者关系,箭头流出的结点是前趋进程,结束后也就是箭头流出位置,标注为V()操作以通知后继进程;箭头流入的结点是后继进程,开始前也就是箭头流入的位置,标注为P()操作以检查前趋进程。

此时:

P1没有前趋,有1个后继,P1执行后需要1个V()操作通知后继进程,即①填写V()操作;

P2有1个前趋,有2个后继,P2执行前需要有1个P()操作检查前趋,P2执行后需要2个V()操作通知后继进程,即②填写2个V()操作。

因此第一空,选择C选项,即满足3个V操作。不需要区别信号量。

P3有1个前趋,有2个后继,P3执行前需要有1个P()操作检查前趋,P3执行后需要2个V()操作通知后继进程,即③填写2个V()操作。

P4有2个前趋,有1个后继,P4执行前需要有2个P()操作检查前趋,④缺少1个P()操作,P4执行后需要1个V()操作通知后继进程,即⑤填写1个V()操作。

P5有2个前趋,没有后继,P5执行前需要有2个P()操作检查前趋,即⑥填写2个P()操作。

因此第二空,选择A选项,即满足2个V操作1个P操作。不需要区别信号量。 第三空,选择D选项,即满足1个V操作2个P操作。不需要区别信号量。

67、68、计算机执行程序时,内存分为静态数据区、代码区、栈区和堆区。其中(68)一般在进行函数调用和返回时,由系统进行控制和管理,(69)由用户在程序中根据需要申请和释放。

(67)   A.静态数据区   B.代码区   C.栈区   D.堆区

(68)   A.静态数据区   B.代码区   C.栈区   D.堆区

所属知识点:程序设计语言>其它

答案解析

本题考查程序语言基础知识。

程序在不同的系统中运行时,虽然对其代码和数据所占用的内存空间会有不同的布局和安排,但是一般都包括正文段(包含代码和只读数据)、数据区、堆和栈等。例如,在Linux系统中进程的内存布局示意图如下图所示。

栈是局部变量以及每次函数调用时所需保存的信息的存储区域,其空间的分配和释放由操作系统进行管理。每次函数调用时,其返回地址以及调用者的环境信息(例如某些寄存器)都存放在栈中。然后,在栈中为新被调用的函数的自动和临时变量分配存储空间。栈空间向低地址方向增长。

堆是一块动态存储区域,由程序员在程序中进行分配和释放,若程序语句没有释放, 则程序结束时由操作系统回收。堆空间地址的增长方向是从低地址向高地址。在C程序中,通过调用标准库函数malloc/calloc/realloc等向系统动态地申请堆存储空间来存储相应规模的数据,之后用free函数释放所申请到的存储空间。

69某有限自动机的状态转换图如下图所示,与该自动机等价的正规式是( )。

A.(0|1)*    B.(0|10)*    C.0*(10)*    D.0*(1|0)*

所属知识点:程序设计语言>有限自动机

答案解析

本题考查程序语言基础知识。

从题中的自动机可分析出,初态q0同时是终态,从q0到q0的弧(标记0)表明该 自动机识别零个或多个0构成的串,路径q0→q1→q0的循环表明“10”的多次重复,因此该自动机识别的字符串是“0|10”的无穷多次,表示为(0|10)*。

70、以下关于数据库两级映像的叙述中,正确的是( )。

A.模式/内模式映像实现了外模式到内模式之间的相互转换

B.模式/内模式映像实现了概念模式到内模式之间的相互转换

C.外模式/模式映像实现了概念模式到内模式之间的相互转换

D.外模式/内模式映像实现了外模式到内模式之间的相互转换

所属知识点:数据库系统>数据库三级模式结构

答案解析

本题考查数据库的基本概念。

数据库系统在三级模式之间提供了两极映像:模式/内模式映像、外模式/模式映像。正因为这两极映像保证了数据库中的数据具有较高的逻辑独立性和物理独立性。

  1. 模式/内模式映像。存在于概念级和内部级之间,实现了概念模式到内模式之间的相互转换。
  2. 外模式/模式映像。存在于外部级和概念级之间,实现了外模式到概念模式之间的相互转换。

71~75、You are developing a sevver-side enterprise application. It must support a variety of different clients including desktop browsers , mobile browsers and native mobile applications. The application might also expose an API for 3rd parties to customer. It might also(71)with other applications via either web services or a message broker. The application handles requests(HTTP requests and messages)by executing business logic;accessing a databse;exchanging messages with other systems;and returning a HTML /JSON/XML (72) . There are logical components corresponding to different functional areas of the application.

What's the application' s deployment architecture?

Define an architecture that structures the application as a set of (73) ,collaborating services. This approach corresponds to the Y-axis of the ScaleCube. Each service is;

Flighly maintainable and testable-enables rapid and frequent development and deployment.

Loosely coupled with other services-enables a team to work independently(the majority of time on their servicers)without being impouted by changes to other services and without affecting other services.

(74) deployable-enable a team to deploy their services without having to cortdinate with other teams.

Capable of being developed by a small team-essential for high productivity by avoiding the high communication head of large teams.

Services (75) using either synchronous protocols such as HTTP/REST or a synchronous protocols such as AMQP. Services can be developed and deployed independently of one another. Each service has its own database in order to be decoupled from other services. Data consistency between services is maintained using some particular pattern.

(71)

A.integrate

B.Coordinate

C.cooperate

D.Communicate

(72)

A.request

B.response

C.text

D.File

(73)

A.loosely coupled

B.loosely cohesion

C.High coupled

D.Highly cohesion

(74)

A.Dependently

B.Independently

C.Coordinately

D.Integratedly

(75)

A.interoprate

B.coordinate

C.communicate

D.depend

答案解析

你们正在开发一个全方位的企业应用系统。它必须支持各种不同的客户机,包括桌面浏览器。移动浏览器和本地移动应用程序。应用程序还可以向客户公开第三方的API。它还可以通过web服务或消息代理与其他应用程序集成。

应用程序通过执行业务逻辑、访问数据库、与其他系统交换消息以及返回HTML /JSON/XML 响应 来处理请求(HTTP请求和消息)。它有一些逻辑组件对应于应用程序的不同功能区域。

那么这个应用程序有什么样的部署体系结构呢?

将应用程序的体系结构定义为一组松散耦合的协作服务集合,对应于Scale Cube的y轴伸缩。

每个服务具有如下特征:

易于维护和测试——支持快速和频繁的开发和部署。

与其他服务的松散耦合——使团队能够独立工作(大部分时间在其服务器上),而不会受到对其他服务的更改的影响,也不会影响其他服务。

独立部署——允许团队部署他们的服务,而不必与其他团队协调。

能够被一个小团队开发,避免了大团队的高交流领导,这对于高生产力是至关重要的。

服务通信使用HTTP/REST等同步原协议或AMQP等同步协议。服务可以彼此独立地开发和部署。每个服务都有自己的数据库,以便与其他服务解耦。服务之间的数据一致性是使用某种特定的模式来维护的。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹏鹏程序员

您的鼓励将是我最大的动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值