201311软设上午真题

第 1 题

在程序执行过程中,Cache与主存的地址映像由(  )。

  • (A) 硬件自动完成
  • (B) 程序员调度
  • (C) 操作系统管理
  • (D) 程序员与操作系统协同完成

答案与解析

  • 试题难度:容易
  • 知识点:计算机组成与体系结构>Cache
  • 试题答案:[[A]]
  • 试题解析:

    Cache与主存的地址映像需要专门的硬件自动完成,使用硬件来处理具有更高的转换速率。

第 2 题

 指令寄存器的位数取决于(  )。

  • (A) 存储器的容量
  • (B) 指令字长
  • (C) 数据总线的宽度
  • (D) 地址总线的宽度

答案与解析

  • 试题难度:一般
  • 知识点:计算机组成与体系结构>计算机指标
  • 试题答案:[['B']]
  • 试题解析:

    指令寄存器IR是用来存放要执行的指令的,所以跟指令的的长度有关。

第 3 题

 若计算机存储数据采用的是双符号为(00表示正号、11表示负号),两个符号相同的数相加时,如果运算结果的两个符号位经 (  )运算得1,则可断定这两个数相加的结果产生了溢出。

  • (A) 逻辑与
  • (B) 逻辑或
  • (C) 逻辑同或
  • (D) 逻辑异或

答案与解析

  • 试题难度:一般
  • 知识点:计算机组成与体系结构>逻辑运算
  • 试题答案:[[D]]
  • 试题解析:

    计算机运算溢出检测机制,采用双符号位,00表示正号,11表示负号。如果进位将会导致符号位不一致,从而检测出溢出。结果的符号位为01时,称为上溢;为10时,称为下溢。

    由此可知,溢出时如果对两个符号位进行异或运算,结果为1,符合题目条件。

第 4 题

某指令流水线由4段组成,各段所需要的时间如下图所示。连续输出8条指令时的吞吐率(单位时间内流水线所完成的任务数或输出的结果数)为(  )。

  • (A) 8/56Δt
  • (B) 8/32Δt
  • (C) 8/28Δt
  • (D) 8/24Δt

答案与解析

  • 试题难度:一般
  • 知识点:计算机组成与体系结构>流水线技术
  • 试题答案:[[C]]
  • 试题解析:

    当流水线各段所经历的时间不一样时,吞吐率的计算公式为:


    式中分子为指令数,本题为n=8;
    分母为流水线执行时间,根据理论公式:
    流水线执行时间计算=一条指令顺序执行时间+(n-1)*流水线周期=(1△t+2△t+3△t+1△t)+(8-1)*3△t=28△t

    综上可得,吞吐率TP=8/28△t,为C选项。
    【其中流水线周期为指令耗时最长的一段。】

第 5 题

(  )不是RISC的特点。

  • (A) 指令种类丰富
  • (B) 高效的流水线操作
  • (C) 寻址方式较少
  • (D) 硬布线控制

答案与解析

  • 试题难度:一般
  • 知识点:计算机组成与体系结构>CISC与RISC
  • 试题答案:[[A]]
  • 试题解析:

    RISC是精简指令集计算机的简略缩写,其风格是强调计算机结构的简单性和高效性。RISC设计是从足够的不可缺少的指令集开始的。它的速度比那些具有传统复杂指令组计算机结构的机器快得多,而且RISC机由于其较简洁的设计,较易使用,故具有更短的研制开发周期。RISC与CISC相比,指令种类更精简,指令长度基本保持一致,寻址方式比较单一,一般使用寄存器寻址,研发周期更短,指令格式等长,容易用硬布线逻辑实现,适合高效的流水线操作。

第 6 题

在面向对象技术中,(  )定义了超类和子类之间的关系,子类中以更具体的方式实现从父类继承来的方法称为(  ),不同类的对象通过(  )相互通信。

  • (A) 覆盖
  • (B) 继承
  • (C) 消息
  • (D) 多态
  • (A) 覆盖
  • (B) 继承
  • (C) 消息
  • (D) 多态
  • (A) 覆盖
  • (B) 继承
  • (C) 消息
  • (D) 多态

答案与解析

  • 试题难度:一般
  • 知识点:面向对象技术>面向对象的基本概念
  • 试题答案:[['B'],['A'],['C']]
  • 试题解析:
    继承:父类和子类之间共享数据的方法的机制。这是类之间的一种关系,在定义和实现一个类的时候,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
    消息:对象之间进行通信的一种构造叫做消息。当一个消息发送给某个对象时,包含要求接收对象去执行某些活动的信息。接收到信息的对象经过解释,然后予以响应。这种通信机制叫做消息传递。发送消息的对象不需要知道接收消息的对象如何对请求予以响应。
    多态:在收到消息时,对象要予以响应。不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态。
    覆盖:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override)。

第 7 题

弱类型的语言(动态类型语言)是指不需要进行变量/对象类型声明的语言。(  )属于弱类型语言。

  • (A) Java
  • (B) C/C++
  • (C) Python
  • (D) C#

答案与解析

  • 试题难度:容易
  • 知识点:程序设计语言基础>多种程序语言特点
  • 试题答案:[[C]]
  • 试题解析:
    强、弱类型语言有两种划分方法。
    一种是从内存上来说:允许将一块内存看做多种类型。比如直接将整型变量与字符变量相加。
    另一种是从语法上来说:在变量或者对象使用前,需要声明类型的语言就是强类型语言。
    根据题意对弱语言的定义:不需要进行变量/对象类型声明的语言,可知本题是从语法的角度来区分强弱类型语言。java、c/c++、c#中变量在使用前都需要声明其类型,而python则不需要。因此从语法上来说,python是弱类型语言。

第 8 题

若某计算机字长为32位,内存容量为2GB,按字编址,则可寻址范围为(  )。

  • (A) 1024M
  • (B) 1GB
  • (C) 512M
  • (D) 2GB

答案与解析

  • 试题难度:一般
  • 知识点:计算机组成与体系结构>主存编址计算
  • 试题答案:[[C]]
  • 试题解析:

    计算机字长为32位,按字编址(即1个字32个位,4个字节),则总容量为2GB的内存可规划的单元地址数量为:2GB/32bit=2GB/4B=0.5G=512M。

第 9 题

下列网络攻击行为中,属于DoS攻击的是(  )。

  • (A) 特洛伊木马攻击
  • (B) SYN Flooding攻击
  • (C) 端口欺骗攻击
  • (D) IP欺骗攻击

