2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第44期

上传人:cn****1 文档编号:506368334 上传时间:2023-12-01 格式:DOCX 页数:26 大小:707.77KB
返回 下载 相关 举报
2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第44期_第1页
第1页 / 共26页
2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第44期_第2页
第2页 / 共26页
2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第44期_第3页
第3页 / 共26页
2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第44期_第4页
第4页 / 共26页
2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第44期_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第44期》由会员分享,可在线阅读,更多相关《2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第44期(26页珍藏版)》请在金锄头文库上搜索。

1、2022年软考-软件设计师考前拔高综合测试题(含答案带详解)1. 单选题ARP 报文分为ARP Request和ARP Response,其中ARP Request采用( )进行传送,ARP Response采用( )进行传送。问题1选项A.广播B.组播C.多播D.单播问题2选项A.组播B.广播C.多播D.单播【答案】第1题:A第2题:D【解析】本题考查计算机网络ARP协议。ARP协议:地址解析协议,作用是由IP地址转换成MAC地址RARP协议:反地址解析协议,作用是MAC地址转换成IP地址对于ARP而言,请求是广播发送,ARP响应是单播发送。故有ARP Request采用广播进行传送,ARP

2、 Response采用单播进行传送2. 单选题以下关于闪存(Flash Memory)的叙述中,错误的是( )。问题1选项A.掉电后信息不会丢失,属于非易失性存储器B.以块为单位进行删除操作C.采用随机访问方式,常用来代替主存D.在嵌入式系统中可以用Flash来代替ROM存储器【答案】C【解析】闪存(Flash Memory)是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位,区块大小一般为256KB到20MB。闪存是电子可擦除只读存储器(EEPROM)的变种,EEPROM与闪存不同的是,它能在字节水平上进行删除和重写而

3、不是整个芯片擦写,这样闪存就比EEPROM的更新速度快。由于其断电时仍能保存数据,闪存通常被用来保存设置信息。闪存不像RAM(随机存取存储器)一样以字节为单位改写数据,因此不能取代RAM,也不能替换主存,因此C选项错误。但是在嵌入式中,可以用闪存代替ROM存储器。3. 单选题以下Python语言的模块中,()不支持深度学习模型。问题1选项A.TensorFlowB.MatplotlibC.PyTorchD.Keras【答案】B【解析】本题考查python语言的语法相关。其中支持Python语言深度学习的有:TensorFlow:Tensorflow拥有多层级结构,可部署于各类服务器、PC终端和

4、网页并支持GPU和TPU高性能数值计算,被广泛应用于谷歌内部的产品开发和各领域的科学研究,支持Python语言深度学习。PyTorch:PyTorch是一个针对深度学习,并且使用GPU和CPU来优化的tensor library(张量库)是由Torch7团队开发,是一个以Python优先的深度学习框架,不仅能实现强大的GPU加速,同时还支持动态的神经网络。Keras:Keras是一个由Python编写的开源人工神经网络库,可以作为Tensorflow、Microsoft-CNTK和Theano的高阶应用程序接口,进行深度学习模型的设计、调试、评估、应用和可视化。仅有B选项表示的Matplotl

5、ib不是,Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形,不支持深度学习。4. 单选题采用三级模式结构的数据库系统中,如果对一个表创建聚簇索引,那么改变的是数据库的()。问题1选项A.外模式B.模式C.内模式D.用户模式【答案】C【解析】本题考查数据库三级模式两级映射。对于三级模式,分为外模式,模式和内模式。其中外模式对应视图级别,是用户与数据库系统的接口,是用户用到那部分数据的描述,比如说:用户视图;对于模式而言,又叫概念模式,对于表级,是数据库中全部数据的逻辑结构和特质的描述,由若干个概念记录类型组成,只涉及类型的描

6、述,不涉及具体的值;而对于内模式而言,又叫存储模式,对应文件级,是数据物理结构和存储方式的描述,是数据在数据库内部表示的表示方法,定义所有内部的记录类型,索引和文件的组织方式,以及数据控制方面的细节。例如:B树结构存储,Hash方法存储,聚簇索引等等。5. 案例题生物学上通常采用编辑距离来定义两个物种DNA序列的相似性,从而刻画物种之间的进化关系。具体来说,编辑距离是指将一个字符串变换为另一个字符串所需要的最小操作次数。操作有三种,分别为:插入一个字符、删除一个字符以及将一个字符修改为另一个字符。用字符数组str1和str2分别表示长度分别为len1和len2的字符串,定义二维数组d记录求解编

7、辑距离的子问题最优解,则该二维数组可以递归定义为:【C代码】下面是算法的C语言实现。(1)常量和变量说明A,B:两个字符数组d:二维数组i,j:循环变量temp:临时变量(2)C程序#include#define N 100char AN=CTGA;char BN=ACGCTA;int dNN;int min(int a, int b)return a (1) ;for(i=1;i (2) )dij=di-1j-1; else temp=min(di-1j+1, dij-1+1);dij=min(temp, (3) ); return (4) ;【问题1】(8分)根据说明和C代码,填充C代码中

