2022年职业考证-软考-软件设计师考试名师押题精选卷I(带答案详解)试卷号39_第1页
2022年职业考证-软考-软件设计师考试名师押题精选卷I(带答案详解)试卷号39_第2页
2022年职业考证-软考-软件设计师考试名师押题精选卷I(带答案详解)试卷号39_第3页
2022年职业考证-软考-软件设计师考试名师押题精选卷I(带答案详解)试卷号39_第4页
2022年职业考证-软考-软件设计师考试名师押题精选卷I(带答案详解)试卷号39_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、住在富人区的她2022年职业考证-软考-软件设计师考试名师押题精选卷I(带答案详解)(图片可根据实际调整大小)题型12345总分得分一.综合题(共50题)1.单选题在Python语言中,( )是一种不可变的、有序的序列结构,其中元素可以重复。问题1选项A.tuple(元组)B.dict(字典)C.list(列表)D.set(集合)【答案】A【解析】本题考查的是Pythson数据类型相关内容。不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)。可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。tuple(元组)类似于list列

2、表,元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。dict(字典)是除列表以外python之中最灵活的内置数据结构类型;列表是有序的对象集合,字典是无序的对象集合;字典用 标识;字典由索引(key)和它对应的值value组成。list(列表)可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套或者叫多维列表,可以用来表示多维数组)。列表用 标识,是 python 最通用的复合数据类型。set(集合)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员;基本功能是进行成员关系测试和删除重复元素;可以使用大括号

3、 或者 set() 函数创建集合。2.单选题下列不属于电子邮件收发协议的是( )。问题1选项A.SMTPB.POP3C.IMAPD.FTP【答案】D【解析】本题考查TCP/IP协议簇相关知识。SMTP是邮件传送协议,POP3是邮件收取协议,IMAP是交互邮件访问协议,这3类协议都与电子邮件相关。只有D选项FTP是文件传输协议,与电子邮件无关,本题选择D选项。3.单选题进程P1、 P2、P3、P4、P5和P6的前趋图如下所示。用PV操作控制这6个进程之间同步与互斥的程序如下,程序中的空和空处应分别为( ) ,空和空处应分别为( ) , 空和空处应公别为( )问题1选项A.V(S1)和P(S2)P

4、(S3)B.V(S1)和V(S2)V(S3)C.P(S1)和P(S2)V(S3)D.P(S1)和V(S2)V(S3)问题2选项A.V(S3)和P(S3)B.V(S4)和P(S3)C.P(S3)和P(S4)D.V(S4)和P(S4)问题3选项A.V(S6)和P(S5)B.V(S5)和P(S6)C.P(S5)和V(S6)D.P(S5)和V(S5)【答案】第1题:D第2题:B第3题:A【解析】本题考查P,V操作前驱图相关问题。对于这种问题,根据箭头的指向判断相应的PV操作,先理清楚前趋图中的逻辑关系:P1没有前驱,P2的前驱是P1,P3的前驱是P2,P4的前驱是P2,P5的前驱是P3,P6的前驱是P

5、4,P5。前驱就是指只有在前驱进程完成后,该进程才能开始执行。由图可知,这里进程之间有6条有向弧,分别表示为P1P2,P2P3,P2P4,P3P5,P4P6,P5P6,各个进程间的逻辑关系,那么我们需要设定6个信号量(S1、S2、S3、S4、S5、S6),利用PV操作来控制这些过程。对于进程P1,完成之后,需要通知P2,所以在P1执行了之后,实现了V(S1)操作。对于进程P2,开始之前需要申请资源S1,实现P(S1),P2执行完成之后,需要通知P3和P4,实现两个V操作,分别是V(S2)和V(S3)对于进程P3,开始之前需要申请资源S2,实现P(S2),P3执行完成之后,需要通知P5,实现V操

6、作,为V(S4)对于进程P4,开始之前需要申请资源S3,实现P(S3),P4执行完成之后,需要通知P6,实现V操作,为V(S5)对于进程P5,开始之前需要申请资源S4,实现P(S4),P5执行完成之后,需要通知P6,实现V操作,为V(S6)对于进程P6,开始之前需要申请资源S5和S6,实现两个P操作,分别为P(S5)和P(S6)4.案例题阅读下列说明和C+代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】在线支付是电子商务的一个重要环节,不同的电子商务平台提供了不同的支付接口。现在需要整合不同电子商务平台的支付接口,使得客户在不同平台上购物时,不需要关心具体的支付接口。拟采用中介者(M

7、ediator) 设计模式来实现该需求,所设计的类图如图5-1所示。【C+代码】【答案】(1) virtual void buy(double money, WebService *service)(2) WebServiceMediator *(3) virtual void buyService(double money)= 0(4) mediator-buy(money, this)(5) mediator-buy(money, this)【解析】(1)空是属于接口WebServiceMeditor内的方法,我们可以通过下文的实现类中找到ConcreteServiceMeditor可知缺