答案与解析

  • 试题难度:一般
  • 知识点:信息安全>网络攻击
  • 试题答案:[[B]]
  • 试题解析:
    DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。
    作个形象的比喻来理解DoS。街头的餐馆是为大众提供餐饮服务,如果一群地痞流氓要DoS餐馆的话,手段会很多,比如霸占着餐桌不结账,堵住餐馆的大门不让路,骚扰餐馆的服务员或厨子不能干活,甚至更恶劣……
    SYN Flooding攻击便是Dos攻击的典型代表,该攻击以多个随机的源主机地址向目的路由器发送SYN包,而在收到目的路由器的SYN ACK后并不回应,这样,目的路由器就为这些源主机建立了大量的连接队列,而且由于没有收到ACK一直维护着这些队列,造成了资源的大量消耗而不能向正常请求提供服务,甚至导致路由器崩溃。服务器要等待超时(Time Out)才能断开已分配的资源。

第 10 题

PKI体制中,保证数字证书不被篡改的方法是(  )。

  • (A) 用CA的私钥对数字证书签名
  • (B) 用CA的公钥对数字证书签名
  • (C) 用证书主人的私钥对数字证书签名
  • (D) 用证书主人的公钥对数字证书签名

答案与解析

  • 试题难度:一般
  • 知识点:信息安全>数字证书
  • 试题答案:[[A]]
  • 试题解析:

    在PKI体制中,识别数字证书的颁发机构以及通过该机构核实证书的有效性,了解证书是否被篡改均通过一种机制——对数字证书做数字签名。数字签名将由CA机构使用自己的私钥进行。

第 11 题

下列算法中,不属于公开密钥加密算法的是(  )。

  • (A) ECC
  • (B) DSA
  • (C) RSA
  • (D) DES

答案与解析

  • 试题难度:一般
  • 知识点:信息安全>对称加密与非对称加密技术
  • 试题答案:[['D']]
  • 试题解析:

    公开密钥加密(public-key cryptography),也称为非对称加密(asymmetric cryptography),一种密码学算法类型,在这种密码学方法中,需要一对密钥,一个是私人密钥,另一个则是公开密钥。 

    常见的公钥加密算法有:  RSA、ElGamal、背包算法、Rabin(RSA的特例)、迪菲-赫尔曼密钥交换协议中的公钥加密算法、椭圆曲线加密算法(Elliptic Curve Cryptography, ECC) ;

    DES是典型的私钥加密体制,属于对称加密。

    DSA数字签名(又称公钥数字签名),将摘要信息用发送者的私钥加密,接收者只有用发送者的公钥才能解密被加密的摘要信息。

第 12 题

 矢量图是常用的图形图像表示形式,(  )是描述矢量图的基本组成单位。

  • (A) 像素
  • (B) 像素点
  • (C) 图元
  • (D) 二进制位

答案与解析

  • 试题难度:一般
  • 知识点:多媒体基础>多媒体技术基本概念
  • 试题答案:[[C]]
  • 试题解析:

           矢量图是根据几何特性来绘制图形,矢量可以是一个点或一条线,矢量图只能靠软件生成,文件占用内在空间较小,因为这种类型的图像文件包含独立的分离图像,可以自由无限制的重新组合。它的特点是放大后图像不会失真,和分辨率无关,适用于图形设计、文字设计和一些标志设计、版式设计等。

           矢量图中的图形元素称为图元。而另一类图具有代表性的图像表示形式是位图图像,该图采用像素来表示图像。

第 13 题

视频信息是连续的图像序列,(  )是构成视频信息的基本单元。

  • (A) 帧
  • (B) 场
  • (C) 幅
  • (D) 像素

