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

2019年下半年软件设计师下午真题试题(案例分析)及答案

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

A.扩大主存的存储容量

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

C.扩大存储系统的存量

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

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

答案解析:

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

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

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

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

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

答案解析:

设部件4的可靠性为x,根据图示,系统整体可靠性0.9×[1-(1-0.8)2]×x,要求其不小于0.85,即

0.9×[1-(1-0.8)2]×x≥0.85,可以得到

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

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

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

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

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

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

答案解析:

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

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

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

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

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

答案解析:

地址从A0000H到CFFFFH,存储单元个数共有CFFFFH+1-A0000H=30000H,即3×164个;按字节编址,即每个存储单元存放1个字节,也就是1B;该存储区域总容量=存储单元个数×存储单元内容=3×164×1B=3×216B=192KB。若用存储容量为64K×8bit的存储芯片构成,即单位芯片容量为64K×8bit,总容量=单位芯片容量×片数,即片数=总容量/单位芯片容量=(192KB)/(64K×8bit)=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

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

答案解析:

流水线执行时间=流水线建立时间+(n-1)×流水线周期=5+2+3+(500-1)×5=2505△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的签名,从而确认数字证书的有效性,然后验证网站的真伪。

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

A.该软件属于委托单位

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

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

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

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

答案解析:

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

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

A.应由李工享有

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

C.应由公司享有

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

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

答案解析:

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

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

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

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

答案解析:

外部实体一般为组织机构、人员、第三方系统,D选项不是外部实体。

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

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

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

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

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

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

答案解析:

对于软件设计过程中,需要遵循高内聚、低耦合,模块大小适中,因此A选项描述不正确,本题选择A选项。B、C、D的描述都是正确的。

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

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

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

答案解析:

A选项过程内聚。如果一个模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行,则称为过程内聚。

B选项时间内聚。如果一个模块完成的功能必须在同一时间内执行(如系统初始化),但这些功能只是因为时间因素关联在一起,则称为时间内聚。

C选项顺序内聚。如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则称为顺序内聚。本题描述的是C选项。

D选项逻辑内聚。几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。如一个模块读取各种不同类型外设的输入。尽管逻辑内聚比偶然内聚合理一些,但逻辑内聚的模块各成分在功能上并无关系,即使局部功能的修改有时也会影响全局,因此这类模块的修改也比较困难。

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