8、少了一个buy()方法故第一空填写virtual void buy(double money, WebService *service) ;(2)空类WebService中属性的参数类型,Colleague与Mediator之间的关联关系由属性meditor实现,所以第2空应该填写WebServiceMediator*;(3)空类WebService中的virtual方法,根据其具体子类可以看到缺少的是buyService方法,书写成virtual void buyService(double money)= 0 ;(4)空和(5)空具体同事类Amazon、Ebay与中介者的通信,调用中介者之

9、间的支付接口,所以空(4)和(5)都填写mediator-buy(money, this) 。5.单选题对有向图G进行拓扑排序得到的拓扑序列中,顶点Vi在顶点Vj之前,则说明G中()问题1选项A.一定存在有向弧B.一定不存在有向弧C.必定存在从Vi到Vj的路径D.必定存在从Vj到Vi的路径【答案】B【解析】本题考查拓扑序列的相关问题。对于拓扑序列,需要按照有向弧的指向,明确其先后顺序,例如:存在一条Vi指向Vj的有向弧,那么在拓扑序列中Vi需要写出Vj前面,其次对于属于同一层次或者毫无关联的两个结点可以不用在意先后顺序。根据题干描述,对有向图G进行拓扑排序得到的拓扑序列中,顶点Vi在顶点Vj之

10、前,我们试着对以下选项进行分析:A、一定存在有向弧,说法错误,不一定存在,Vi和Vj可以是并列的,并不一定要存在Vi到Vj的有向弧。B、一定不存在有向弧,说法正确,如果存在有向弧,那么Vj是需要在顶点Vi之前的,则与题干相悖,所以必定不存在。C、必定存在从Vi到Vj的路径,说法错误,不一定存在,Vi和Vj可以是两个毫无关联没有指向的关系,不会存在相关的路径。D、必定存在从Vj到Vi的路径,说法错误,如果存在Vj到Vi的路径,Vj就会出现在Vi前面6.单选题面向对象设计时包含的主要活动是( )。问题1选项A.认定对象、组织对象、描述对象间的相互作用、确定对象的操作B.认定对象、定义属性、组织对象

11、、确定对象的操作C.识别类及对象、确定对象的操作、描述对象间的相互作用、识别关系D.识别类及对象、定义属性、定义服务、识别关系、识别包【答案】D【解析】考查关于面向对象的开发阶段。面向对象分析阶段:认定对象,组织对象,对象间的相互作用,基于对象的操作。面向对象设计阶段:识别类及对象、定义属性、定义服务、识别关系、识别包。面向对象程序设计:程序设计范型、选择一种OOPL。面向对象测试:算法层、类层、模板层、系统层。7.单选题以下关于中断方式与DMA方式的叙述中,正确的是( )。问题1选项A.中断方式与DMA方式都可实现外设与CPU之间的并行在工作B.程序中断方式和DMA方式在数据传输过程中都不需

12、要CPU的干预C.采用DMA方式传输数据的速度比程序中断方式的速度慢D.程序中断方式和DMA方式都不需要CPU保护现场【答案】A【解析】输入/输出技术的三种方式:直接查询控制:有无条件传送和程序查询方式,都需要通过CPU执行程序来查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据。在这种情况下CPU不做别的事情,只是不停地对外设的状态进行查询。中断方式:当I/O系统与外设交换数据时,CPU无须等待也不必查询I/O的状态,而可以抽身来处理其他任务。当I/O系统准备好以后,则发出中断请求信号通知CPU,CPU接到中断请求信号后,保存正在执行的程序的现场,转入I/O中断服务程序的

13、执行,完成于I/O系统的数据交换,然后再返回被打断的程序继续执行。与程序控制方式相比,中断方式因为CPU无需等待而提高了效率。DMA:直接寄存器存取方式,是指数据在内存与I/O设备间的直接成块传送,即在内存与I/O设备间传送一个数据块的过程中,不需要CPU的任何干涉,只需要CPU正在过程开始启动与过程结束时的处理,实际操作由DMA硬件直接执行完成。8.单选题X公司接受Y公司的委托开发了一款应用软件,双方没有订立任何书面合同。在此情形下,()享有该软件的著作权。问题1选项A.X、Y公司共同B.X公司C.Y公司D.X、Y公司均不【答案】B【解析】考查委托开发的情况。有合同约定,著作权归委托方,那么

