单选题 (一共75题,共75分)

1.

在软件开发过程中,系统测试阶段的测试目标来自于( )阶段。

2.

防火墙通常分为内网、外网和DMZ三个区域,按照受保护程度,从低到高正确的排列次序为( )。

3.

Python语言的特点不包括( )

4.

信息系统的文档是开发人员与用户交流的工具。在系统规划和系统分析阶段用户与系统分析人员交流所使用的文档不包括( )。

5.

在Python语言中,()是一种可变的、有序的序列结构,其中元素可以重复。

6.

计算机指令系统采用多种寻址方式。立即寻址是指操作数包含在指令中,寄存器寻址是指操作数在寄存器中,直接寻址是指操作数的地址在指令中。这三种寻址方式获取操作数的速度 ( )。

7.

以下关于PCI总线和SCSI总线的叙述中,正确的是( )。

8.

以下关于中断方式与DMA方式的叙述中,正确的是( )

9.

中断向量提供( )。

10.

( ) 是一种需要通过周期性刷新来保持数据的存储器件。

11.

某种机器的浮点数表示格式如下(允许非规格化表示)。若阶码以补码表示,尾数以原码表示,则1 0001 0 0000000001表示的浮点数是( ) 。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

12.

以下可以有效防治计算机病毒的策略是( ) 。

13.

AES是一种( )算法。

14.

下列不能用于远程登陆或控制的是( )

15.

包过滤防火墙对( )的数据报文进行检查。

16.

( )是构成我国保护计算机软件著作权的两个基本法律文件。

17.

X 公司接受Y公司的委托开发了一款应用软件,双方没有订立任何书面合同。在此情形下,( ) 享有该软件的著作权。

18.

广大公司(经销商)擅自复制并销售恭大公司开发的OA软件已构成侵权。鸿达公司在不知情时从广大公司(经销商)处购入该软件并已安装使用。在鸿达公司知道了所使用的软件为侵权复制的情形下,其使用行为( )。

19.

绘制分层数据流图 (DFD)时需要注意的问题中,不包括( )。

20.

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

21.

在风险管理中,通常需要进行风险监测,其目的不包括( )。

22.

下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示活动,边上的权重表示完成该活动所需要的时间(天),则活动(作答此空) 不在关键路径上。活动BI和EG的松弛时间分别是( )。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

23.

下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示活动,边上的权重表示完成该活动所需要的时间(天),则活动( ) 不在关键路径上。活动BI和EG的松弛时间分别是(作答此空)。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

24.

下图所示的二叉树表示的算术表达式是( )(其中的*,/,-,表示乘、除、减运算)。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

25.

对高级程序语言进行编译的过程中,使用( )来记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成。

26.

下图所示为一个非确定有限自动机(NFA),S0为初态,S3为终态。该NFA识别的字符串分( )。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

27.

在单处理机计算机系统中,有1台打印机、1台扫描仪,系统采用先来先服务调度算法。假设系统中有进程P1、P2、P3、P4,其中P1为运行状态,P2为就绪状态,P3等待打印机,P4等待扫描仪。此时,若P1释放了扫描仪,则进程P1、P2、P3、P4的状态分别为( )。

28.

进程P1、P2、P3、P4、P5和P6的前趋图如下所示。用PV操作控制这6个进程之间同步与互斥的程序如下,程序中的空①和空②处应分别为(作答此空),空③和空④处应分别为( ),空⑤

29.

进程P1、P2、P3、P4、P5和P6的前趋图如下所示。用PV操作控制这6个进程之间同步与互斥的程序如下,程序中的空①和空②处应分别为( ),空③和空④处应分别为(作答此空),空⑤和空⑥处应分别为( )。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

30.

进程P1、P2、P3、P4、P5和P6的前趋图如下所示。用PV操作控制这6个进程之间同步与互斥的程序如下,程序中的空①和空②处应分别为( ),空③和空④处应分别为( ),空⑤和空⑥处应分别为(作答此空)。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

31.

在磁盘上存储数据的排列方式会影响IO服务的总时间。假设每个磁道被划分成10个物理块,每个物理块存放1个逻辑记录。逻辑记录R1,R2,.....,R10存放在同一个磁道上,记录的排列顺序如下表所示。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