8、的空(1)(4)。【问题2】(4分)根据说明和C代码,算法采用了(5)设计策略,时间复杂度为(6)(用O符号表示,两个字符串的长度分别用m和n表示)。【问题3】(3分)已知两个字符串A=CTGA和B=ACGCTA,根据说明和C代码,可得出这两个字符串的编辑距离为(7)。【答案】问题1:(1) d0j=j (2)str1i-1=str2j-1 (3)di-1j-1 +1 (4) dlen1len2问题2:(5)动态规划法 (6)O(mn)问题3:(7)46. 单选题以下关于敏捷统一过程(AUP) 的叙述中,不正确的是( )。问题1选项A.在大型任务上连续B.在小型活动上迭代C.每一个不同的系统都

9、需要一套不同的策略、约定和方法论D.采用经典的UP阶段性活动,即初始、精化、构建和转换【答案】C【解析】本题考查的是敏捷统一过程(AUP)敏捷统一过程(AUP)采用“在大型上连续”以及在“小型上迭代”的原理来构建软件系统。采用经典的UP阶段性活动(初始、精化、构建和转换),提供了一系列活动,能够使团队为软件项目构想出一个全面的过程流。在每个活动里,一个团队迭代了使用敏捷,并将有意义的软件增量尽可能快地交付给最终用户。在每一个不同地系统都需要一套不同地策略、约定和方法论是属于敏捷方法-水晶法的描述。注意区别这里面是考查敏捷统一过程,而非敏捷方法,两者之间有区别。7. 单选题在面向对象设计时,如果

10、重用了包中的一个类,那么就要重用包中的所有类,这属于()原则。问题1选项A.接口分离B.开放-封闭C.共同封闭D.共同重用【答案】D【解析】考查关于面向对象设计的几大原则。接口分离原则:使用多个专门的接口要比使用单一的总接口要好。开放-封闭原则:对扩展开放,对修改关闭。共同封闭原则:包中的所有类对于同一性质的变化应该是共同封闭的。一个变化若对一个包产生影响,则将对该包里的所有类产生影响,而对于其他的包不造成任何影响。共同重用原则:一个包里的所有类应该是共同重用的。如果重用了包里的一个类,那么就要重用包中的所有类。8. 单选题最大尺寸和问题描述为,在n个整数(包含负数)的数组A中,求之和最大的非

11、空连续子数组,如数组A= (-2, 11, -4,13, -5,-2) ,其中子数组B= (11, -4, 13)具有最大子段和20 (11-4+13=20) 。求解该问题时,可以将数组分为两个n/2个整数的子数组最大子段或或者在前半段,或者在后半段,或者跨越中间元素,通过该方法继续划分问题,直至最后求出最大子段和,该算法的时间复杂度为( )。问题1选项A.O(nlgn)B.O(n2)C.O(n2lgn)D.O(n3)【答案】A【解析】本题中将数组不断进行二分,这个过程的时间复杂度为O(log2n),划分后求解问题需要2个并列的for循环对划分后的数组进行求和比较,此时时间复杂度为O(n),划

12、分和求和过程应该是嵌套的,所以时间复杂度综合为O(nlgn),本题应该选择A选项。其算法过程可以设计如下:int MaxSubSum(int *Array,int left ,int right)int sum=0;int i ;if(left=right)/*分解到单个整数,不可继续分解*/if(Arrayleft0)sum=Arrayleft;elsesum=0; /和小于等于0时,最大和记作0/*if*/else/*从left和right的中间分解数组*/int center=(left+right)/2; /*划分位置*/int leftsum=MaxSubSum(Array,left

13、,center);int rightsum=MaxSubSum(Array,center+1,right);/*计算包含center的最大值,判断是情形1(前半段)-Array1.n的最大子段和与Array1.n/2的最大子段和相同、情形2(后半段)-Array1.n的最大子段和与Arrayn/2+1.n的最大子段和、还是情形3(跨越中间元素)-Array1.n的最大子段和为Arrayi.j的最大子段和,且1in/2,n/2+1jn。*/int s1=0;int lefts=0;for(i=center;i=left;i-)lefts+=Arrayi;if(leftss1=lefts;/*fo

14、r*/int s2=0;int rights=0;for(i=center+1;irights+=Arrayi;if(rightss2)s2=rights;/*for*/sum=s1+s2;/*情形1*/if(sumsuml=leftsum;/*情形2*/if(sumsuml=rightsum;/*else*/return sum;9. 案例题阅读下列说明和C+代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】在线支付是电子商务的一个重要环节,不同的电子商务平台提供了不同的支付接口。现在需要整合不同电子商务平台的支付接口,使得客户在不同平台上购物时,不需要关心具体的支付接口。拟采用中介者(Mediator) 设计模式来实现该需求,所设计的类图如图5-1所示。【C+代码】【答案】(1) virtual void buy(do

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号