14、就归属委托方;而在合同中未约定著作权归属,归创作方。对于题干描述说明未签订书面合同,则该著作权归创作方,(X公司接受Y公司的委托),即创作方X公司。9.单选题数据库的安全机制中,通过提供()供第三方开发人员调用进行数据更新,从而保证数据库的关系模式不被第三方所获取。问题1选项A.触发器B.存储过程C.视图D.索引【答案】B【解析】本题考查的是数据库基础知识。索引是数据库中提高查询效率的一种机制,不能进行数据更新。视图一般是提供查询数据的,具有一定安全机制,但是不能进行数据更新。触发器可以作为更新机制,但是无法避免数据库的关系模式被第三方所获取,并不安全。存储过程方式,可以定义一段代码,从而提供

15、给用户程序来调用,具体更新过程通过代码调用,避免了向第三方提供系统表结构的过程,体现了数据库的安全机制。所以本题选择B选项。10.案例题【说明】希尔排序算法又称最小增量排序算法,其基本思想是:步骤1:构造一个步长序列delta1、delta2、deltak,其中delta1=n/2,后面的每个delta是前一个的1/2 , deltak=1;步骤2:根据步长序列、进行k趟排序;步骤3:对第i趟排序,根据对应的步长delta,将等步长位置元素分组,对同一组内元素在原位置上进行直接插入排序。【C代码】下面是算法的C语言实现。(1)常量和变量说明data:待排序数组data,长度为n,待排序数据记录

16、在data0、data1、datan-1中。n:数组a中的元素个数。delta:步长数组。(2)C程序#includevoid shellsort(int data , int n) int *delta,k,i,t,dk,j; k=n; delta=(int *)nalloc(sizeof(int)*(n/2); if(i=0) do ( 1 ) ; deltai+=k; while ( 2 ) ; i=0; while(dk=deltai)0) for(k=deltai;k=0&t 【问题1】(8分)根据说明和c代码,填充c代码中的空(1) (4)。【问题2】(4分)根据说明和c代码,该算

17、法的时间复杂度(5)O(n2) (小于、等于或大于)。该算法是否稳定(6)(是或否)。【问题3】(3分)对数组(15、9、7、8、20、-1、 4)用希尔排序方法进行排序,经过第一趟排序后得到的数组为(7)。【答案】【问题1】(8分)(1)k=k/2(2)k1(3)datak【问题3】(3分)(7)(4,9,-1,8,20,7,15)【解析】问题1:希尔排序是一种经典的高效插入类排序算法。不稳定的排序算法,将每个步长划分为多个不连续的子序列,对每个子序列再次采用直接插入排序算法。如对某数组A=(a1,a2,a3.a10),在某趟排序时,若delta=3,则将A分成三个子序列,A1=(a1,a4

18、,a7,a10),A2=(a2,a5,a8),A3=(a3,a6,a9),然后分别在原位置上对A1、A2和A3进行直接插入排序处理。最后一趟排序中,delta=1,这样可以确保输出序列是有序的。delta 序列是希尔排序算法在具体实现的过程中定义的,本题在题干中已经给出,delta1 = n / 2 , 后面的每个delta是前面的1/2,最后一个deltak=1。根据题干,很容易得到空(1)为k=k/2,空(2)填k1。接下来的代码段是根据delta 值进行每一趟的排序,每趟排序是对不连续的每个子序列进行插入排序,因此,空(3)填datak问题2:希尔排序算法是一种不稳定的排序算法,时间复杂

19、度约在O(n1.3)。问题3:对于数组(15、9、7、8、20、-1、 4)用希尔排序方法进行排序,n=7,根据题干说明delta=n/2=3,A1(15,8,4),A2(9,20),A3(7,-1),每个子序列排序后得到A1(4,8,15),A2(9,20),A3(-1,7),还原得到(4,9,-1,8,20,7,15)11.单选题在单处理机计算机系统中有1台打印机、1台扫描仪,系统采用先来先服务调度算法。假设系统中有进程P1、P2、P3、P4,其中P1为运行状态,P2为就绪状态,P3等待打印机,P4等待扫描仪。此时,若P1释放了扫描仪,则进程P1、P2、P3、P4的状态分别为()。问题1选

20、项A.等待、 运行、等待、就绪B.运行、就绪、等待、就绪C.就绪、就绪、等待、运行D.就绪、运行、等待、就绪【答案】B【解析】考查三态模型相关问题。在题干提示有相关进程P1,P2,P3,P4,两个资源打印机和扫描仪,三个状态:运行,就绪,等待。首先题干已经明确说明P1处于运行态,释放了扫描仪,此时P1还有打印机没有运行完成,应该仍处于运行状态。对于P2而言,单处理机计算机系统只允许拥有1个运行状态,P1此时还未运行完成,未分配对应的CPU,仍处于就绪态。对于P3而言,等待打印机,处于等待状态,此时没有关于打印机的资源释放,仍处于等待状态。对于P4而言,等待扫描仪,处于等待状态,有相关的扫描仪资