假定磁盘的旋转速度为10ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为2ms,则处理这10个记录的最长时间为(作答此空);若对存储数据的排列顺序进行优化,处理10个记录的最少时间为( )。

32.

在磁盘上存储数据的排列方式会影响IO服务的总时间。假设每个磁道被划分成10个物理块,每个物理块存放1个逻辑记录。逻辑记录R1,R2,.....,R10存放在同一个磁道上,记录的排列顺序如下表所示。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

假定磁盘的旋转速度为10ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为2ms,则处理这10个记录的最长时间为( );若对存储数据的排列顺序进行优化,处理10个记录的最少时间为(作答此空)。

33.

以下关于增量模型优点的叙述中,不正确的是( )。

34.

以下关于敏捷统一过程(AUP)的叙述中,不正确的是( )。

35.

在ISO/IEC软件质量模型中,可移植性是指与软件可从某环境移到另一环境的能力有关的一组属性,其子特性不包括( )。

36.

如下所示代码(用缩进表示程序块),要实现语句覆盖,至少需要(作答此空)个测试用例。采用McCabe度量法计算该代码对应的程序流程图的环路复杂性为( )。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

37.

如下所示代码(用缩进表示程序块),要实现语句覆盖,至少需要( )个测试用例。采用McCabe度量法计算该代码对应的程序流程图的环路复杂性为(作答此空)。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

38.

系统可维护性是指维护人员理解、改正、改动和改进软件系统的难易程度,其评价指标不包括( )。

39.

面向对象设计时包含的主要活动是( )。

40.

在面向对象设计时,如果重用了包中的一个类,那么就要重用包中的所有类,这属于( )原则。

41.

某电商系统在采用面向对象方法进行设计时,识别出网店、商品、购物车、订单、买家、库存、支付(微信、支付宝)等类。其中,购物车与商品之间适合采用(作答此空) 关系,网店与商品之间适合采用( ) 关系。

42.

某电商系统在采用面向对象方法进行设计时,识别出网店、商品、购物车、订单、买家、库存、支付(微信、支付宝)等类。其中,购物车与商品之间适合采用( ) 关系,网店与商品之间适合采用(作答此空) 关系。

43.

某软件系统限定:用户登录失败的次数不能超过3次。采用如所示的UML状态图对用户登录状态进行建模,假设活动状态是Logging in,那么当Valid Entrty发生时,(作答此空)。其中,[triesimage.png3]和tries++分别为( )和 ( )。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

44.

某软件系统限定:用户登录失败的次数不能超过3次。采用如所示的UML状态图对用户登录状态进行建模,假设活动状态是Logging in,那么当Valid Entrty发生时,( )。其中,[triesimage.png3]和tries++分别为(作答此空)和 ( )。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

45.

某软件系统限定:用户登录失败的次数不能超过3次。采用如所示的UML状态图对用户登录状态进行建模,假设活动状态是Logging in,那么当Valid Entrty发生时,( )。其中,[triesimage.png3]和tries++分别为( )和 (作答此空)。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

46.

在某系统中,不同组(Group)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用(作答此空) 模式,用一个对象来封装系列的对象交互; 使用户对象和组对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于( )模式,该模式适用于: ( )。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

47.

在某系统中,不同组(Group)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用( ) 模式,用一个对象来封装系列的对象交互; 使用户对象和组对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于(作答此空)模式,该模式适用于: ( )。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

48.

在某系统中,不同组(Group)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用( ) 模式,用一个对象来封装系列的对象交互; 使用户对象和组对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于( )模式,该模式适用于: (作答此空)。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

49.

在设计某购物中心的收银软件系统时,要求能够支持在不同时期推出打折、返利、满减等不同促销活动,则适合采用( )模式。

50.

以下Python语言的模块中,( )不支持深度学习模型。

51.

采用三级模式结构的数据库系统中,如果对一个表创建聚簇索引,那么改变的是数据库的 ( ) 。

52.

