软件设计师中级真题
亲爱的考生们,欢迎来到软件设计师中级真题的世界。这里的每一道题都是对你们专业能力的挑战与检验。通过真题演练,提升技能、查漏补缺。让我们一起在这场知识的较量中,展现软件设计师的实力与风采,为自己的职业发展添砖加瓦,开启成功的大门。
第 1 题:单选题(本题1分)
计算机指令系统采用多种寻址方式。立即寻址是指操作数包含在指令中,寄存器寻址是指操作数在寄存器中,直接寻址是指操作数的地址在指令中。这三种寻
址方式获取操作数的速度 ( )。
A.立即寻址最快,寄存器寻址次之,直接寻址最慢
B.寄存器寻址最快,立即寻址次之,直接寻址最慢
C.直接寻址最快,寄存器寻址次之,立即寻址最慢
D.寄存器寻址最快,直接寻址次之,立即寻址最慢
【正确答案】:A
【试题解析】:
寻址方式是如何对指令中的地址字段进行解释,以获得操作数的方法或获得程序转移地址的方法。
第
2 题:单选题(本题1分)
以下关于PCI总线和SCSI总线的叙述中,正确的是( )。
A.PCI总线是串行外总线,SCSI 总线是并行内总线
B.PCI总线是串行内总线,SCSI 总线是串行外总线
C.PCI总线是并行内总线,SCSI 总线是串行内总线
D.PCI总线是并行内总线,SCSI 总线是并行外总线
【正确答案】:D
【试题解析】:
PCI总线是PC机常用总线,SCSI是软硬磁盘、光盘、扫描仪常用总线。他们都是并行总线。
第 3 题:单选题(本题1分)
以下关于中断方式与DMA方式的叙述中,正确的是( )
A.中断方式与DMA方式都可实现外设与CPU之间的并行工作
B.程序中断方式和DMA方式在数据传输过程中都不需要CPU的干预
C.采用DMA方式传输数据的速度比程序中断方式的速度慢
D.程序中断方式和DMA方式都不需要CPU保护现场
【正确答案】:A
【试题解析】:
中断方式与DMA方式都可实现外设与CPU之间的并行工作。
第
4 题:单选题(本题1分)
中断向量提供( )。
A.被选中设备的地址
B.待传送数据的起始地址
C.中断服务程序入口地址
D.主程序的断点地址
【正确答案】:C
【试题解析】:
中断向量表用来保存各个中断源的中断服务程序的入口地址。当外设发出中断请求信号(INTR)以后,由中断控制器(INTC)确定其中
断号,并根据中断号查找中断向量表来取得其中断服务程序的入口地址,同时INTC把中断请求信号提交给CPU。
第 5 题:单选题(本题1分)
( ) 是一种需要通过周期性刷新来保持数据的存储器件。
A.SRAM
B.DRAM
C.FLASH
D.EEPROM
【正确答案】:B
第 6 题:单选题(本题1分)
某种机器的浮点数表示格式如下(允许非规格化表示)。若阶码以补码表示,尾数以原码表示,则1 0001 0 0000000001表示的浮点数是( ) 。
【正确答案】:B
【试题解析】:
题干尾数是原码为:0000000001,数符是0,这表示该尾数是负数为2^-10 。阶码是0001是补码,转换成原码是1111,是十进制的15,这
里注意阶符是1,这表示阶码是负数,因此该浮点数是2^-15 ×2^-10 。
第 7 题:单选题(本题1分)
以下可以有效防治计算机病毒的策略是( ) 。
A.部署防火墙
B.部署入侵检测系统
C.安装并及时升级防病毒软件
D.定期备份数据文件
【正确答案】:C
【试题解析】:
防病毒软件可以检测、防护,并采取行动来解除或删除恶意软件程序,如病毒和蠕虫。因此安装并及时升级防病毒软件可以有效防治计
算机病毒。
第 8 题:单选题(本题1分)
AES是一种( )算法。
A.公钥加密
B.流密码
C.分组加密
D.消息摘要
【正确答案】:C
【试题解析】:
高级加密标准(Advanced Encryption Standard,AES)是一种分组(对称)加密算法,替代了原先的DES,是目前最流行的算法之一。
第 9 题:单选题(本题1分)
下列不能用于远程登陆或控制的是( )
A.IGMP
B.SSH
C.Telnet
D.RFB
【正确答案】:A
【试题解析】:
Telnet协议是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。RFB ( Remote
Frame Buffer 远程帧缓冲) 协议是一个用于远程访问图形用户界面的简单协议。SSH协议是较可靠,专为远程登录会话和其他网络服务
提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。主机与本地路由器之间使用Internet组管理协议
(IGMP,Internet Group Management Protocol)来进行组播组成员信息的交互。
第 10 题:单选题(本题1分)
包过滤防火墙对( )的数据报文进行检查。
A.应用层
B.物理层
C.网络层
D.链路层
【正确答案】:C
【试题解析】:
包过滤型防火墙是在网络层对数据包进行分析、选择,选择的依据是系统内设置的过滤规则(访问控制表)。通过检查每个数据包的源
地址、目的地址、端口和协议状态等因素,确定是否允许该数据包通过。
第 11 题:单选题(本题1分)
防火墙通常分为内网、外网和DMZ三个区域,按照受保护程度,从低到高正确的排列次序为( )。
A.内网、外网和DMZ
B.外网、DMZ和内网
C.DMZ、内网和外网
D.内网、DMZ和外网
【正确答案】:B
【试题解析】:
防火墙认为内部网络是安全和可信赖的,而外部网络是不安全和不可信赖的。因此受保护的程度外网是最低而内网是最高的。
第 12 题:单选题(本题1分)
( )是构成我国保护计算机软件著作权的两个基本法律文件。
A.《计算机软件保护条例》和《软件法》
B.《中华人民共和国著作权法》和《软件法》
C.《中华人民共和国著作权法》和《计算机软件保护条例》
D.《中华人民共和国版权法》和《中华人民共和国著作权法》
【正确答案】:C
【试题解析】:
《中华人民共和国著作权法》和《计算机软件保护条例》是构成我国保护计算机软件著作权的两个基本法律文件。在具体实施时,首先
按照《计算机软件保护条例》适用条款执行,若是《计算机软件保护条例》中没有适用条款,再依据《中华人民共和国著作权法》的有
关条款执行。
第 13 题:单选题(本题1分)
X 公司接受Y公司的委托开发了一款应用软件,双方没有订立任何书面合同。在此情形下,( ) 享有该软件的著作权。
A.X、Y公司共同
B.X公司
C.Y公司
D.X、Y公司均不
【正确答案】:B
【试题解析】:
接受他人委托开发的软件,其著作权的归属由委托人与受托人签订书面合同约定;无书面合同或者合同未作明确约定的,其著作权由受
托人享有。
第 14 题:单选题(本题1分)
广大公司(经销商)擅自复制并销售恭大公司开发的OA软件已构成侵权。鸿达公司在不知情时从广大公司(经销商)处购入该软件并已安装使用。在鸿达公司知道了
所使用的软件为侵权复制的情形下,其使用行为( )。
A.侵权,支付合理费用后可以继续使用该软件
B.侵权,须承担赔偿责任
C.不侵权,可继续使用该软件
D.不侵权,不需承担任何法律责任
【正确答案】:A
【试题解析】:
鸿达公司在知道所使用的软件为侵权复制的情形下继续使用的行为属于侵权行为,但在支付合理费用后是可以继续使用该软件的。
第 15 题:单选题(本题1分)
绘制分层数据流图 (DFD)时需要注意的问题中,不包括( )。
A.给图中的每个数据流、加工、数据存储和外部实体命名
B.图中要表示出控制流
C.一个加工不适合有过多的数据流
D.分解尽可能均匀
【正确答案】:B
【试题解析】:
数据流图表现的是数据流而不是控制流。
第 16 题:单选题(本题1分)
以下关于软件设计原则的叙述中,不正确的是出( )。
A.将系统划分为相对独立的模块
B.模块之间的耦合尽可能小
C.模块规模越小越好
D.模块的扇入系数和扇出系数合理
【正确答案】:C
【试题解析】:
模块的规模要适当。过大的模块会使系统分解得不充分而过小的模块又有可能降低模块的独立性,造成系统接口的复杂性。
第 17 题:单选题(本题1分)
在风险管理中,通常需要进行风险监测,其目的不包括( )。
A.消除风险
B.评估所预测的风险是否发生
C.保证正确实施了风险缓解步骤
D.收集用于后续进行风险分析的信息
【正确答案】:A
【试题解析】:
风险可以避免其发生或者尽量减少风险发生后的影响,但是完全消除风险是不可能的。
第 18 题:单选题(本题1分)
下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示活动,边上的权重表示完成该活动所需要的时间(天),则活动(作答此空) 不在关键
路径上。活动BI和EG的松弛时间分别是( )。
A.BD
B.BI
C.GH
D.KL
【正确答案】:B
【试题解析】:
关键路径是AEGHKL、ABDIJL、ABDIJKL,工期20天。BI的松弛时间等于最迟开始时间-最早开始时间=4-3=1。EG在关键路径上,松弛
时间是0。
第 19 题:单选题(本题1分)
下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示活动,边上的权重表示完成该活动所需要的时间(天),则活动( ) 不在关键路径上。
活动BI和EG的松弛时间分别是(作答此空)。
A.0和1
B.1和0
C.0和
2
D.2和0
【正确答案】:B
【试题解析】:
关键路径是AEGHKL、ABDIJL、ABDIJKL,工期20天。BI的松弛时间等于最迟开始时间-最早开始时间=4-3=1。EG在关键路径上,松弛
时间是0。
第 20 题:单选题(本题1分)
下图所示的二叉树表示的算术表达式是( )(其中的*,/,-,表示乘、除、减运算)。
A.a*b/c-D
B.a*b/(c-d)
C.a*(b/c-d)
D.a*(b-c/d)
【正确答案】:C
【试题解析】:
算术表达式采用中序遍历(左、根、右)的方式,遍历的结果是a*(b/c-d) 。
第 21 题:单选题(本题1分)
对高级程序语言进行编译的过程中,使用( )来记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成。
A.决策表
B.符号表
C.广义表
D.索引表
【正确答案】:B
【试题解析】:
符号表的作用是记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成,在编译过程中需要对符号表进行快速有效地
查找、插入、修改和删除等操作。符号表的建立可以始于词法分析阶段,也可以放到语法分析和语义分析阶段,但符号表的使用有时会
延续到目标代码的运行阶段。
第 22 题:单选题(本题1分)
下图所示为一个非确定有限自动机(NFA),S0为初态,S3为终态。该NFA识别的字符串分( )。
A.不能包含连续的字符“0”
B.不能包含连续的字符“1”
C.必须以“101”开头
D.必须以“101”结尾
【正确答案】:D
【试题解析】:
该自动机可以识别的字符串有101、1*101、0*101、1*0*101、0*1*101,这些字符串的共同特点都是以101结尾。
第 23 题:单选题(本题1分)
在单处理机计算机系统中,有1台打印机、1台扫描仪,系统采用先来先服务调度算法。假设系统中有进程P1、P2、P3、P4,其中P1为运行状态,P2为就绪状
态,P3等待打印机,P4等待扫描仪。此时,若P1释放了扫描仪,则进程P1、P2、P3、P4的状态分别为( )。
A.等待、运行、等待、就绪
B.运行、就绪、等待、就绪
C.就绪、就绪、等待、运行
D.就绪、运行、等待、就绪
【正确答案】:D
【试题解析】:
按照来先服务调度算法,P1运行状态结束后,P2运行,P3继续等待打印机,而P1释放扫描仪后处于等待状态的P4可以获取扫描仪,只需
等待处理机调度即可运行,因此P4由等待状态转为就绪状态。此时,P1没有等待发生的外部事件,它处于就绪状态。
第 24 题:单选题(本题1分)
进程P1、P2、P3、P4、P5和P6的前趋图如下所示。用PV操作控制这6个进程之间同步与互斥的程序如下,程序中的空①和空②处应分别为(作答此空),空③
和
空
④处应分别为( ),空⑤
A.V(S1)和PS2)P(S3)
B.V(S1)和V(S2)V(S3)
C.P(S1)和P(S2)V(S3)
D.P(S1)和V(S2)V(S3)
【正确答案】:D
【试题解析】:
信号量的分配如下图所示。
这里进程P1和P6分别是第一个进程和最后一个进程,因此P1只有V操作,信号量是S2,即V(S2)。P6只有P操作,信号量是S5和S6,结
果为P(S5)、P(S6),中间进程P2、P3、P4、P5既有P操作也有V操作 ,分别是P2:P(S1)、V(S2)、V(S3),P3:P(S2)、V
(S4),P4:P(S3)、V(S5),P5:P(S4)、V(S6)。
第 25 题:单选题(本题1分)
进程P1、P2、P3、P4、P5和P6的前趋图如下所示。用PV操作控制这6个进程之间同步与互斥的程序如下,程序中的空①和空②处应分别为( ),空③和空④处应
分别为(作答此空),空⑤和空⑥处应分别为( )。
A.V(S3)和P(S3)
B.V(S4)和P(S3)
C.P(S3)和P(S4)
D.V(S4)和P(S4)
【正确答案】:B
【试题解析】:
信号量的分配如下图所示。
{图}
这里进程P1和P6分别是第一个进程和最后一个进程,因此P1只有V操作,信号量是S2,即V(S2)。P6只有P操作,信号量是S5和S6,结
果为P(S5)、P(S6),中间进程P2、P3、P4、P5既有P操作也有V操作 ,分别是P2:P(S1)、V(S2)、V(S3),P3:P(S2)、V
(S4),P4:P(S3)、V(S5),P5:P(S4)、V(S6)。
第 26 题:单选题(本题1分)
进程P1、P2、P3、P4、P5和P6的前趋图如下所示。用PV操作控制这6个进程之间同步与互斥的程序如下,程序中的空①和空②处应分别为( ),空③和空④处应
分别为( ),空⑤和空⑥处应分别为(作答此空)。
A.V(S6)和P(S5)
B.V(S5)和P(S6)
C.P(S5)和V(S6)
D.P(S5)和V(S5)
【正确答案】:A
【试题解析】:
信号量的分配如下图所示。
这里进程P1和P6分别是第一个进程和最后一个进程,因此P1只有V操作,信号量是S2,即V(S2)。P6只有P操作,信号量是S5和S6,结
果为P(S5)、P(S6),中间进程P2、P3、P4、P5既有P操作也有V操作 ,分别是P2:P(S1)、V(S2)、V(S3),P3:P(S2)、V
(S4),P4:P(S3)、V(S5),P5:P(S4)、V(S6)。
第 27 题:单选题(本题1分)
在磁盘上存储数据的排列方式会影响IO服务的总时间。假设每个磁道被划分成10个物理块,每个物理块存放1个逻辑记录。逻辑记录R1,R2,.....,R10存放在同一个
磁道上,记录的排列顺序如下表所示。
假定磁盘的旋转速度为10ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为2ms,则处理这10个记录的最长时间
为(作答此空);若对存储数据的排列顺序进行优化,处理10个记录的最少时间为( )。
A.30ms
B.60ms
C.94ms
D.102ms
【正确答案】:D
【试题解析】:
磁头当前处于R1 处,读取出R1的时间为10ms/10=1ms,然后的使用单缓冲区处理,花费2ms。R1处理完毕后磁头此时已处于R4处,若是
顺序读和处理R2则需要再等待8ms,R2的读取与处理时间与R1相同,当R2处理完毕再读取 R3 仍然需要再等待8 ms......依次类推,10个记
录读完处理完毕的时间一共是102ms。若对存储数据的排列顺序进行优化,即在原先存放R4处,存放R2,则十个记录的处理时间会缩短
至30ms。
第 28 题:单选题(本题1分)
在磁盘上存储数据的排列方式会影响IO服务的总时间。假设每个磁道被划分成10个物理块,每个物理块存放1个逻辑记录。逻辑记录R1,R2,.....,R10存放在同一个
磁道上,记录的排列顺序如下表所示。
假定磁盘的旋转速度为10ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为2ms,则处理这10个记录的最长时间
为( );若对存储数据的排列顺序进行优化,处理10个记录的最少时间为(作答此空)。
A.30ms
B.60ms
C.94ms
D.102ms
【正确答案】:A
【试题解析】:
磁头当前处于R1 处,读取出R1的时间为10ms/10=1ms,然后的使用单缓冲区处理,花费2ms。R1处理完毕后磁头此时已处于R4处,若是
顺序读和处理R2则需要再等待8ms,R2的读取与处理时间与R1相同,当R2处理完毕再读取 R3 仍然需要再等待8 ms......依次类推,10个记
录读完处理完毕的时间一共是102ms。若对存储数据的排列顺序进行优化,即在原先存放R4处,存放R2,则十个记录的处理时间会缩短
至30ms。
第 29 题:单选题(本题1分)
以下关于增量模型优点的叙述中,不正确的是( )。
A.强调开发的阶段性早期计划
B.第一个可交付版本所需要的时间少和成本低
C.开发由增量表示的小系统所承担的风险小
D.系统管理成本低、效率高、配置简单
【正确答案】:D
【试题解析】:
增量模型的优点有:①容易理解②管理成本低③强调开发的阶段性早期计划及需求调查和产品测试④第一个可交付版本所需要的成本和
时间很少⑤开发由增量表示的小系统所承担的风险不大⑥由于很快发布了第一个版本,因此可以减少用户需求的变更⑦运行增量投资,
即在项目开始时,可以仅对一个或两个增量投资。
第 30 题:单选题(本题1分)
以下关于敏捷统一过程(AUP)的叙述中,不正确的是( )。
A.在大型任务上连续
B.在小型活动上迭代
C.每一个不同的系统都需要一套不同的策略、约定和方法论
D.采用经典的UP阶段性活动,即初始、精化、构建和转换
【正确答案】:C
【试题解析】:
敏捷统一过程(Agile Unified Process,AUP)采用"在大型上连续"以及在"在小型上迭代"的原理来构建软件系统。采用经典的UP阶段性活
动(初始、精化、构建和转换),提供了一系列活动,能够使团队为软件项目构想出一个全面的过程流。
第 31 题:单选题(本题1分)
在ISO/IEC软件质量模型中,可移植性是指与软件可从某环境移到另一环境的能力有关的一组属性,其子特性不包括( )。
A.适应性
B.易测试性
C.易安装性
D.易替换性
【正确答案】:B
【试题解析】:
ISO/IEC软件质量模型规定的质量特性有:
易测试性属于可维护性指标。
第 32 题:单选题(本题1分)
在软件开发过程中,系统测试阶段的测试目标来自于( )阶段。
A.需求分析
B.概要设计
C.详细设计
D.软件实现
【正确答案】:A
【试题解析】:
软设测试目标需要在需求分析阶段就确认好。
第 33 题:单选题(本题1分)
信息系统的文档是开发人员与用户交流的工具。在系统规划和系统分析阶段,用户与系统分析人员交流所使用的文档不包括( )。
A.可行性研究报告
B.总体规划报告
C.项目开发计划
D.用户使用手册
【正确答案】:B
【试题解析】:
用户使用手册是概要设计阶段产生的文档,除此以外,概要设计阶段产生的文档还有概要设计说明书、数据库设计说明书、修订测试计
划。
第 34 题:单选题(本题1分)
如下所示代码(用缩进表示程序块),要实现语句覆盖,至少需要(作答此空)个测试用例。采用McCabe度量法计算该代码对应的程序流程图的环路复杂性为
( )。
A.1
B.2
C.3
D.4
【正确答案】:A
【试题解析】:
该流程图的作用是从小到大排列数组A
的
n个元素,例如排列数组元素3、2、1,只用一个测试用例即可实现。图中有两个循环形成两个闭
环,环路复杂度为闭环个数加1等于3个。
第 35 题:单选题(本题1分)
如下所示代码(用缩进表示程序块),要实现语句覆盖,至少需要( )个测试用例。采用McCabe度量法计算该代码对应的程序流程图的环路复杂性为(作答此
空)。
A.1
B.2
C.3
D.4
【正确答案】:C
【试题解析】:
该流程图的作用是从小到大排列数组A
的
n个元素,例如排列数组元素3、2、1,只用一个测试用例即可实现。图中有两个循环形成两个闭
环,环路复杂度为闭环个数加1等于3个。
第 36 题:单选题(本题1分)
系统可维护性是指维护人员理解、改正、改动和改进软件系统的难易程度,其评价指标不包括( )。
A.可理解性
B.可测试性
C.可修改性
D.一致性
【正确答案】:D
【试题解析】:
系统可维护性包括:可理解性、可测试性、可修改性。
第 37 题:单选题(本题1分)
面向对象设计时包含的主要活动是( )。
A.认定对象、组织对象、描述对象间的相互作用、确定对象的操作
B.认定对象、定义属性、组织对象、确定对象的操作
C.识别类及对象、确定对象的操作、描述对象间的相互作用、识别关系
D.识别类及对象、定义属性、定义服务、识别关系、识别包
【正确答案】:D
【试题解析】:
面向对象设计时包含的主要活动是识别类及对象、定义属性、定义服务、识别关系、识别包。
第 38 题:单选题(本题1分)
在面向对象设计时,如果重用了包中的一个类,那么就要重用包中的所有类,这属于( )原则。
A.接口分离
B.开放-封闭
C.共同封闭
D.共同重用
【正确答案】:D
【试题解析】:
接口分离原则:不应该强迫客户依赖于它们不用的方法。开放-封闭原则:软件实体(类、模块、函数等)应该是可以扩展的,即开放的;
但是不可修改的,即封闭的。共同封闭原则:包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包产生影响,
则将对该包中的所有类产生影响,而对于其他的包不造成任何影响。共同重用原则:一个包中的所有类应该是共同重用的。如果重用了
包中的一个类,那么就要重用包中的所有类。
第 39 题:单选题(本题1分)
某电商系统在采用面向对象方法进行设计时,识别出网店、商品、购物车、订单、买家、库存、支付(微信、支付宝)等类。其中,购物车与商品之间适合采用
(作答此空) 关系,网店与商品之间适合采用( ) 关系。
A.关联
B.依赖
C.组合
D.聚合
【正确答案】:D
【试题解析】:
购物车与商品是整体与部分的关系,购物车包含了商品,但是商品可以脱离购物车独立存在,这是一种聚合关系。网店与商品之间是一
种整体与部分的关系,商品是网店的一部分,如果网店不存在了,那么网店中的商品也不存在,它们之间是组合关系。
第 40 题:单选题(本题1分)
某电商系统在采用面向对象方法进行设计时,识别出网店、商品、购物车、订单、买家、库存、支付(微信、支付宝)等类。其中,购物车与商品之间适合采用( )
关系,网店与商品之间适合采用(作答此空) 关系。
A.关联
B.依赖
C.组合
D.聚合
【正确答案】:C
【试题解析】:
购物车与商品是整体与部分的关系,购物车包含了商品,但是商品可以脱离购物车独立存在,这是一种聚合关系。网店与商品之间是一
种整体与部分的关系,商品是网店的一部分,如果网店不存在了,那么网店中的商品也不存在,它们之间是组合关系。
第 41 题:单选题(本题1分)
某软件系统限定:用户登录失败的次数不能超过3次。采用如所示的UML状态图对用户登录状态进行建模,假设活动状态是Logging in,那么当Valid Entrty发生
时,(作答此空)。其中,[triesimage.png3]和tries++分别为( )和 ( )。
A.保持在Logging in状态
B.若[triesimage.png3]为true,则Logged in变为下一个活动状态
C.Logged in立刻变为下一个活动状态
D.若tries=3为true,则Logging Denied变为下一个活动状态
【正确答案】:B
【试题解析】:
根据状态图,事件Valid Entrty发生,同时当triesimage.png3时,系统变为Logged in状态。[triesimage.png3]是监护条件,是一种布尔表达
式,当结果为true时,说明转换符合触发条件。tries++属于转换,是两个状态之间的一种关系,转换包括事件与动作。转换会引起系统
状态的转变。
第 42 题:单选题(本题1分)
某软件系统限定:用户登录失败的次数不能超过3次。采用如所示的UML状态图对用户登录状态进行建模,假设活动状态是Logging in,那么当Valid Entrty发生
时,( )。其中,[triesimage.png3]和tries++分别为(作答此空)和 ( )。
A.状态
B.转换
C.监护条件
D.转换后效果
【正确答案】:C
【试题解析】:
根据状态图,事件Valid Entrty发生,同时当triesimage.png3时,系统变为Logged in状态。[triesimage.png3]是监护条件,是一种布尔表达
式,当结果为true时,说明转换符合触发条件。tries++属于转换,是两个状态之间的一种关系,转换包括事件与动作。转换会引起系统
状态的转变。
第 43 题:单选题(本题1分)
某软件系统限定:用户登录失败的次数不能超过3次。采用如所示的UML状态图对用户登录状态进行建模,假设活动状态是Logging in,那么当Valid Entrty发生
时,( )。其中,[triesimage.png3]和tries++分别为( )和 (作答此空)。
A.状态
B.转换
C.监护条件
D.转换后效果
【正确答案】:B
【试题解析】:
根据状态图,事件Valid Entrty发生,同时当triesimage.png3时,系统变为Logged in状态。[triesimage.png3]是监护条件,是一种布尔表达
式,当结果为true时,说明转换符合触发条件。tries++属于转换,是两个状态之间的一种关系,转换包括事件与动作。转换会引起系统
状态的转变。
第 44 题:单选题(本题1分)
在某系统中,不同组(Group)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映
射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用(作答此空) 模式,用一个对象来封装系列的对象交互; 使用户对象和组对象不
需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于( )模式,该模式适用于: ( )。
A.状态(State)
B.策略(Strategy)
C.解释器(Interpreter)
D.中介者(Mediator)
【正确答案】:D
【试题解析】:
中介者模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改
变它们之间的交互。中介者模式属于行为型对象模式,适应于下列情况:一组对象以定义良好但是复杂的方式进行通信,产生的相互依
赖关系结构混乱且难以理解。一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。想定制一个分布在多个类中
的行为,而又不想生成太多的子类。
第 45 题:单选题(本题1分)
在某系统中,不同组(Group)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映
射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用( ) 模式,用一个对象来封装系列的对象交互; 使用户对象和组对象不需要显式
地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于(作答此空)模式,该模式适用于: ( )。
A.创建型类
B.创建型对象
C.行为型对象
D.行为型类
【正确答案】:C
【试题解析】:
中介者模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改
变它们之间的交互。中介者模式属于行为型对象模式,适应于下列情况:一组对象以定义良好但是复杂的方式进行通信,产生的相互依
赖关系结构混乱且难以理解。一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。想定制一个分布在多个类中
的行为,而又不想生成太多的子类。
第 46 题:单选题(本题1分)
在某系统中,不同组(Group)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映
射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用( ) 模式,用一个对象来封装系列的对象交互; 使用户对象和组对象不需要显式
地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于( )模式,该模式适用于: (作答此空)。
A.需要使用一个算法的不同变体
B.有一个语言需要解释执行,并且可将句子表示为一个抽象语法树
C.一个对象的行为决定于其状态且必须在运行时刻根据状态改变行为
D.一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解
【正确答案】:D
【试题解析】:
中介者模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改
变它们之间的交互。中介者模式属于行为型对象模式,适应于下列情况:一组对象以定义良好但是复杂的方式进行通信,产生的相互依
赖关系结构混乱且难以理解。一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。想定制一个分布在多个类中
的行为,而又不想生成太多的子类。
第 47 题:单选题(本题1分)
在设计某购物中心的收银软件系统时,要求能够支持在不同时期推出打折、返利、满减等不同促销活动,则适合采用( )模式。
A.策略(Strategy)
B.访问者(Visitor)
C.观察者(Observer)
D.中介者(Mediator)
【正确答案】:A
【试题解析】:
使用策略模式可以将不同时期的促销活动定义为一个个算法,进行封装,它们彼此可以互相替换,也能独立于使用它们的客户而变化。
客户也不必知道算法使用的数据,避免暴露相关的数据结构。
第 48 题:单选题(本题1分)
Python 语言的特点不包括( )。
A.跨平台、开源
B.编译型
C.支持面向对象程序设计
D.动态编程
【正确答案】:B
【试题解析】:
Python属于解释型而非编译型程序设计语言。
第 49 题:单选题(本题1分)
在 Python语言中,( )是一种可变的、有序的序列结构,其中元素可以重复。
A.元组(tuple)
B.字符串(str)
C.列表(list)
D.集合(set)
【正确答案】:C
【试题解析】:
列表是个有序的数据集合,可以随时添加或者删除元素。元组与列表类似,但元组里面的元素不可变。集合里面的元素是无序的。字符
串是由独立的字符组成,字符类型不可变。
第 50 题:单选题(本题1分)
以下Python语言的模块中,( )不支持深度学习模型。
A.TensorFlow
B.MatplotliB
C.PyTorch
D.Keras
【正确答案】:B
【试题解析】:
Matplotlib是Python的绘图库,可以绘制直方图、条形图、散点图等图形。
第 51 题:单选题(本题1分)
采用三级模式结构的数据库系统中,如果对一个表创建聚簇索引,那么改变的是数据库的 ( ) 。
A.外模式
B.模式
C.内模式
D.用户模式
【正确答案】:C
【试题解析】:
数据库的三级模式分别是:
第 52 题:单选题(本题1分)
设关系模式R(U,F), U={A1,A2,A3,A4},函数依赖集F={A1→A2,A1→A3 ,A2→A4},关系R的候选码是(作答此空)。下列结论错误的是( )。
A.A1
B.A2
C.A1A2
D.A1A3
【正确答案】:A
【试题解析】:
通过A1可以得到A2、A3,通过A2又可以得到A4,因此A1属于候选码。A3只能由A1得到,A2无法得到A3。
第 53 题:单选题(本题1分)
设关系模式R(U,F), U={A1,A2,A3,A4},函数依赖集F={A1→A2,A1→A3 ,A2→A4},关系R的候选码是( )。下列结论错误的是(作答此空)。
A.A1→A2A3为
F所蕴涵
B.A1→ A4为
F所蕴涵
C.A1A2→ A4为
F所蕴涵
D.A2→ A3为
F所蕴涵
【正确答案】:D
【试题解析】:
通过A1可以得到A2、A3,通过A2又可以得到A4,因此A1属于候选码。A3只能由A1得到,A2无法得到A3。
第 54 题:单选题(本题1分)
给定学生关系S(学号,姓名,学院名,电话,家庭住址)、课程关系C(课程号,课程名,选修课程号)、选课关系SC(学号,课程号,成绩)。查询“张晋”选修了“市场营
销”课程的学号、学生名、学院名、成绩的关系代数表达式为: π1,2,3,7(π1,2,3(作答此空) ) ( ))) 。
A.σ2=张晋(S)
B.σ2=‘张晋’(S)
C.σ2=张晋(SC)
D.σ2=‘张晋’(SC)
【正确答案】:B
【试题解析】:
第 55 题:单选题(本题1分)
给定学生关系S(学号,姓名,学院名,电话,家庭住址)、课程关系C(课程号,课程名,选修课程号)、选课关系SC(学号,课程号,成绩)。查询“张晋”选修了“市场营
销”课程的学号、学生名、学院名、成绩的关系代数表达式为: π1,2,3,7(π1,2,3( ) ) (作答此空))) 。
A.π2,3(σ2=‘市场营销’(C))SC
B.π2,3(σ2=市场营销(SC)) C
C.π1,2(σ2=‘市场营销’(C))SC
D.π1,2(σ2=市场营销(SC))C
【正确答案】:C
【试题解析】:
第 56 题:单选题(本题1分)
数据库的安全机制中,通过提供( )供第三方开发人员调用进行数据更新,从而保证数据库的关系模式不被第三方所获取。
A.触发器
B.存储过程
C.视图
D.索引
【正确答案】:B
【试题解析】:
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,它存储在数据库中,一次编译后永久有效,
用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库所提供的一种数据库对象,通过存
储过程定 义一段代码,提供给应用程序调用来执行。 从安全性的角度考虑,更新数据时,通过提供存储过程让第三方调用,将需要更
新的数据传入存储过程,而在存储过程内部用代码分别对需要的多个表进行更新,从而避免了向第三方提供系统的表结构,保证了系统
的数据安全。
第 57 题:单选题(本题1分)
若栈采用顺序存储方式,现有两栈共享空间V[1..n],,top[i]代表i( i=1,2)个栈的栈顶(两个栈都空时top[1]= 1、top[2]= n),栈1的底在V[1],栈
2的底在V[n], 则栈满(即
n
个元素暂存在这两个栈)的条件是( )。
A.top[1]= top[2]
B.top[1]+ top[2]==1
C.top[1]+ top[2]==n
D.top[1]- top[2]== 1
【正确答案】:D
【试题解析】:
最后一个栈元素的位置加1为栈满的情况,因此判断的条件就是top[1]- top[2]== 1,选择D。
第 58 题:单选题(本题1分)
采用循环队列的优点是( )。
A.入队和出队可以在队列的同端点进行操作
B.入队和出队操作都不需要移动队列中的其他元素
C.避免出现队列满的情况
D.避免出现队列空的情况
【正确答案】:B
【试题解析】:
循环队列是将顺序队列形成一个环状结构,元素入队时修改尾指针,元素出队时修改头指针,入队和出队操作都不需要移动队列中的其
他元素。
第 59 题:单选题(本题1分)
二叉树的高度是指其层数,空二叉树的高度为0,仅有根结点的二叉树高度为1。若某二叉树中共有1024个结点,则该二叉树的高度是整数区间( )中的任一值。
A.(10, 1024)
B.[10, 1024]
C.(11, 1024)
D.[11, 1024]
【正确答案】:D
【试题解析】:
本题分三种情况,第一种1024个结点排列成单枝树,即非叶子结点只有一个孩子的树。该二叉树的高度为1024。第二种情况是完全二叉
树的情况,根据二叉树特性:具有n个结点的完全二叉树的深度为?log2n?+1,可得二叉树深度为11。第三种情况是非完全二叉树,层数在
12-1023之间。综上所述,该二叉树的层数是整数区间 [11, 1024]中的任一值。
第 60 题:单选题(本题1分)
n个关键码构成的序列{k1,k2, ...kn,}当且仅当满足下列关系时称其为堆。 以下关键码序列中,( ) 不是堆。
A.15,25, 21,53,73, 65,33
B.15,25, 21,33, 73, 65,53
C.73, 65, 25, 21, 15,53, 33
D.73, 65, 25,33, 53,15, 21
【正确答案】:C
【试题解析】:
将一个一维数组看成是一棵完全二叉树,如果该完全二叉树中所有非终端结点的值均不小于其左、右孩子结点的值,则称之为大顶
(根)堆。如果该完全二叉树中所有非终端结点的值均不大于其左、右孩子结点的值,则称之为小顶(根)堆。将选项C的数组构造成完
全二叉树,显然是不满足堆的条件的。如下图所示。
第 61 题:单选题(本题1分)
对有向图G进行拓扑排序得到的拓扑序列中,顶点Vi在顶点Vj之前,则说明G中( )。
A.一定存在有向弧image.pngVi, Vj>
B.一定不存在有向弧image.pngVj, Vi>
C.可能存在从Vi到Vj的路径
D.必定存在从Vj到Vi的路径
【正确答案】:C
【试题解析】:
如下图所示有向图,顶点V0在顶点V3之前,且并无有向弧image.pngV0,V2>,image.pngV2,V3>的路径。左图V1到V2并无路径,右图
V2到V1没有路径。
第 62 题:单选题(本题1分)
归并排序算法在排序过程中,将待排序数组分为两个大小相同的子数组,分别对两个子数组采用归并排序算法进行排序,排好序的两个子数组采用时间复杂度
为O(n)的过程合并为一个大数组。根据上述描述,归并排序算法采用了(作答此空)算法设计策略。归并排序算法的最好和最坏情况下的时间复杂度为( )。
A.分治
B.动态规划
C.贪心
D.回溯
【正确答案】:A
【试题解析】:
归并排序将问题先分解、再处理、再合并的方式采用了分治法的思想。
第 63 题:单选题(本题1分)
归并排序算法在排序过程中,将待排序数组分为两个大小相同的子数组,分别对两个子数组采用归并排序算法进行排序,排好序的两个子数组采用时间复杂度
为O(n)的过程合并为一个大数组。根据上述描述,归并排序算法采用了( )算法设计策略。归并排序算法的最好和最坏情况下的时间复杂度为(作答此空)。
【正确答案】:C
【试题解析】:
归并排序将问题先分解、再处理、再合并的方式采用了分治法的思想。
第 64 题:单选题(本题1分)
已知一个文件中出现的各字符及其对应的频率如下表所示。采用Huffman 编码,则该文件中字符a和c的码长分别为 (作答此空)。若采用Huffman编码,则字符序
列110001001101”的编码应为 ( )。
A.1和3
B.1和
4
C.3和3
D.3和
4
【正确答案】:A
【试题解析】:
根据题意构造哈夫曼树如下。6个字符的编码分别是:a:0,b:101 ,c:100 ,d:111, e:1101,f:1100
第 65 题:单选题(本题1分)
已知一个文件中出现的各字符及其对应的频率如下表所示。采用Huffman 编码,则该文件中字符a和c的码长分别为 ( )。若采用Huffman编码,则字符序列
110001001101”的编码应为 (作答此空)。
A.face
B.bace
C.acde
D.fade
【正确答案】:A
【试题解析】:
根据题意构造哈夫曼树如下。6个字符的编码分别是:a:0,b:101 ,c:100 ,d:111, e:1101,f:1100
第 66 题:单选题(本题1分)
用户在电子商务网站上使用网上银行支付时,必须通过( )在Internet与银行专用网之间进行数据交换。
A.支付网关
B.防病毒网关
C.出口路由器
D.堡垒主机
【正确答案】:A
【试题解析】:
支付网关可以将Internet上传输的数据转换为银行专用网数据,是金融网络系统与Internet网络之间的接口。
第 67 题:单选题(本题1分)
ARP 报文分为ARP Request和ARP Response,其中ARP Request采用(作答此空)进行传送,ARP Response采用( ) 进行传送。
A.广播
B.组播
C.多播
D.单播
【正确答案】:A
【试题解析】:
ARP request报文用来获取目的主机的MAC地址,ARP request报文采用广播的方式在网络上传送,该网络中所有主机包括网关都会接受到
此ARP request 报文。接收到报文的目的主机会返回一个ARP Response报文来响应,ARP Response报文是以单播的方式传送的。
第 68 题:单选题(本题1分)
ARP 报文分为ARP Request和ARP Response,其中ARP Request采用( )进行传送,ARP Response采用(作答此空) 进行传送。
A.广播
B.组播
C.多播
D.单播
【正确答案】:D
【试题解析】:
ARP request报文用来获取目的主机的MAC地址,ARP request报文采用广播的方式在网络上传送,该网络中所有主机包括网关都会接受到
此ARP request 报文。接收到报文的目的主机会返回一个ARP Response报文来响应,ARP Response报文是以单播的方式传送的。
第 69 题:单选题(本题1分)
下面的标记对中人 ( )用于表示网页代码的起始和终止。
A.image.pnghtml>image.png/html>
B.image.pnghead>image.png/head>
C.image.pngbody>image.png/body>
D.image.pngmeta> image.png/meta>
【正确答案】:A
【试题解析】:
image.pnghead>image.png/head>表示文档的头部标签。如文档的标题,以及、脚本、样式、meta 信息以及其他更多的信息。
image.pngbody>image.png/body>表示文档的内容,比如文本、超链接、图像、表格和列表等等。image.pngmeta> image.png/meta>表示
HTML 文档的元数据,主要包括网页的描述,关键词,文件的最后修改时间,作者及其他元数据。image.pnghtml>image.png/html>用于表
示网页代码的起始和终止。
第 70 题:单选题(本题1分)
以下对于路由协议的叙述中,错误的是( )。
A.路由协议是通过执行一个算法来完成路由选择的一种协议
B.动态路由协议可以分为距离向量路由协议和链路状态路由协议
C.路由协议是一种允让许数据包在主机之间传送信息的一种协议
D.路由器之间可以通过路由协议学习网络的拓扑结构
【正确答案】:C
【试题解析】:
选项C 路由协议是一种允让许数据包在路由器之间传送信息的一种协议。
第 71 题:单选题(本题1分)
DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and
oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and
software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.One is that of a software
engineer and the other is a DevOps engineer. The biggest different is in their (作答此空). Software engineers focus on how well the computer software fits the needs of the
client while a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing ( ) support through the cloudwhile the
software is continually ( ) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works
on computer applications, but manages the building, deployment and operation as a( ) autormated process. Software engineers often work separately from the operations side
of a business. They create the software a business client needs and then monitor the performance of their software products to determine if upgrades are necessary or if more
serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software tosmoothly function with
automated processes. Both professions require knowledge of computer programming languages.
A.focus
B.process
C.goal
D.function
【正确答案】:A
第 72 题:单选题(本题1分)
DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and
oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and
software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.One is that of a software
engineer and the other is a DevOps engineer. The biggest different is in their ( ). Software engineers focus on how well the computer software fits the needs of the client while
a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing (作答此空) support through the cloudwhile the
software is continually ( ) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works
on computer applications, but manages the building, deployment and operation as a( ) autormated process. Software engineers often work separately from the operations side
of a business. They create the software a business client needs and then monitor the performance of their software products to determine if upgrades are necessary or if more
serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software tosmoothly function with
automated processes. Both professions require knowledge of computer programming languages.
A.developing
B.deploying
C.training
D.operational
【正确答案】:D
第 73 题:单选题(本题1分)
DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and
oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and
software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.One is that of a software
engineer and the other is a DevOps engineer. The biggest different is in their ( ). Software engineers focus on how well the computer software fits the needs of the client while
a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing ( ) support through the cloudwhile the software is
continually (作答此空) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works
on computer applications, but manages the building, deployment and operation as a( ) autormated process. Software engineers often work separately from the operations side
of a business. They create the software a business client needs and then monitor the performance of their software products to determine if upgrades are necessary or if more
serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software tosmoothly function with
automated processes. Both professions require knowledge of computer programming languages.
A.developeD.
B.functional
C.constructeD.
D.secure
【正确答案】:B
第 74 题:单选题(本题1分)
DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and
oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and
software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.One is that of a software
engineer and the other is a DevOps engineer. The biggest different is in their ( ). Software engineers focus on how well the computer software fits the needs of the client while
a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing ( ) support through the cloudwhile the software is
continually ( ) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works on
computer applications, but manages the building, deployment and operation as a(作答此空) autormated process. Software engineers often work separately from the
o
perations side of a business. They create the software a business client needs and then monitor the performance of their software products to determine if upgrades are
necessary or if more serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software tosmoothly
function with automated processes. Both professions require knowledge of computer programming languages.
A.single
B.whole
C.continuous
D.independent
【正确答案】:C
第 75 题:单选题(本题1分)
DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and
oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and
software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.One is that of a software
engineer and the other is a DevOps engineer. The biggest different is in their ( ). Software engineers focus on how well the computer software fits the needs of the client while
a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing ( ) support through the cloudwhile the software is
continually ( ) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works on
computer applications, but manages the building, deployment and operation as a( ) autormated process. Software engineers often work separately from the operations side of
a business. They create the software a business client needs and then monitor the performance of their software products to determine if upgrades are necessary or if more
serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to (作答此空) software tosmoothly function with
automated processes. Both professions require knowledge of computer programming languages.
A.develop
B.integrate
C.analyse
D.maintain
【正确答案】:B
【软件设计师中级真题】相关文章:
中级软件设计师真题10-24
软件设计师中级历年真题10-24
软考中级软件设计师真题10-24
软件设计师真题10-24
软件设计师历年真题10-24
软考软件设计师历年真题及答案10-24
翻译考试中级口译模拟真题10-09
翻译考试中级口译模拟真题答案09-26
翻译考试中级口译模拟真题及答案09-25
中级出版资格考试模拟真题及答案10-04