21、源释放,应该得到相应的资源发生,从等待状态变成了就绪状态。12.单选题Designing object -oriented software is hard,and designing( )object -oriented software is even harder.You must find pertinent(相关的)objects,factor them into class at the right granularity,define class interfaces and inheritances,and establish key relationships among t

22、hem.You design should be specific to the problem at hand but also( )enough to address future problems and requirements.You also want to avoid redesign,or at least minimize it.Experienced object -oriented designers will tell you that a reusable and flexible design is difficult if not impossible to ge

23、t right the first time.Before a design is finished,they usually try to reuse it several times,modifying it each time.Yet experienced object-oriented designers do make good designs.Meanwhile new designers are( )by the options available and tend to fall back on non-object-oriented techniques theyve us

24、ed before.lt takes a long time for novices to learn what good object-oriented design is all about.Experienced designers evidently know something inexperienced ones dont.What is it?One thing expert designers know not to do is solve every problem from first principles.Rather, they reuse solutions that

25、 have worked for them in the past.When they find a good( ).They use it again and again.Such experience is part of what makes them experts.Consequently,youll find( )patterns of classes and communicating objects in many object-oriented systems.问题1选项A.runnableB.rightC.reusableD.pertinent问题2选项A.clearB.g

26、eneralC.personalizedD.customized问题3选项A.excitedB.shockenC.surprisedD.overwhelmed问题4选项A.toolB.componentC.systemD.solution问题5选项A.recurringB.rightC.experiencedD.past【答案】第1题:C第2题:B第3题:D第4题:D第5题:A【解析】设计面向对象的软件很难,而设计(可复用的)面向对象软件就更难了。你必须找到合适的(相关的)对象,以适当的粒度将它们划分为类,定义类接口和继承,并在它们之间建立关键关系。你的设计应该针对眼前的问题,但(一般 )足以

27、解决未来的问题和要求。你也要避免重新设计,或者至少最小化它。有经验的面向对象设计师会告诉你,一个可重用和灵活的设计是很难第一次就“正确”的。在设计完成之前,他们通常会尝试多次重复使用,每次都是这样。然而,有经验的面向对象设计师确实能做出好的设计。同时,新的设计师们对可用的选项感到不安(第三题选项不知所措的意思),他们倾向于使用以前使用的非面向对象技术。电影要花很长时间才能了解好的面向对象的设计。经验丰富的设计师显然知道一些缺乏经验的东西。它是什么?有一件事专家设计师知道不能做的就是从第一原理解决每一个问题。相反,他们选择了过去对他们有效的解决方案。当他们找到一个好的(解决方案)。他们一次又一次

28、地使用它。这样的经验是他们成为专家的部分原因。因此,您将在许多面向对象系统中找到第五题个类和通信对象的模式。A. runnable可运行的B.right对的C. reusable可复用的D. pertinent中肯的,相关的A. clear清除B. general总则C. personalized个性化D.customized定制A. excited兴奋B. shocken 震惊C. surprised惊讶于D. overwhelmed不知所措A.tool工具B. component组成部分C. system系统D. solution解决方案A.recurring循环B.right是吗C.ex

29、perienced经验丰富D.past过去13.单选题在ISO/IEC软件质量模型中,可移植性是指与软件可从某环境行移到另一环境的能力有关的一组属性,其子特性不包括()。问题1选项A.适应性B.易测试性C.易安装性D.易替换性【答案】B【解析】考查ISO/IEC的几大质量特性。可移植性包括:适应性、易安装性、一致性、易替换性。易测试性属于可维护性的范畴。14.单选题系统可维护性是指维护人员理解、改正、改动和改进软件系统的难易程度,其评价指标不包括()。问题1选项A.可理解性B.可测试性C.可修改性D.一致性【答案】D【解析】本题考查软件维护的问题。注意区别这里面的软件维护不是ISO/IEC软件

30、质量保证的维护性,两者需要进行区别。在这里的软件维护的可维护性应该包括:可理解性,可测试性,可修改性。其中一致性属于可移植性的范畴。15.案例题回答问题1至问题4,将解答填入答题纸的对应栏内【说明】某汽车维修公司为了便于管理车辆的维修情况,拟开发一套汽车维修管理系统,请根据下述需求描述完成该系统的数据库设计。【需求描述】(1)客户信息包括:客户号、客户名、客户性质、折扣率、联系人、联系电话。客户性质有个人或单位。客户号唯一标识客户关系中的每一个元组。(2)车辆信息包括:车牌号、车型、颜色和车辆类别。一个客户至少有一辆车,一辆车只属于一个客户。(3)员工信息包括:员工号、员工名、岗位、电话、家庭