设关系模式R(U,F), U={A1,A2,A3,A4},函数依赖集F={A1→A2,A1→A3 ,A2→A4},关系R的候选码是(作答此空)。下列结论错误的是( )。

53.

设关系模式R(U,F), U={A1,A2,A3,A4},函数依赖集F={A1→A2,A1→A3 ,A2→A4},关系R的候选码是( )。下列结论错误的是(作答此空)。

54.

给定学生关系S(学号,姓名,学院名,电话,家庭住址)、课程关系C(课程号,课程名,选修课程号)、选课关系SC(学号,课程号,成绩)。查询“张晋”选修了“市场营销”课程的学号、学生名、学院名、成绩的关系代数表达式为: π1,2,3,7(π1,2,3(作答此空) ) ( ))) 。

55.

给定学生关系S(学号,姓名,学院名,电话,家庭住址)、课程关系C(课程号,课程名,选修课程号)、选课关系SC(学号,课程号,成绩)。查询“张晋”选修了“市场营销”课程的学号、学生名、学院名、成绩的关系代数表达式为: π1,2,3,7(π1,2,3( ) ) (作答此空))) 。

56.

数据库的安全机制中,通过提供( )供第三方开发人员调用进行数据更新,从而保证数据库的关系模式不被第三方所获取。

57.

若栈采用顺序存储方式,现有两栈共享空间V[1..n],,top[i]代表i( i=1,2)个栈的栈顶(两个栈都空时top[1]= 1、top[2]= n),栈1的底在V[1],栈2的底在V[n], 则栈满(即n个元素暂存在这两个栈)的条件是( )。

58.

采用循环队列的优点是( )。

59.

二叉树的高度是指其层数,空二叉树的高度为0,仅有根结点的二叉树高度为1。若某二叉树中共有1024个结点,则该二叉树的高度是整数区间( )中的任一值。

60.

n个关键码构成的序列{k1,k2, ...kn,}当且仅当满足下列关系时称其为堆。中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题以下关键码序列中,( ) 不是堆。

61.

对有向图G进行拓扑排序得到的拓扑序列中,顶点Vi在顶点Vj之前,则说明G中( )。

62.

归并排序算法在排序过程中,将待排序数组分为两个大小相同的子数组,分别对两个子数组采用归并排序算法进行排序,排好序的两个子数组采用时间复杂度为O(n)的过程合并为一个大数组。根据上述描述,归并排序算法采用了(作答此空)算法设计策略。归并排序算法的最好和最坏情况下的时间复杂度为( )。

63.

归并排序算法在排序过程中,将待排序数组分为两个大小相同的子数组,分别对两个子数组采用归并排序算法进行排序,排好序的两个子数组采用时间复杂度为O(n)的过程合并为一个大数组。根据上述描述,归并排序算法采用了( )算法设计策略。归并排序算法的最好和最坏情况下的时间复杂度为(作答此空)。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

64.

已知一个文件中出现的各字符及其对应的频率如下表所示。采用Huffman 编码,则该文件中字符a和c的码长分别为 (作答此空)。若采用Huffman编码,则字符序列110001001101”的编码应为 ( )。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

65.

已知一个文件中出现的各字符及其对应的频率如下表所示。采用Huffman 编码,则该文件中字符a和c的码长分别为 ( )。若采用Huffman编码,则字符序列110001001101”的编码应为 (作答此空)。

中级软件设计师,历年真题,2021年下半年(上午)《软件设计师》真题

66.

用户在电子商务网站上使用网上银行支付时,必须通过( )在Internet与银行专用网之间进行数据交换。

67.

ARP 报文分为ARP Request和ARP Response,其中ARP Request采用(作答此空)进行传送,ARP Response采用( ) 进行传送。

68.

ARP 报文分为ARP Request和ARP Response,其中ARP Request采用( )进行传送,ARP Response采用(作答此空) 进行传送。

69.

下面的标记对中人 ( )用于表示网页代码的起始和终止。

70.

以下对于路由协议的叙述中,错误的是( )。

71.

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.Let's 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.

72.

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.Let's 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.

73.

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.Let's 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.

74.

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.Let's 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.

75.

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.Let's 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.