试卷详情

2016年下半年《程序员》真题

开始做题

试卷预览

单选题

( )refers to the process of testing and then eliminating errors.

查看答案开始考试

正确答案:A

本题解析:

此意是讲改bug是需要根据程序程序测试的结果然后去消除各种错误。

单选题

A good program should be( )by programmers other than the person who wrote it.

查看答案开始考试

正确答案:B

本题解析:

译文:好的程序应该是可理解的,能够被其他程序员( 非编写者 )理解。

单选题

Since tablet computers and smart phones have( )interface, many people believe that all home and business computers will eventually have this kind of interface too.

查看答案开始考试

正确答案:C

本题解析:

此意是讲由于平板电脑和手机已经有触屏接口,人们相信以后的家用和商用电脑最终也会有各种接口出现。

单选题

Windows系统中定义了一些用户组,拥有完全访问权的用户组是( )。

查看答案开始考试

正确答案:C

本题解析:

Windows系统中定义了一些用户组,

windows系统中常见用户类型:

系统管理员:administrator、自行建立的用户,其中 Administrators是管理员用户组,拥有完全访问权的用户组是Administrators。

Power USER:高权限用户,仅次于系统管理员,拥有部分修改系统的权限

User:一般用户,通常是用户建立的用户

Guest:匿名客户,低权限用户,不具备修改系统权限,通常只能运行系统认证过的程序

单选题

某高校人事管理系统中,规定讲师每课时的教学酬金不能超过100元,副教授每课时的教学酬金不能超过130元,教授每课时的教学酬金不能超过160元。这种情况下所设置的数据完整性约束条件称之为( )。

查看答案开始考试

正确答案:B

本题解析:

此题考查数据库完整性知识,完整性包括主键完整性,参照完整性和自定义完整性,自定义完整性是用户根据自己的实际需求定义的一些约束,如题所述的情况就属于自定义完整性。

单选题

以下关于软件测试的叙述中,不正确的是( )。

查看答案开始考试

正确答案:B

本题解析:

系统建设的出资方只负责出资及验收软件是否达到使用方要求,不可能涉及到测试方面的工作,测试工作是由开发方负责的,是在软件的需求阶段就开始提出来的。

单选题

UML中关联是一个结构关系,描述了一组链。两个类之间( )。

查看答案开始考试

正确答案:B

本题解析:

此题也是考查对UML的基础,UML中的关系有四种,即关联,泛化,实现,依赖,关联包括组合和聚合,它是一种结构化关系,用于表示一类对象与另一类对象之间的联系,如客户与订单的关系,每个订单对应特定的客户,每个客户对应一些特定的订单,再如队员与球队之间的联系也是关联。

单选题

搜索引擎会通过日志文件把用户每次检索使用的所有查询串都记录下来,每个查询串的长度不超过255字节。假设目前有一千万个查询记录(重复度比较高,其实互异的查询串不超过三百万个;显然,一个查询串的重复度越高,说明查询它的用户越多,也就是越热门)。现要统计最热门的1 0个查询串,且要求使用的内存不能超过1GB。以下各方法中,可行且效率最高的方法是( )。

查看答案开始考试

正确答案:C

本题解析:

此题也是考查对基本算法的理解运用,首先快速排序方法是不适合于这种情况的,由于重复度比较高,因此事实上只有300万的Query,每个Query255Byte, 可以考虑把他们都放进内存中去,300万X255=765M,不会超过1G,因此可以用Hash_Map的思路。先对这批海量数据预处理(维护一个Key为Query字串,Value为该Query出现次数的HashTable,即hash_map(Query,Value),每次读取一个Query,如果该字串不在Table中,那么加入该字串,并且将Value值设为1;如果该字串在Table中,那么将该字串的计数加1即可。最终我们在O(N)的时间复杂度内用Hash表完成了统计;第二步、借助堆这个数据结构,找出Top K,时间复杂度为N‘logK。即借助堆结构,我们可以在log量级的时间内查找和调整/移动。因此,维护一个K(该题目中是10)大小的小根堆,然后遍历300万的Query,分别和根元素进行对比,采用最小堆这种数据结构代替数组,把查找目标元素的时间复杂度降到了0(logk),我们最终的时间复杂度是:O(N) + N*O(logK)。(N为1000万,N’为300万)。这是一道百度面试题。

单选题

对于一般的树结构,可以采用孩子-兄弟表示法,即每个结点设置两个指针域,一个指针(左指针)指示当前结点的第一个孩子结点,另一个指针(右指针)指示当前结点的下一个兄弟结点。某树的孩子-兄弟表示如下图所示。以下关于结点D与E的关系的叙述中,正确的是( )。

初级程序员,历年真题,2016年下半年《程序员》真题

查看答案开始考试

正确答案:D

本题解析:

此题考查数据结构中对树的理解,首先要搞清楚树的基本概念,如什么是根,节点,兄弟,孩子,双亲等,树可以采用顺序存储,即使用数组,也可以使用链式存储,即使用两个指针或者三个指针,根据原图转换成我们习惯的父结点-孩子结点树,如下所示:

初级程序员,历年真题,2016年下半年《程序员》真题

可以看出,结点E的父结点与结点D是兄弟。

当然也可以这样理解:结点E的父结点是C,C和结点D是兄弟,因此结点E的父结点与结点D是兄弟。选择D选项。

单选题

设元素a、b、c、d依次进入一个初始为空的栈,则不可能通过合法的栈操作序列得到( )。

查看答案开始考试

正确答案:C

本题解析:

此题考查栈的基础,在abcd入栈的过程中,入a出a,入b出b,入c出c,入d出d,即形成了A的次序,abcd全部入栈,然后全部出栈就形成了D的次序,先入ab,再出ba,再入cd,再出dc就形成了B的次序,所以C的次序是不可能的。

其他考生还关注了更多 +