31、住址。其中,员工号唯一标识员工关系中的每一个元组。岗位有业务员、维修工、主管。业务员根据车辆的故障情况填写维修单。(4)部门信息包括:部门号、名称、主管和电话,其中部门号唯一确定部门关系的每一个元组。每个部门只有一名主管,但每个部门有多名员工,每名员工只属于一个部门。(5)维修单信息包括:维修单号、车牌号、维修内容、工时。维修单号唯一标识维修单关系中的每一个元组。一个维修工可接多张维修单,但一张维修单只对应一个维修工。【概念模型设计】根据需求阶段收集的信息,设计的实体联系图(不完整)如图2-1所示【逻辑结构设计】根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):客户(客户号,客

32、户名,(a),折扣率,联系人,联系电话)车辆(车牌号,(b),车型,颜色,车辆类别)员工(员工号,员工名,岗位,(c),电话,家庭住址)部门(部门号,名称,主管,电话)维修单(维修单号,(d),维修内容,工时)【问题1】(6分)根据问题描述,补充3个联系,完善图2-1的实体联系图。联系名可用联系1、联系2和联系3代替,联系的类型为1:1、1:n和m:n(或1:1、1:*和*.*)。【问题2】(4分)根据题意,将关系模式中的空(a)(d)的属性补充完整,并填入答题纸对应的位置上。【问题3】(2分)分别给出车辆关系和维修单关系的主键与外键。【问题4】(3分)如果一张维修单涉及多项维修内容,需要多个

33、维修工来处理,那么哪个联系类型会发生何种变化?你认为应该如何解决这一问题?【答案】【问题1】(6分)联系1:客户和车辆:1:n联系2:部门和员工:1:n联系3:维修工和维修单:1:n【问题2】(4分)a:客户性质 b:客户号c:部门号d:车牌号,员工号【问题3】(2分)车辆关系的主键:车牌号 外键:客户号维修单关系的主键:维修单号 外键:车牌号,员工号【问题4】(3分)维修工和维修单之间的联系类型会发生变化,从1:n变成m:n。对应的需要增加维修关系,m:n需要不能归并,需要将其单独加入一个联系中,将维修单的属性员工号(维修工)删掉,新建一个关系模式维修。维修(员工号(维修工),维修单号,维修

34、地点,维修时间)【解析】问题1:补充实体联系图,根据题干描述,进行补充。根据题干描述:“一个客户至少有一辆车,一辆车只属于一个客户”,可知客户与车辆的联系为客户和车辆:1:n;根据“但每个部门有多名员工,每名员工只属于一个部门。”得知部门与员工的联系为部门和员工:1:n;根据“一个维修工可接多张维修单,但一张维修单只对应一个维修工。”维修工与维修单的联系为维修工和维修单:1:n。问题2:补充相关关系的属性。结合E-R转换为关系模式的三种原则和题干补充关系属性。a空,根据题干描述“客户信息包括:客户号、客户名、客户性质、折扣率、联系人、联系电话。”,可知缺失属性客户性质,由于其与车辆为1:n,没

35、有相对应的归并过程,应该将1端的主键客户号加入到车辆关系中。所以a空填写客户性质;b空,根据题干描述“车辆信息包括:车牌号、车型、颜色和车辆类别”,与关系模式对比,没有缺少,缺失的应该是上方提到的将1端的主键客户号加入到车辆关系中,所以b空应该填写车辆号;c空,根据题干描述“员工信息包括:员工号、员工名、岗位、电话、家庭住址。”与关系模式相比,没有缺失,根据第一问得知,存在部门与员工的1:n关系,应该将部门的主键部门号归并到员工信息中,故c空应该填写部门号;d空,根据题干描述“维修单信息包括:维修单号、车牌号、维修内容、工时。”对比发现缺失车牌号属性,其次在问题1中提到维修工和维修单存在1:n

36、的联系,应该将维修工的主键归并到维修单信息中,可以填写维修工,员工号,或维修员工号都可以。d空填写车牌号,员工号。问题3:找出对应的主外键,结合E-R转换为关系模式的三种原则和题干给出的信息找出主、外键。对于车辆关系而言,主键应该应该为多端车牌号,车牌号唯一标识主键。外键为归并过来的客户主键客户号。对于维修单关系而言,主键应该为唯一标识的维修单号,外键为归并过来的车牌号和员工号。问题4:如果一张维修单涉及多项维修内容,需要多个维修工来处理,应该将前面维修单与维修工的比值1:n变成m:n,对应的需要增加维修关系,m:n需要不能归并,需要将其单独加入一个联系中,将维修单的属性员工号(维修工)删掉,