(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))若程序中的括号不配对,则会在((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号柱面上,进程的请求序列如下表表示,如果采用最短移臂调度算法,那么系统的响应序列应为( )。

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中1级成熟度最低,5级成熟度最高,B选项描述错误,其他选项描述都是正确的。

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

A.易理解性 B.易学性 C.易分析性 D.易操作性

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

答案解析:

易用性的子特性包括易理解形、易学性、易操作性,易分析性属于可维护性的子特性。

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

A.有利于代码重用 B.提高系统的运行效率

C.提高系统的开发效率 D.提高系统的可维护性

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

答案解析:

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

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

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

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

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

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

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

答案解析:

测试过程基本上与开发过程平行进行,在需求分析阶段,就需要对验收测试、系统测试设计相关测试,撰写相关测试设计文档。C选项描述错误,其他选项的说法是正确的。

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

 (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选项。

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

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

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

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

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

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

答案解析:

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

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

A.属性和活动

B.值和方法

C.数据和活动

D.属性和方法

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

答案解析:

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

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

A.汽车和座位 B.主人和宠物 C.医生和病人 D.部门和员工

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

答案解析:

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

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

A.共同重用

B.开放封闭

C.接口分离

D.共同封闭

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

答案解析:

题干描述的是开闭原则。

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

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

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

答案解析:

运行时结合是动态绑定,编译时结合是静态绑定。

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

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

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

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

D.事件触发迁移

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

答案解析:

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

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

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

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

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

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

 

(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));

  1. 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、持久性

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

答案解析:

本题考查事务的ACID特性:

1、原子性(Atomicity):事务是原子的,要么做,要么都不做。

2、一致性(Consistency):事务执行的结果必须保证数据库从一个一致性状态变到另一个一致性状态。

3、隔离性(lsolation):事务相互隔离。当多个事务并发执行时,任一事务的更新操作直到其成功提交的整个过程,对其他事物都是不可见的。

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的对应关系,此时已经指向的是其对称元素位置了。

【方法1】可用代入法解决问题。

将S[1]=A[0][0]实例,对应上三角元素A[0][0],代入选项验证可得,只有B和C选项符合要求;

根据按行存储的顺序来看,下一个元素应该是A[1][0],对应上三角元素A[0][1],对应的一维数组位置为S[2],代入BC选项进行验证,选项结果都为2,无法区分;

根据按行存储的顺序来看,接下来元素应该是A[1][1],对应上三角元素A[1][1],对应的一维数组位置为S[3],代入BC选项进行验证,选项结果都为3,无法区分;

根据按行存储的顺序来看,接下来元素应该是A[2][0],对应上三角元素A[0][2],对应的一维数组位置为S[4],代入BC选项进行验证,选项C结果为3不符合要求,选项B结果为4是正确的选项;

所以本题选择B选项。

【方法2】也可以根据规律分析。对于对称矩阵A[][]结构如下:

A[0][0] A[0][1] A[0][2] ... A[0][n-1] A[0][n]

A[1][0] A[1][1] A[1][2] ... A[1][n-1] A[1][n]

A[2][0] A[2][1] A[2][2] ... A[2][n-1] A[2][n]

...

A[n-1][0] A[n-1][1] A[n-1][2] ... A[n-1][n-1] A[n-1][n]

A[n][0] A[n][1] A[n][2] ... A[n][n-1] A[n][n]

S[1]对应A[0][0],对于下三角元素A[i][j](i>=J),按行存储时,先处理前i-1行元素,此时每行对应元素分别为1、2、3、...、i-1、i个,求和,结果为(1+i)*i/2。接着处理第i行数据,本行列下标分别为0、1、2、...、j-1、j,共有j+1个元素。所以A[i][j]元素从S[1]开始,对应k=i(i+1)/2+j+1下标。这是下三角位置的分析过程。

再根据本题问题,i<=j的元素,此时是对称的上三角区域元素,对称关系为A[i][j]=A[j][i],将上面的表达式i、j位置互换即可,结果为k=j(j+1)/2+i+1。答案选择B选项。

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。

因此本题选择C选项。

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个邻接顶点。

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

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

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

答案解析:

其他选项在最坏情况下的时间复杂度都是O(n^{2}),只有C选项归并排序,在最坏情况下,时间复杂度仍然是O(nlog2n)。

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

A.0-1背包 B.矩阵链乘 C.最长公共子序列 D.邻分(分数)背包

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

答案解析:

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

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

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

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

 

(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七层模型中,传输层以上还有会话层、表示层、应用层,传输层以下是网络层。

应用层主要实现具体的应用功能。

表示层主要处理数据的格式与表达、加密、压缩。

会话层为表示层提供建立、维护和结束会话连接的功能,并提供会话管理服务,也就是说会话层可以建立连接,第二空选择会话层。

网络层为传输层的数据传输提供建立、维护和终止网络连接的手段,这里针对的是网络连接,与可靠性连接无关,与本题不符。

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位二进制表示,能够表示的地址空间是232,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等同步协议。服务可以彼此独立地开发和部署。每个服务都有自己的数据库,以便与其他服务解耦。服务之间的数据一致性是使用某种特定的模式来维护的。

  • 13
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 2020下半年软件设计师下午试题csdn是一套涵盖多个领域的考试题目。软件设计师是一项高级职业,职责包括独立或团队开发软件,设计技术方案,优化系统性能等。考试的目的是考察考生在工作中所需要的各种技能和能力。下面将从不同的领域来介绍试题内容: 一、计算机组成原理方面,试题涉及到计算机原理、算法、编程语言等高深技术,要求考生具有扎实的理论知识和实践经验。 二、操作系统方面,试题涉及到操作系统的原理、结构、进程管理、调度算法等,考察考生对操作系统的理解和应用能力。 三、数据库方面,试题要求掌握数据库的基本原理,熟练使用SQL语言操作数据库,能够设计关系型数据库。 四、软件工程方面,试题要求考生掌握软件开发的流程、方法和工具,有一定的项目管理经验。 五、网络通信方面,试题涉及到TCP/IP协议、路由技术、网络安全等知识,考核考生网络通信方面的能力。 总之,2020下半年软件设计师下午试题csdn要求考生具备深厚的计算机基础和实践经验,能够通过理论知识和实践应用展现综合能力,具有独立思考和解决问题的能力,并能够在职业生涯中不断学习和进步。 ### 回答2: 2020下半年软件设计师下午试题csdn是一项重要的考试,其覆盖了软件设计涉及的多个领域,如软件工程、数据库等。 该考试旨在评估考生的专业知识、技能和应用能力,以确保其能够开发出稳定、高效和安全的软件解决方案。 考试包含两部分,分别为单项选择题和主观题。单项选择题主要测试考生对基础理论的掌握程度,如编程语言、数据库知识等。主观题则要求考生应用所学知识,完成具体的软件设计和开发任务。考试难度适中,具有一定的挑战性,需要考生具备扎实的基础知识和实践经验。 考生应该积极备考,在考试前充分了解题型和考试重点,以提高自己的答题能力和效率。同时,平常尽量积累实操经验,不断深入学习软件设计领域,提高自己的专业素养。 总之,2020下半年软件设计师下午试题csdn是一个具有重要意义的考试,通过认真备考和深入学习,考生可以积极应对挑战,取得理想的成绩。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一条小橘猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值