答案与解析

  • 试题难度:容易
  • 知识点:多媒体基础>多媒体技术基本概念
  • 试题答案:[[A]]
  • 试题解析:

    视频(Video)泛指将一系列静态影像以电信号方式加以捕捉,纪录,处理,储存,传送,与重现的各种技术。帧是构成视频信息的基本单元。连续的图像变化每秒超过24帧(frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面;看上去是平滑连续的视觉效果,这样连续的画面叫做视频。

第 14 题

以下多媒体素材编辑软件中,(  )主要用于动画编辑和处理。

  • (A) WPS
  • (B) Xara3D
  • (C) PhotoShop
  • (D) Cool Edit Pro

答案与解析

  • 试题难度:一般
  • 知识点:多媒体基础>多媒体技术基本概念
  • 试题答案:[['B']]
  • 试题解析:
    WPS 即 WPS OFFICE,它是一款办公软件套装,可以实现办公软件最常用的文字、表格、演示等多种功能。内存占用低,运行速度快,体积小巧。
    Xara3D,一个新的3D程序,甚至不需要学习,就可以创作出用于网页的高品质的3D文字标题,所有的图片全都具有光滑平整的专业品质,它也可以创建高品质的动画GIF和AVI。
    Photoshop,简称“PS”,是由Adobe Systems开发和发行的图像处理软件。Photoshop主要处理以像素所构成的数字图像。使用其众多的编修与绘图工具,可以有效地进行图片编辑工作。
    Cool Edit Pro是一个非常出色的数字音乐编辑器和MP3制作软件。不少人把Cool Edit形容为音频“绘画”程序。

第 15 题

为说明某一问题,在学术论文中需要引用某些资料。以下叙述中,(  )是不正确的。

  • (A) 既可引用发表的作品,也可引用未发表的作品
  • (B) 只能限于介绍、评论作品
  • (C) 只要不构成自己作品的主要部分,可适当引用资料
  • (D) 不必征得原作者的同意,不需要向他支付报酬

答案与解析

  • 试题难度:一般
  • 知识点:法律法规与标准化>侵权判断
  • 试题答案:[[A]]
  • 试题解析:
    根据《著作权法》的规定,符合法定许可条件的都是“已发表作品”,由此推知,引用未发表作品,必须征得作者同意,因为这涉及到作者的发表权问题。
    合理使用是不必征得原作者的同意,不需要向他支付报酬,其使用的范围和具体方式,具体而言可以从以下几个方面理解:
    (1)引用的目的是为了介绍、评论某一作品或者说明某一问题。
    (2)引用的比例必须适当。一般说来,引用不应当比评论、介绍或者说明还长。
    (3)引用的作品必须是已经发表的作品。
    (4)引用他人的作品,应当指明作者的姓名,作品的名称,并且不得侵犯著作权人按照著作权法享有的其他权利。

第 16 题

以下作品中,不适用或不受著作权法保护的是(  )。

  • (A) 某教师在课堂上的讲课
  • (B) 某作家的作品《红河谷》
  • (C) 最高人民法院组织编写的《行政诉讼案例选编》
  • (D) 国务院颁布的《计算机软件保护条例》

答案与解析

  • 试题难度:一般
  • 知识点:法律法规与标准化>保护范围与对象
  • 试题答案:[[D]]
  • 试题解析:
    根据我国《著作权法》的规定,有三种类型的作品不受法律保护。 第一种是依法禁止出版、传播的作品。 第二种是不适用于《著作权法》的作品。它们包括下列作品:
    (1)法律、法规,国家的决议、决定、命令和其他具有立法、行政、司法性质的文件,极其官方正式译文;
    (2)时事新闻;
    (3)历法、通用数表、通用表格和公式。
    国务院颁布的《计算机软件保护条例》属于法律法规,所以不受著作权法保护。

第 17 题

以下关于数据流图中基本加工的叙述,不正确的是(  )。

  • (A) 对每一个基本加工,必须有一个加工规格说明
  • (B) 加工规格说明必须描述把输入数据流变换为输出数据流的加工规则
  • (C) 加工规格说明必须描述实现加工的具体流程
  • (D) 决策表可以用来表示加工规格说明

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>数据流图与数据字典
  • 试题答案:[[C]]
  • 试题解析:
    对基本加工的说明有三种描述方式:结构化语言、判断表(决策表)、判断树(决策树)。基本加工逻辑描述的基本原则为:
    1、对数据流图的每一个基本加工,必须有一个基本加工逻辑说明。
    2、基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则。
    3、加工逻辑说明必须描述实现加工的策略而不是实现加工的细节。
    4、加工逻辑说明中包含的信息应是充足的,完备的,有用的,无冗余的。

第 18 题

在划分模块时,一个模块的作用范围应该在其控制范围之内。若发现其作用范围不在其控制范围内,则(  )不是适当的处理方法。

  • (A) 将判定所在模块合并到父模块中,使判定处于较高层次
  • (B) 将受判定影响的模块下移到控制范围内
  • (C) 将判定上移到层次较高的位置
  • (D) 将父模块下移,使判定处于较高层次

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>模块设计原则
  • 试题答案:[[D]]
  • 试题解析:
    一个模块的作用范围(或称影响范围)指受该模块内一个判定影响的所有模块的集合。
    一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。
    一个模块的作用范围应在其控制范围之内,且判定所在的模块应在其影响的模块在层次上尽量靠近。如果再设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点”或“下移受判断影响的模块,将它下移到判断所在模块的控制范围内”的方法加以改进。

第 19 题

针对“关键职员在项目未完成时就跳槽”的风险,最不合适的风险管理策略是(  )。

  • (A) 对每一个关键性的技术人员,要培养后备人员
  • (B) 建立项目组,以使大家都了解有关开发活动的信息
  • (C) 临时招聘具有相关能力的新职员
  • (D) 对所有工作组织细致的评审

答案与解析

  • 试题难度:一般
  • 知识点:项目管理>风险管理
  • 试题答案:[[C]]
  • 试题解析:

    在IT项目中,临时的新增人员与替换人员,是需要谨慎处理的一件事情。因为新增人员需要与原团队磨合、需要花很多时间了解项目情况、同时增加沟通成本。

第 20 题

 程序运行过程中常使用参数在函数(过程)间传递消息,引用调用传递的是实参的(  )。

  • (A) 地址
  • (B) 类型
  • (C) 名称
  • (D) 值

答案与解析

  • 试题难度:容易
  • 知识点:程序设计语言基础>传值与传址
  • 试题答案:[[A]]
  • 试题解析:
    程序运行时,对函数的调用一般有两种形式:传值调用和引用调用。
    传值调用:形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变。
    引用(传址)调用:形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。

第 21 题

已知文法G:S->A0|B1,A->S1|1,B->S0|0,其中S是开始符号。从S出发可以推导出(  )。

  • (A) 所有由0构成的字符串
  • (B) 所有由1构成的字符串
  • (C) 某些0和1个数相等的字符串
  • (D) 所有0和1个数不同的字符串

答案与解析

  • 试题难度:一般
  • 知识点:程序设计语言基础>文法
  • 试题答案:[[C]]
  • 试题解析:
    对于文法可推导出的字符串分析,考试一般可对文法举例,然后总结规律。
    以本题文法为例,可以产生的字符串包括:
    (1)10
    推导过程:S->A0;A->1。
    (2)01
    推导过程:S-> B1;B->0。
    (3)1010
    推导过程:S->A0;A->S1:S->A0,A->1。
    至此,可以了解到,选项A、B、D的描述都是不正确的。

第 22 题

算术表达式a+(b-c)*d的后缀式是(  )(-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。

  • (A) bc-d*a+
  • (B) abc-d*+
  • (C) ab+c-d*
  • (D) abcd-*+

答案与解析

  • 试题难度:一般
  • 知识点:程序设计语言基础>后缀表达式
  • 试题答案:[[B]]
  • 试题解析:

    本题要求算术表达式的后缀式,解决该类问题的方法是将算术表达式构造成一棵二叉树,然后对二叉树进行后序遍历,得到后缀式。题目中算术表达式可以构造为以下二叉树:

    对该二叉树进行后序遍历结果为:a b c - d * +。

第 23 题

假设系统采用PV操作实现进程同步与互斥,若有n个进程共享一台扫描仪,那么当信号量S的值为-3时,表示系统中有(  )个进程等待使用扫描仪。

  • (A) 0
  • (B) n-3
  • (C) 3
  • (D) n

答案与解析

  • 试题难度:一般
  • 知识点:操作系统>信号量的取值范围
  • 试题答案:[[C]]
  • 试题解析:

    在PV操作中,信号量用于表示系统中现有资源的数量,当信号量值为负数时,代表这类资源系统已经分配完毕。此时,对负数取绝对值能得到当前等待进程数量。

第 24 题

 假设段页式存储管理系统中的地址结构如下图所示,则系统中(  )。

  • (A) 页的大小为4K,每个段的大小均为4096个页,最多可有256个段
  • (B) 页的大小为4K,每个段的最大允许有4096个页,最多可有256个段
  • (C) 页的大小为8K,每个段的大小均为2048个页,最多可有128个段
  • (D) 页的大小为8K,每个段的最大允许有2048个页,最多可有128个段

答案与解析

  • 试题难度:一般
  • 知识点:操作系统>段页式存储
  • 试题答案:[[B]]
  • 试题解析:
    本题考查段页式存储管理,从题目给出的段号、页号、页内地址位数情况,可以推算出每一级寻址的寻址空间。
    如:已知页内地址是从第0位到第11位,共12个位,所以一个页的大小为:212=4K。
    页号是从第12位到第23位,共12个位,所以一个段中有212=4096个页。
    段号是从第24位到第31位,共8个位,所以一共有28=256个段。

第 25 题

某文件管理系统采用位示图(bitmap)记录磁盘的使用情况。如果系统的字长为32位,磁盘物理块的大小为4MB,物理块依次编号为:0、1、2、…,位示图字依次编号为:0、1、2、…,那么16385号物理块的使用情况在位示图中的第(  )个字中描述;如果磁盘的容量为1000GB,那么位示图需要(  )个字来表示。

  • (A) 128
  • (B) 256
  • (C) 513
  • (D) 1024
  • (A) 1200
  • (B) 3200
  • (C) 6400
  • (D) 8000

答案与解析

  • 试题难度:一般
  • 知识点:操作系统>位示图
  • 试题答案:[[C],[D]]
  • 试题解析:

    由于物理块是从0开始编号的,所以16385号物理块是第16386块。16386/32=512.0625,所以16385号物理块的使用情况在位示图中的第513个字中描述。

           磁盘的容量为1000GB,物理块的大小为4MB,则磁盘共1000×1024/4个物理块,一个字可以表示32个物理块的使用情况,位示图的大小为1000×1024/(32×4) =8000个字。

第 26 题

假设系统中有三类互斥资源R1、R2和R3,可用资源分别为10、5和3。在T0时刻系统中有P1、P2、P3、P4和P5五个进程,这些进程对资源的最大需求量和已分配资源数如下表所示,此时系统剩余的可用资源数分别为(  );如果进程按(  )序列执行,那么系统状态是安全的。

  • (A) 1、1和0
  • (B) 1、1和1
  • (C) 2、1和0
  • (D) 2、0和1
  • (A) P1->P2->P4->P5->P3
  • (B) P5->P2->P4->P3->P1
  • (C) P4->P2->P1->P5->P3
  • (D) P5->P1->P4->P2->P3

答案与解析

  • 试题难度:容易
  • 知识点:操作系统>银行家算法
  • 试题答案:[[D],[B]]
  • 试题解析:
    本题考查银行家算法。
    首先需要求系统剩余资源,计算方法是将总资源数逐一减去已分配资源数。
    R1剩余的可用资源数为:10-1-2-3-1-1=2;
    R2剩余的可用资源数为:5-1-1-1-1-1=0;
    R3剩余的可用资源数为:3-1-1=1;
    接下来分析按什么样的序列执行,系统状态是安全的,所谓系统状态安全是指不产生死锁。在进行该分析时,需要先了解每个进程各类资源还需要多少个,此信息可以通过最大需求量-已分配资源数获得,情况如表所示。
    从表可以看出,当前情况下,能运行的唯有P5,除了P5,其它进程所需要的资源系统均不能满足,所以先执行P5。当P5执行完成时,不仅会释放当前分配给他的资源,还会将原来已分配资源数一并释放,所以此时系统剩余资源变为:3,1,1。这个资源数,可以运行P2,但不能运行P1,所以本题选B。

第 27 题

系统可维护性的评价指标不包括(  )。

  • (A) 可理解性
  • (B) 可测试性
  • (C) 可移植性
  • (D) 可修改性

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>软件质量特性
  • 试题答案:[[C]]
  • 试题解析:
    系统的可维护性的评价指标包括:可理解性、可测试性、可修改性。
    可理解性:指别人能理解系统的结构、界面、功能和内部过程的难易程度。模块化、详细设计文档、结构化设计和良好的高级程序设计语言等,都有助于提高可理解性。
    可测试性:诊断和测试的容易程度取决于易理解的程度。
    可修改性:诊断和测试的容易程度与系统设计所制定的设计原则有直接关系。模块的耦合、内聚、作用范围与控制范围的关系等,都对可修改性有影响。

第 28 题

下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含活动,则里程碑(  )在关键路径上,若在实际项目进展中,活动AD在活动AC开始3天后才开始,而完成活动DG过程中,由于有临时事件发生,实际需要15天才能完成,则完成该项目的最短时间比原计划多了(  )天。

  • (A) B
  • (B) C
  • (C) D
  • (D) I
  • (A) 8
  • (B) 3
  • (C) 5
  • (D) 6

答案与解析

  • 试题难度:一般
  • 知识点:项目管理>Gant图与Pert图
  • 试题答案:[[B],[B]]
  • 试题解析:
    在软件项目的活动图中,从开始结点到结束结点,耗时最长的一条路径称为关键路径。在本题中,关键路径为:A-C-G-J-K。所以备选答案中的C是属于关键路径上的里程碑。
    题目中提到“活动AD在活动AC开始3天后才开始,而完成活动DG过程中,由于有临时事件发生,实际需要15天才能完成”,所以可以将AD活动由原来的10天延长至13天,而DG活动由原来的10天延长至15天,此时计算出来的关键路径比原来长了3天,所以整个项目的最短工期会延长3天。

第 29 题

 逆向工程从源代码或目标代码中提取设计信息,通常在原软件生命周期的(  )阶段进行。

  • (A) 需求分析
  • (B) 软件设计
  • (C) 软件测试
  • (D) 软件维护

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>软件维护相关概念及工具
  • 试题答案:[[D]]
  • 试题解析:

    逆向工程产品设计可以认为是一个从产品到设计的过程。简单地说,逆向工程产品设计就是根据已经存在的产品,反向推出产品设计数据(包括各类设计图或数据模型)的过程。这个过程一般是在软件交付使用之后进行,所以是在原软件生命周期的软件维护阶段进行。

第 30 题

SEI能力成熟度模型(SEICMM)把软件开发企业分为5个成熟度级别,其中(  )重点关注产品和过程质量。

  • (A) 级别2:重复级
  • (B) 级别3:确定级
  • (C) 级别4:管理级
  • (D) 级别5:优化级

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>软件过程改进
  • 试题答案:[[C]]
  • 试题解析:
    CMM的分级结构及其过程描述:
    (1)初始级:软件过程的特点是无秩序或说无定规的,有时甚至是混乱的。软件过程定义几乎处于无章法、无步骤可循的状态,软件产品所取得的成功往往依赖于极个别人的努力和机遇。
    (2)可重复级:已建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。对类似的应用项目,有章可循并能重复以往所取得的成功。
    (3)已定义级:用于管理的和工程的软件过程均已文档化、标准化,并形成了整个软件组织的标准软件过程。全部项目均采用与实际情况相吻合的、适当修改后的标准软件过程来进行操作。
    (4)已管理级:软件过程和产品质量有详细的度量标准。软件过程和产品质量得到了定量的认识和控制。
    (5)优化级:通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地对促进过程进行改进。
    除第一级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,自然可以向上一更为成熟的高一级别迈进。CMM体系不主张跨级别的进化,因为从第二级开始,每一个低级别的实现均是更高级别实现的基础。

第 31 题

在对程序质量进行评审时,模块结构是一个重要的评审项,评审内容中不包括(  )。


  • (A) 数据结构
  • (B) 数据流结构
  • (C) 控制流结构
  • (D) 模块结构与功能结构之间的对应关系

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>软件质量保证(评审)
  • 试题答案:[['A']]
  • 试题解析:
    模块结构评审时,主要包括以下方面的评审:
    1、控制流结构:规定了处理模块与处理模块之间的流程关系。检查处理模块之间的控制转移关系与控制转移形式(调用方式)。
    2、数据流结构:规定了数据模块是如何被处理模块进行加工的流程关系。检查处理模块与数据模块之间的对应关系;处理模块与数据模块之间的存取关系,如建立、删除、查询、修改等。
    3、模块结构与功能结构之间的对应关系:包括功能结构与控制流结构的对应关系;功能结构与数据流结构的对应关系;每个模块的定义(包括功能、输入与输出数据)。

第 32 题

(  )不是增量式开发的优势。

  • (A) 软件可以快速地交付
  • (B) 早期的增量作为原型,从而可以加强对系统后续开发需求的理解
  • (C) 具有最高优先级的功能首先交付,随着后续的增量不断加入,这就使得更重要的功能得到更多的测试
  • (D) 很容易将客户需求划分为多个增量

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>开发模型
  • 试题答案:[[D]]
  • 试题解析:
    增量式开发的主要优点包括:
    1、由于能够在较短的时间内向用户提交一些有用的工作产品,因此能够解决用户的一些急用功能。
    2、由于每次只提交用户部分功能,用户有较充分的时间学习和适应新的产品。
    3、对系统的可维护性是一个极大的提高,因为整个系统是由一个个构件集成在一起的,当需求变更时只变更部分部件,而不必影响整个系统。
    主要缺点包括:
    1、由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。
    2、在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而使软件过程的控制失去整体性。
    3、如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程。

第 33 题

(  )开发过程模型最不适用开发初期对软件需求缺乏准确全面认识的情况。

  • (A) 瀑布
  • (B) 演化
  • (C) 螺旋
  • (D) 增量

答案与解析

  • 试题难度:容易
  • 知识点:软件工程>开发模型
  • 试题答案:[[A]]
  • 试题解析:
    瀑布模型是一种经典的开发模型,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。
    瀑布模型的突出缺点是不适应用户需求的变化。

第 34 题

一个程序根据输入的年份和月份计算该年中该月的天数,输入参数包括年份(正整数)、月份(用1~12表示)。若用等价类划分测试方法进行测试,则(  )不是一个合适的测试用例(分号后表示测试的输出)。

  • (A) (2013,1,31)
  • (B) (0,1,‘错误’)
  • (C) (0,13,‘错误’)
  • (D) (2001,-1,‘错误’)

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>黑盒测试
  • 试题答案:[[C]]
  • 试题解析:
    测试用例编写一般原则:
    1、设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;
    2、设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。
    在本题中,C选项同时覆盖了两个无效等价类,所以不符合测试用例编写的一般原则。

第 35 题

(  )不是单元测试主要检查的内容。

  • (A) 模块接口
  • (B) 局部数据结构
  • (C) 全局数据结构
  • (D) 重要的执行路径

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>测试阶段任务及其他测试
  • 试题答案:[['C']]
  • 试题解析:
    单元测试测试以下内容:模块接口,局部数据结构,执行路径,错误处理和边界。
    在单元测试开始时,应该对通过所有被测模块的数据流进行测试。
    ①输入参数是否与形式参数是否一致。
    ②调用模块的实参与被调用模块形参是否一致。
    ③全局变量在各模块中的定义和用法是否一致
    ④外部输入、输出等等。

第 36 题

在领域类模型中不包含(  )。

  • (A) 属性
  • (B) 操作
  • (C) 关联
  • (D) 领域对象

答案与解析

  • 试题难度:较难
  • 知识点:面向对象技术>UML图的定义
  • 试题答案:[[D]]
  • 试题解析:

    在领域类模型中会涉及描述类自身情况的属性与操作,还会有描述类之关系的关联,但不会有对象层次的内容。

第 37 题

在执行如下所示的UML活动图时,能同时运行的最大线程数为(  )。

  • (A) 4
  • (B) 3
  • (C) 2
  • (D) 1

答案与解析

  • 试题难度:一般
  • 知识点:面向对象技术>UML图的图示
  • 试题答案:[[C]]
  • 试题解析:

    粗实线表示并发,本题图中上面的粗实线表示并发分支,下面的粗实线表示并发汇合,图中并发分支最多有2条支线,因此,该活动图能同时运行的最大线程数为2。

第 38 题

下图所示的UML序列图中,(  )表示返回消息,Account应该实现的方法有(  )。

  • (A) xfer
  • (B) check
  • (C) evaluation
  • (D) minus
  • (A) xfer()
  • (B) xfer()、plus()和minus()
  • (C) check()、plus()和minus()
  • (D) xfer()、evaluation()、plus()和minus()

答案与解析

  • 试题难度:一般
  • 知识点:面向对象技术>UML图的图示
  • 试题答案:[[C],[B]]
  • 试题解析:
    序列图主要用于按照交互发生的一系列顺序,显示对象之间的这些交互。以本题为例,第1个消息——xfer(m:Money,a2)表示外部有对象要调取a1这个对象的xfer()操作。而evaluation就是在a1调用john的check()操作之后的一个消息反馈。
    在整个图中, evaluation是一个消息反馈,不需要由Account来实现,而check()操作应由Person实现,而非Account。所以Account需要实现的包括:xfer()、plus()和minus()。

第 39 题

(  )设计模式定义一系列算法,把它们一个个封装起来,并且使它们可相互替换。这一模式使得算法可独立于它的客户而变化。

  • (A) 策略(Strategy)
  • (B) 抽象工厂(Abstract Factory)
  • (C) 观察者(Observer)
  • (D) 状态(State)

答案与解析

  • 试题难度:一般
  • 知识点:面向对象技术>设计模式的应用场景
  • 试题答案:[[A]]
  • 试题解析:
     
    A选项:策略模式(Strategy):定义一系列算法,把它们一个个封装起来,并且使它们之间可互相替换,从而让算法可以独立于使用它的用户而变化。
    B选项:抽象工厂模式(Abstract Factory):提供一个接口,可以创建一系列相关或相互依赖的对象,而无需指定它们具体的类。
    C选项:观察者模式(有时又被称为发布-订阅Subscribe>模式、模型-视图View>模式、源-收听者Listener>模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。
    D选项:状态模式(State):允许一个对象在其内部状态改变时改变它的行为。

    本题题干描述属于策略模式。
     

第 40 题

在发布-订阅(Publish-Subscibe)消息模式中,订阅者订阅一个主题后,当该主题有新消息到达时,所有订阅者都会收到通知。(  )设计模式最适合之一模式。

  • (A) 适配器(Adapter)
  • (B) 通知(Notifier)
  • (C) 状态(State)
  • (D) 观察者(Observer)

答案与解析

  • 试题难度:一般
  • 知识点:面向对象技术>设计模式的应用场景
  • 试题答案:[[D]]
  • 试题解析:
    观察者模式(有时又被称为发布-订阅Subscribe>模式、模型-视图View>模式、源-收听者Listener>模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。
    适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。
    状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。

第 41 题

下图所示为(  )设计模式,适用于(  )。

  • (A) 组件(Component)
  • (B) 适配器(Adapter)
  • (C) 组合(Composite)
  • (D) 装饰器(Decorator)
  • (A) 表示对象的部分-整体层次结构
  • (B) 不希望在抽象和它的实现部分之间有一个固定的绑定关系
  • (C) 在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责
  • (D) 使所有接口不兼容类可以一起工作

答案与解析

  • 试题难度:一般
  • 知识点:面向对象技术>设计模式的图
  • 试题答案:[[C],[A]]
  • 试题解析:
    本题中的图,即为组合模式的标准UML图示。
    组合模式将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。

第 42 题

将高级语言程序翻译为机器语言程序的过程中,常引入中间代码,其好处是(  )。

  • (A) 有利于进行反编译处理
  • (B) 有利于进行与机器无关的优化处理
  • (C) 尽早发现语法错误
  • (D) 可以简化语法和语义分析

答案与解析

  • 试题难度:一般
  • 知识点:程序设计语言基础>中间代码
  • 试题答案:[['B']]
  • 试题解析:

    中间代码是源程序的一种内部表示,或称中间语言。中间代码的作用是可使编译程序的结构在逻辑上更为简单明确,特别是可使目标代码的优化比较容易实现中间代码,即为中间语言程序,中间语言的复杂性介于源程序语言和机器语言之间。中间语言有多种形式,常见的有逆波兰记号、四元式、三元式和树。

第 43 题

对高级语言源程序进行编译的过程中,有穷自动机(NFA或DFA)是进行(  )的适当工具。

  • (A) 词法分析
  • (B) 语法分析
  • (C) 语义分析
  • (D) 出错处理

答案与解析

  • 试题难度:一般
  • 知识点:程序设计语言基础>有限自动机
  • 试题答案:[[A]]
  • 试题解析:
    编译程序的功能是从源代码(通常为高级语言)到能直接被计算机或虚拟机执行的目标代码(汇编语言或机器语言)的翻译过程。工作过程分为6个阶段:词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成。
    各个阶段逻辑上可以分为前端和后端。前端主要负责解析输入的源代码,由语法分析器和语意分析器协同工作。语法分析器负责把源代码中的‘单词’找出来,语意分析器把这些分散的单词按预先定义好的语法组装成有意义的表达式、语句、函数等等。前端还负责语义的检查,例如检测参与运算的变量是否是同一类型的,简单的错误处理。最终的结果常常是一个抽象的语法树,这样后端可以在此基础上进一步优化处理。
    后端编译器后端主要负责分析,优化中间代码以及生成机器代码。
    有限自动机是进行词法分析的工具。

第 44 题

 若有关系R(A,B,C,D,E)和S(B,C,F,G),则R与S自然联结运算后的属性列有(  )个,与表达式π1,3,6,7(σ3<6(R∞S))等价的SQL语句如下:
SELECT(  )FROM(  )WHERE(  );

  • (A) 5
  • (B) 6
  • (C) 7
  • (D) 9
  • (A) A,R.C,F,G
  • (B) A,C,S.B,S.F
  • (C) A,C,S.B,S.C
  • (D) R.A,R.C,S.B,S.C
  • (A) R
  • (B) S
  • (C) RS
  • (D) R,S
  • (A) R.B= S.B AND R.C = S.C AND R.C<S.B
  • (B) R.B= S.B AND R.C = S.C AND R.C<S.F
  • (C) R.B= S.B OR R.C = S.C OR R.C<S.B
  • (D) R.B= S.B OR R.C = S.C OR R.C<S.F

答案与解析

  • 试题难度:一般
  • 知识点:数据库系统>普通查询语句
  • 试题答案:[[C],[A],[D],[B]]
  • 试题解析:

    关系R(A,B,C,D,E)和S(B,C,F,G)做自然连接时,会以两个关系公共字段做等值连接,然后将操作结果集中重复列去除,所以运算后属性列有7个。
    接下来分析关系表达式的SQL形式,题目中关系表达式先进行了R与S的自然连接。得到的结果集为:R∞S(R.A,R.B,R.C,R.D,R.E,S.F,S.G)。此后的选择操作“σ3<6”可表达为“σR.C<S.F”;最后进行投影操作“π1,3,6,7”即选出结果集的第1,3,6,7列,对应的列为:R.A,R.C,S.F,S.G(由于无重复字段,A,C,F,G及A,R.C,F,G或其它等价形式均可)。

第 45 题

在分布式数据库系统中,(  )是指用户无需知道数据存放的物理位置。

  • (A) 分片透明
  • (B) 复制透明
  • (C) 逻辑透明
  • (D) 位置透明

答案与解析

  • 试题难度:一般
  • 知识点:数据库系统>分布式数据库
  • 试题答案:[[D]]
  • 试题解析:

    分布透明性是指用户不必关心数据的逻辑分片,不必关心数据存储的物理位置分配细节,也不必关心局部场地上数据库的数据模型。分布透明性包括分片透明性、位置透明性和局部数据模型透明性。
    (1)分片透明性。分片透明性是分布透明性的最高层次,它是指用户或应用程序只对全局关系进行操作而不必考虑数据的分片。当分片模式改变时,只要改变全局模式到分片模式的映射,而不影响全局模式和应用程序。全局模式不变,应用程序不必改写。
    (2)位置透明性。位置透明性是指用户或应用程序应当了解分片情况,但不必了解片段的存储场地。当存储场地改变时,只要改变分片模式到分配模式的映射,而不影响应用程序。同时,若片段的重复副本数目改变了,数据的冗余改变了,但用户不必关心如何保持各副本的一致性,这也提供了重复副本的透明性。
    (3)局部数据模型透明性。局部数据模型透明性是指用户或应用程序应当了解分片及各片断存储的场地,但不必了解局部场地上使用的是何种数据模型。

第 46 题

计算机系统的软硬件故障可能会造成数据库中的数据被破坏。为了防止这一问题,通常需要(  ),以便发生故障时恢复数据库。

  • (A) 定期安装DBMS和应用程序
  • (B) 定期安装应用程序,并将数据库做镜像
  • (C) 定期安装DBMS,并将数据库作备份
  • (D) 定期将数据库作备份;在进行事务处理时,需要将数据更新写入日志文件

答案与解析

  • 试题难度:容易
  • 知识点:数据库系统>数据库备份与恢复
  • 试题答案:[[D]]
  • 试题解析:

    计算机系统的软硬件故障可能会造成数据库中的数据被破坏。为了防止这一问题,通常需要做数据库的备份,定期安装DBMS及应用程序是没有必要的。

第 47 题

以下关于线性表存储结构的叙述,正确的是(  )。

  • (A) 线性表采用顺序存储结构时,访问表中任意一个指定序号元素的时间复杂度为常量级
  • (B) 线性表采用顺序存储结构时,在表中任意位置插入新元素的运算时间复杂度为常量级
  • (C) 线性表采用链式存储结构时,访问表中任意一个指定序号元素的时间复杂度为常量级
  • (D) 线性表采用链式存储结构时,在表中任意位置插入新元素的运算时间复杂度为常量级

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>顺序表与链表
  • 试题答案:[['A']]
  • 试题解析:

    线性表采用顺序存储结构时,访问表中任意一个指定序号元素的时间复杂度为常量级,因为顺序存储结构访问元素时,能直接定位元素,这样,操作的时间复杂度为O(1)。而插入一个元素时,需要将其他的元素位置进行调整,因此任意位置插入新元素的时间复杂度为O(n)。
    线性表采用链式存储结构时,访问表中的任意一个指定序号元素时,需要从起始位置,通过指针指向,直到到达指定位置,才能访问该元素,时间复杂度为O(n)。而插入一个新元素时,找到任意位置的时间复杂度为O(n),而插入可以直接通过改变指针指向进行插入,时间复杂度为O(1),因此任意位置插入新元素整个操作的时间复杂度为O(n)。
    因此本题只有A选项是正确的。

第 48 题

设循环队列Q的定义中有front和size两个域变量,其中front表示队头元素的指针,size表示队列的长度,如下图所示(队列长度为3,队头元素为x,队尾元素为z)。设队列的存储空间容量为M,则队尾元素的指针为(  )。

  • (A) (Q.front+Q.size-1)
  • (B) (Q.front+Q.size-1+M)%M
  • (C) (Q.front-Q.size)
  • (D) (Q.front-Q.size+M)%M

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>队列与栈
  • 试题答案:[[B]]
  • 试题解析:

    本题考查循环队列队尾指针的计算方法。
    从图示可以看出,要得到z的值可进行Q.front+Q.size-1操作,但在此不容忽视的一个问题是,循环队列在进行了多次入队出队操作之后,Q.front+Q.size-1有可能大于M,如Q.front 指向M-1空间时,Q.front+Q.size-1=M+1,这已超出队列长度,所以需要让其与M进行求模操作,修正位置号。

第 49 题

在一个有向图G的拓扑序列中,顶点Vi排列在Vj之前,说明图G中(  )。

  • (A) 一定存在弧<vi,vj>
  • (B) 一定存在弧<vj,vi>
  • (C) 可能存在vi到vj的路径,而不可能存在vj到vi的路径
  • (D) 可能存在vj到vi的路径,而不可能存在vi到vj的路径

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>图的定义及存储
  • 试题答案:[[C]]
  • 试题解析:

    拓扑序列是拓扑排序的产出物。对一个有向无环图G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。由此可见,如果Vi排列在Vj之前,说明可能存在vi到vj的路径,而不可能存在vj到vi的路径。

第 50 题

以下关于哈夫曼树的叙述,正确的是(  )。

  • (A) 哈夫曼树一定是满二叉树,其每层结点数都达到最大值
  • (B) 哈夫曼树一定是平衡二叉树,其每个结点左右子树的高度差为-1、0或1
  • (C) 哈夫曼树中左孩子结点的权值小于父节点、右孩子节点的权值大于父节点
  • (D) 哈夫曼树中叶子节点的权值越小则距离树根越远、叶子结点的权值越大则距离树根越近

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>最优二叉树(哈夫曼树)
  • 试题答案:[[D]]
  • 试题解析:

    给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。所以D选项的说法正确。
    在构造哈夫曼树的过程中不能保证一定是完全树或是平衡树,因此A、B选项错误,而对于哈夫曼树左右孩子结点的权值之和构造其父结点,因此父结点权值一定大于其左右孩子结点,因此C选项错误。

第 51 题

 某哈希表(散列表)的长度为n,设散列函数为H(Key) = Key mod p,采用线性探测法解决冲突。以下关于P值的叙述中,正确的是(  )。

  • (A) p的值一般为不大于n且最接近n的质数
  • (B) p 的值一般为大于n的任意整数
  • (C) p 的值必须为小于n的合数
  • (D) p 的值必须等于n

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>散列表(哈希)
  • 试题答案:[['A']]
  • 试题解析:

    在采用散列表进行数据存储时,散列函数中p的取值是非常重要的,因为该取值直接影响冲突发生率,所以p的值一般会取接近于元素个数n但是要小于n的质数。
    例如你n取20,那么P最好是19。

第 52 题

对n个基本有序的整数进行排序,若采用插入排序算法,则时间和空间复杂度分别为(  );若采用快速排序算法,则时间和空间复杂度分别为(  )。

  • (A) O(n2)和O(n)
  • (B) O(n)和O(n)
  • (C) O(n2)和O(1)
  • (D) O(n)和O(1)
  • (A) O(n2)和O(n)
  • (B) O(nlgn)和O(n)
  • (C) O(n2)和O(1)
  • (D) O(nlgn)和O(1)

答案与解析

  • 试题难度:较难
  • 知识点:数据结构与算法基础>排序
  • 试题答案:[['D'],['C']]
  • 试题解析:

    本题考查算法分析的基础知识。排序和查找是基本的计算问题。存在很多相关的算法,不同的算法适用于不同的场合。不同的数据输入特点相同的算法也有不同的计算时间。若数据基本有序,对插入排序算法而言,则可以在近似线性时间内完成排序。即
    O(n);而对于快速排序而言,则是其最坏情况,需要二次时间才能完成排序,即O(n2)。两个算法在排序时仅需要一个额外的存储空间,即空间复杂度为常数O(1)。(这里比较特殊,基本有序的情况下,快速排序因为不需要做交换处理,所以不需要存储额外数据,每一轮记录一次基准数值,空间复杂度只需要O(1)。)

     

第 53 题

在求解某问题时,经过分析发现该问题具有最优子结构性质,求解过程中子问题被重复求解,则采用(  )算法设计策略;若定义问题的解空间,以深度优先的方式搜索解空间,则采用(  )算法设计策略。

  • (A) 分治
  • (B) 动态规划
  • (C) 贪心
  • (D) 回溯
  • (A) 动态规划
  • (B) 贪心
  • (C) 回溯
  • (D) 分支限界

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>动态规划法
  • 试题答案:[[B],[C]]
  • 试题解析:

    分治法的设计思想是将一个难以直接解决的大问题分解成一些规模较少的相同问题以便各个击破,分而治之。
    动态规划法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划法求解的问题,经分解得到的子问题往往不是独立的。若用分治法来解这类问题,则相同的子问题会被求解多次,以至于最后解决原问题需要耗费指数级时间。动态规划法可求解的问题一般具有最优子结构和重叠子问题,因此本题第一空选择B选项动态规划法。
    贪心法经常用于解决最优化问题,但他的最优往往是从局部最优来考虑的,每一步都选最优的方案,但这种方案不一定能得到整体上的最优解。
    回溯法是一种既带有系统性又带有跳跃性的搜索算法。它在包含问题的所有解的解空间树中,按照深度优先的策略,从根节点出发搜索解空间树。因此本题第二空选择C选项回溯法。

第 54 题

某单位局域网配置如下图所示,PC2发送到Internet上的报文源IP地址为(  )。

  • (A) 192.168.0.2
  • (B) 192.168.0.1
  • (C) 202.117.112.1
  • (D) 202.117.112.2

答案与解析

  • 试题难度:一般
  • 知识点:计算机网络>子网划分与路由汇聚
  • 试题答案:[[D]]
  • 试题解析:

    在该拓扑图中有一台代理服务器,该服务器外卡连接了因特网,内卡连接了内部网络。代理服务器除了代理内部网络的Web请求外,还可以通过NAT实现代理服务器功能访问internet,起到了隐藏内部网络细节的作用。对于因特网上的用户而言,看不到企业内网网络,唯一能看到的是代理服务器外卡接口地址。PC2发送到Internet上的报文源IP地址为会由192.168.0.2/24转变成代理服务器外卡地址202.117.112.2/30。

第 55 题

在IPv4向IPv6过渡期间,如果要使得两个IPv6结点可以通过现有的IPv4网络进行通信,则应该使用(  );如果要使得纯IPv6结点可以与纯IPv4结点进行通信,则需要使用(  )。

  • (A) 堆栈技术
  • (B) 双协议栈技术
  • (C) 隧道技术
  • (D) 翻译技术
  • (A) 堆栈技术
  • (B) 双协议栈技术
  • (C) 隧道技术
  • (D) 翻译技术

答案与解析

  • 试题难度:一般
  • 知识点:计算机网络>IPv6
  • 试题答案:[[C],[D]]
  • 试题解析:

    IPv4和IPv6的过渡期间,主要采用三种基本技术。
    (1)双协议栈:主机同时运行IPv4和IPv6两套协议栈,同时支持两套协议。
    (2)隧道技术:这种机制用来在IPv4网络之上连接IPv6的站点,站点可以是一台主机,也可以是多个主机。隧道技术将IPv6的分组封装到IPv4的分组中,封装后的IPv4分组将通过IPv4的路由体系传输,分组报头的“协议”域设置为41,指示这个分组的负载是一个IPv6的分组,以便在适当的地方恢复出被封装的IPv6分组并传送给目的站点。
    (3)NAT-PT :利用转换网关来在IPv4和IPv6网络之间转换IP报头的地址,同时根据协议不同对分组做相应的语义翻译,从而使纯IPv4和纯IPv6站点之间能够透明通信。

第 56 题

POP3协议采用(  )模式进行通信,当客户机需要服务时,客户端软件与POP3服务器建立(  )连接。

  • (A) Browser/Server
  • (B) Client/Server
  • (C) Peer to Peer
  • (D) Peer to Server
  • (A) TCP
  • (B) UDP
  • (C) PHP
  • (D) IP

答案与解析

  • 试题难度:一般
  • 知识点:计算机网络>常见TCP/IP协议基础
  • 试题答案:[[B],[A]]
  • 试题解析:

    POP3(Post Office Protocol 3)即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器接收邮件的协议。它是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。POP3协议是TCP/IP协议族中的一员,由RFC 1939 定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。
    POP3协议采用的是C/S结构,同时该协议基于传输层TCP协议,所以客户端软件与POP3服务器会建立可靠的连接——TCP连接。

第 57 题

There is nothing in this world constant but inconstancy.--SWIFT

Project after project designs a set of algorithms and then plunges into construction of customer-deliverable software on a schedule that demands delivery of the first thing built.

In most projects,the first system built is(  )usable,It may be too slow,too big,awkward to use,or all three.There is no (  )but to start again,smarting but smarter,and build a redesigned version in which these problems are solved.The discard and(  )may be done in one lump,or it may be done piece-by-piece.But all large-system experience shows that it will be done.Where a new system concept or new technology is used,one has to build a system to throw away,for even the best planning is not so omniscient(全知的)as to get it right the first time.

The management question,therefore ,is not whether to build a pilot system and throw it away.You will do that.The only question is whether to plan in advance to build a(  ),or to promise to deliver the throwaway to customers.Seen this way,the answer is much clearer.Delivering that throwaway to customers buys time,but it does so only at the(  )of agony(极大痛苦)for the user,distraction for the builders while they do the redesign,and a bad reputation for the product that best redesign will find hard to live down.

Hence plan to throw one away;you will,anyhow.

  • (A) almost
  • (B) often
  • (C) usually
  • (D) barely
  • (A) alternative
  • (B) need
  • (C) possibility
  • (D) solution
  • (A) design
  • (B) redesign
  • (C) plan
  • (D) build
  • (A) throwaway
  • (B) system
  • (C) software
  • (D) product
  • (A) worth
  • (B) value
  • (C) cost
  • (D) invaluable

答案与解析

  • 试题难度:一般
  • 知识点:专业英语>专业英语
  • 试题答案:[[D],[A],[B],[A],[C]]
  • 试题解析:不变只是愿望,变化才是永恒。—SWIFT
    一个接一个的软件项目都是一开始设计算法,然后将算法应用到待发布的软件中,接着根据时间进度把第一次开发的产品发布给客户。
    对于大多数项目,第一个开发的系统并不适用。它可能太慢、太大、难以使用,或者三者兼有。要解决所有的问题,除了重新开始以外,没有其他的办法—即开发一个更灵巧或者更好的系统。系统的丢弃和重新设计可以一步完成,也可以一块块地实现。所有大型系统的经验都显示,这是必须完成的步骤。而且,新的系统概念或新技术会不断出现,因此开发的系统必须被抛弃,但即使是最优秀的项目计划也不能无所不知地在最开始就解决这些问题。
    因此,管理上的问题不再是“是否构建一个实验性的系统,然后抛弃它”,你必须这样做。现在的问题是“是否预先计划抛弃原型的开发,或者是否将该原型发布给用户”。从这个角度看待问题,答案更加清晰。将原型发布给用户,虽然可以获得时间,但是其代价高昂—对于用户,使用极其痛苦;对于重新开发的人员,分散了精力;对于产品,影响了声誉,即使是最好的再设计也难以挽回名声。
    因此,为舍弃而计划,无论如何,你一定要这样做。

results matching ""

    No results matching ""