37、新建一个关系模式维修。维修(员工号(维修工),维修单号,维修地点,维修时间)16.单选题异常是指令执行过程中在处理器内部发生的特殊事件,中断是来自处理器外部的请求事件。以下关于中断和异常的叙述中,正确的是( )。问题1选项A.“DMA传送结束”、“除运算时除数为0”都为中断B.“DMA传送结束”为中断,“除运算时除数为0”为异常C.“DMA传送结束”为异常、“除运算时除数为0”为中断D.“DMA传送结束”、“除运算时除数为0”都为异常【答案】B【解析】DMA处理过程由DMAC负责,传送后会给CPU发送通知,此时属于处理器外部事件,因此属于中断。异常指当前运行指令引起的中断事件。包括错误情况引起

38、的故障,如除零算数错误,缺页异常;也包括不可恢复的致命错误导致的终止,通常是一些硬件错误。17.单选题给定关系R(A,B,C,D)和关系S(A,D,E,F),若对这两个关系进行自然连接运算RS后的属性列有( )个;关系代数表达式R.BS.F(RS)与( )等价。问题1选项A.4B.5C.6D.8问题2选项A.28(RxS)B.1,2,3,4,7,8(1=5284=6(RS)C.”28(RxS)D.1,2,3,4,7,8(1=5284=6(RxS)【答案】第1题:C第2题:B【解析】第1题:本题考查关系代数相关知识。自然连接的属性列数是二者之和减去重复列数,本题R和S进行自然连接后,结果属性列数

39、为4+4-2=6,第一空选择C选项。第2题:判断自然连接与笛卡尔积关系表达式是否等价时,需要注意需要同名属性列取值相等才可以与自然连接等价,本题应该选择B选项,其他选项都不满足S.A=R.A AND R.D=S.D。18.单选题以下关于冯诺依曼计算机的叙述中,不正确的是()。问题1选项A.程序指令和数据都采用二进制表示B.程序指令总是存储在主存中,而数据则存储在高速缓存中C.程序的功能都由中央处理器(CPU)执行指令来实现D.程序的执行工作由指令进行自动控制【答案】B【解析】本题考查的是计算机体系结构相关知识。在冯诺依曼结构中,程序指令和数据存在同一个存储器中。B选项描述错误。本题选择B选项,

40、其他描述都是正确的。19.单选题以下关于PCI总线和SCSI总线的叙述中,正确的是( )。问题1选项A.PCI总线是串行外总线,SCSI 总线是并行内总线B.PCI总线是串行内总线,SCSI总线是串行外总线C.PCI总线 是并行内总线,SCSI 总线是串行内总线D.PCI总线是并行内总线, SCSI 总线是并行外总线【答案】D【解析】属于常见总线的分类:PCI总线:是目前微型机上广泛采用的内总线,采用并行传输方式。SCSI总线:小型计算机系统接口时一条并行外总线,广泛用于连接软硬磁盘、光盘、扫描仪等。20.单选题针对月收入小于等于3500元免征个人所得税的需求,现分别输入3499,3500和3

41、501进行测试,则采用的测试方法( )。问题1选项A.判定覆盖B.边界值分析C.路径覆盖D.因果图【答案】B【解析】本题考查的是边界值覆盖的相关应用。常见黑盒测试方法包括因果图、有效等价类和边界值分析等。白盒测试包括语句覆盖、判断覆盖、条件覆盖、路径覆盖等。判断覆盖和路径覆盖都需要了解模块内部执行过程,与本题不符。因果图(又名因果图、石川图、鱼骨图),指的是一种发现问题“根本原因”的分析方法,常用在项目管理中,黑盒测试也可以使用该方法。21.单选题关于螺旋模型,下列陈述中不正确的是( ),( )。问题1选项A.将风险分析加入到瀑布模型中B.将开发过程划分为几个螺旋周期,每个螺旋周期大致和瀑布模

42、型相符C.适合于大规模、复杂且具有高风险的项目D.可以快速的提供一个初始版本让用户测试问题2选项A.支持用户需求的动态变化B.要求开发人员具有风险分析能力C.基于该模型进行软件开发,开发成本低D.过多的迭代次数可能会增加开发成本,进而延迟提交时间【答案】第1题:D第2题:C【解析】第一空选项中,可以快速提供一个初始版本给用户的是增量模型而不是瀑布模型。D选项描述错误。其他描述都是正确的。第二空选项中,在螺旋模型中过多的迭代次数会增加开发成本,C选项开发成本低的描述是错误的。其他描述都是正确的。22.单选题在面向对象设计时,如果重用了包中的一个类,那么就要重用包中的所有类,这属于()原则。问题1

43、选项A.接口分离B.开放-封闭C.共同封闭D.共同重用【答案】D【解析】考查关于面向对象设计的几大原则。接口分离原则:使用多个专门的接口要比使用单一的总接口要好。开放-封闭原则:对扩展开放,对修改关闭。共同封闭原则:包中的所有类对于同一性质的变化应该是共同封闭的。一个变化若对一个包产生影响,则将对该包里的所有类产生影响,而对于其他的包不造成任何影响。共同重用原则:一个包里的所有类应该是共同重用的。如果重用了包里的一个类,那么就要重用包中的所有类。23.单选题广大公司(经销商)擅自复制并销售恭大公司开发的OA软件已构成侵权。鸿达公司在不知情时从广大公司(经销商)处购入该软件并已安装使用,在鸿达公

44、司知道了所使用的软件为侵权复制的情形下其使用行为()问题1选项A.侵权, 支付合理费用后可以继续使用该软件B.侵权, 须承担赔偿责任C.不侵权,可继续使用该软件D.不侵权, 不需承担任何法律责任【答案】A【解析】本题考查知识产权。我国计算机软件保护条例第30条规定“软件的复制品持有人不知道也没有合理理由应当知道该软件是侵权复制品的,不承担赔偿责任;但是,应当停止使用、销毁该侵权复制品。如果停止使用并销毁该侵权复制品将给复制品使用人造成重大损失的,复制品使用人可以在向软件著作权人支付合理费用后继续使用。”鸿达公司在获得软件复制品的形式上是合法的(向经销商购买),但是由于其没有得到真正软件权利人的

45、授权,其取得的复制品仍是非法的,所以鸿达公司的使用行为属于侵权行为。鸿达公司应当承担的法律责任种类和划分根据主观状态来确定。首先,法律确立了软件著作权人的权利进行绝对的保护原则,即软件复制品持有人不知道也没有合理理由应当知道该软件是侵权复制品的,也必须承担停止侵害的法律责任,只是在停止使用并销毁该侵权复制品将给复制品使用人造成重大损失的情况下,软件复制品使用人可继续使用,但前提是必须向软件著作权人支付合理费用。其次,如果软件复制品持有人能够证明自己确实不知道并且也没有合理理由应当知道该软件是侵权复制品的,软件复制品持有人除承担停止侵害外,不承担赔偿责任。软件复制品持有人一旦知道了所使用的软件为

46、侵权复制品时,应当履行停止使用、销毁该软件的义务。不履行该义务,软件著作权人可以诉请法院判决停止使用并销毁侵权软件。如果软件复制品持有人在知道所持有软件是非法复制品后继续使用给权利人造成损失的,应该承担赔偿责任。24.案例题生物学上通常采用编辑距离来定义两个物种DNA序列的相似性,从而刻画物种之间的进化关系。具体来说,编辑距离是指将一个字符串变换为另一个字符串所需要的最小操作次数。操作有三种,分别为:插入一个字符、删除一个字符以及将一个字符修改为另一个字符。用字符数组str1和str2分别表示长度分别为len1和len2的字符串,定义二维数组d记录求解编辑距离的子问题最优解,则该二维数组可以递

47、归定义为:【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代码中的空(1)(4)。【问题2】(4分)根据

48、说明和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)425.单选题SQL是一种数据库结构化查询语言,SQL注入攻击的首要目标是( )。问题1选项A.破坏Web服务B.窃取用户口令等机密信息C.攻击用户浏览器,以获得访问权限D.获得数据库的

49、权限【答案】D【解析】SQL注入攻击,就是通过把SQL命令插入到 Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。其首要目的是获取数据库访问权限。26.单选题在网络系统设计时,不可能使所有设计目标都能达到最优,下列措施中最为合理的是( )。问题1选项A.尽量让最低建设成本目标达到最优B.尽让最短的故障时间达到最优C.尽量让最大的安全性目标达到最优D.尽量让优先级较高的目标达到最优【答案】B【解析】暂无。27.单选题面向对象分析时,执行的活动顺序通常是( )。问题1选项A.认定对象、组织对象、描述对象的相互作用、确定对象的操作B.认定对象、定义属性、组织对

50、象、确定对象的操作C.认定对象、描述对象间的相互作用、确定对象的操作、识别包D.识别类及对象、识别关系、定义属性、确定对象的操作【答案】A【解析】本题考查面向对象分析的基本概念。面向对象分析包含5个活动:认定对象、组织对象、描述对象间的相互作用、定义对象的操作、定义对象的内部信息。认定对象是指:在应用领域中,按自然存在的实体确立对象。在定义域中,首先将自然存在的“名词”作为一个对象,这通常是研究问题定义域实体的良好开始。通过实体间的关系寻找对象常常没有问题,而困难在于寻找(选择)系统关心的实质性对象。实质性对象是系统稳定性的基础。例如在银行应用系统中,实质性对象应包含客户账务、清算等,而门卫值

51、班表不是实质性对象,甚至可不包含在该系统中。组织对象含义是:分析对象间的关系,将相关对象抽象成类,其目的是为了简化关联对象,利用类的继承性建立具有继承性层次的类结构。抽象类时可从对象间的操作或一个对象是另一个对象的一部分来考虑;如房子由门和窗构成,门和窗是房子类的子类。由对象抽象类,通过相关类的继承构造类层次,所以说系统的行为和信息间的分析过程是一种迭代表征过程。描述对象间的相互作用是:描述出各对象在应用系统中的关系。如一个对象是另一个对象的一部分,一个对象与其他对象间的通信关系等。这样可以完整地描述每个对象的环境,由一个对象解释另一个对象,以及一个对象如何生成另一个对象,最后得到对象的界面描

52、述。最后定义对象的操作和内部信息。本题选择A选项。28.单选题二叉树的高度是指其层数, 空二叉树的高度为0,仅有根结点的二叉树高度为1,若某二叉树中共有1024个结点,则该二叉树的高度是整数区间( )中的任一值。问题1选项A.(10, 1024)B.10, 1024C.(11, 1024)D.11, 1024【答案】D【解析】本题考查关于二叉树的构造问题。根据题干描述, 空二叉树的高度为0,仅有根结点的二叉树高度为1,当若某二叉树中共有1024个结点,求其取值范围?我们不妨求出取值范围的极限值,当1024个结点都为根结点的时候,表示1024个二叉树高度为1,高度累计为1024,区间能够取到10

53、24,属于闭区间,排除A,C再求出其最小值的情况,最小值应该是按照满二叉树进行排列,对于二叉树的规律如下:第一层的结点树20=1,第二层21=2,第3层22=4,依次类推。对于1024而言,210=1024,所以我们不能取到11层,应该先到第10层29=512,此时10层共累计的节点有:20+21+.+29=1023,共有1024还缺少1个结点,只能存放到第11层,第11层仅有1个结点,但是它的层次已经到了11层,所以能取到11,属于闭区间,排除B选项,故表达式取值范围应该是11, 1024。29.单选题One is that of a software engineer and the ot

54、her 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

55、cloud while the software is continually ( ).A software engineer creates computer programs for people to use based upon their security and function ability needs. A DevOps engineer also works on computer applications, but manages the building, deployment and operation as a( ) autormated process. Soft

56、ware 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 up grades are necessary or if more serious improvements are needed. DevOps engineers work with the

57、 operational side of a business and manage the workflow to ( ) software to smoothly function with automated processes. Both professions require knowledge of Computer programming languages.问题1选项A.focusB.processC.goalD.function问题2选项A.developingB.deployingC.trainingD.operational问题3选项A.developedB.functi

58、onalC.constructedD.secure问题4选项A.singleB.wholeC.continuousD.independent问题5选项A.developB.integrateC.analyseD.maintain【答案】第1题:A第2题:D第3题:B第4题:C第5题:B【解析】本题考查英语专业知识。译文:一个是软件工程师,另一个是DevOps工程师。最大的不同在于他们的关注点。软件工程师关注计算机软件如何满足客户的需求,而DevOps工程师关注的范围更广,包括软件开发、软件如何部署以及在软件持续运行时通过云提供操作支持。软件工程师根据人们的安全性和功能需求创建计算机程序供人们使

59、用。DevOps工程师也处理计算机应用程序,但将构建、部署和操作作为一个连续的自动匹配过程进行管理。软件工程师通常与企业的运营部门分开工作。他们创建业务客户所需的软件,然后监控其软件产品的性能,以确定是否需要升级或是否需要更大的改进。DevOps工程师与业务的运营部门合作,并管理工作流,以集成软件,使其与自动化流程顺利运行。这两种职业都需要计算机编程语言的知识。选项翻译:A、focus 关注点 B、process 过程 C、goal 目标 D、function作用A、developing发展中的 B、deploying 使展开,部署 C、training 训练、培养 D、operational

60、 操作的A、developed 先进的,发达的 B、functional 功能的 C、constructed 构件 D、secure 保护A、 single 单一的 B、 whole 完整的,全部的 C、continuous 连续的 D、independent 自主的,不相干的A、develop 发展 B、integrate 整合 C、analyse 分析 D、maintain 维持30.单选题下列不能用于远程登录或控制的是( )。问题1选项A.IGMPB.SSHC.TelnetD.RFB【答案】A【解析】IGMP:属于网络的组播协议,不能实现相关应用层的远程登录。SSH:SSH 为建立在应用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论