腾讯2012实习生笔试题+答案解析
解答(欢迎共同讨论)转载请注明来源http://www.cnblogs.com/jerry19880126/
选择
- D。循环队列的front和rear必有一个不指向实质元素,不然无法判断队列满或空。
- C。是这样的原理,磁盘会一直朝某个方向旋转,不会因为处理数据而停止。本题要求顺序处理R1到R10,起始位置在R1,一周是20ms,共10个记录,所以每个记录的读取时间为2ms。首先读R1并处理R1,读R1花2ms,读好后磁盘处于R1的末尾或R2的开头,此时处理R1,需要4ms,因为磁盘一直旋转,所以R1处理好了后磁盘已经转到R4的开始了,这时花的时间为2+4=6ms。这时候要处理R2,需要等待磁盘从R5一直转到R2的开始才行,磁盘转动不可反向,所以要经过8*2ms才能转到R1的末尾,读取R2需要2ms,再处理R2需要4ms,处理结束后磁盘已经转到R5的开头了,这时花的时间为2*8+2+4=22ms。等待磁盘再转到R3又要8*2ms,加上R3自身2ms的读取时间和4ms的处理时间,花的时间也为22ms,此时磁盘已经转到R6的开头了,写到这里,大家已经可以看到规律了,读取并处理后序记录都为22ms,所以总时间为6+22*9=204ms。
- A。线性表的插入和删除,只要不是针对最后一个元素,都需要元素的搬家,最坏情况是O(n),排序用归并排序也要O(nlogn)的复杂度,其他基本排序算法最坏O(n^2)。
- A。(20+10+10+10+10+10)/100=70%,耐心点就能算出。
- C。操作系统,好比上地铁,旧的人先下来,新的人才能上去,所以页面调出为先,再是页面调入。页面调出之前又必须决定哪些页面需要调用。
- C。类似于哈夫曼编码,最上面根结点权值为23,它的某个孩子权值为14,另一个权值为9(实质结点),权值为14的又分出两个孩子,一个权值为7,另一个权值也为7,有一个是实质结点,另一个分出两个孩子,一个权值为5,另一个权值为2,这两个都是实质结点。所谓实质结点就是题目中的叶结点,非实质结点起辅助作用。带权路径长度即为长度的乘权求和。9的长度(距根结点的边的个数)为1,2的长度为3,5的长度为3,7的长度为2,这样结果为9*1+2*3+5*3+7*2=44。
- C。数据库是的记录可以重复,主键要求既是唯一的,也是非空的,数据库为每个主键默认建立索引,但用户可以通过CREATE INDEX另建其他索引,所以索引个数不唯一,非主键亦可有索引,B错误。D不一定。
- D。画一下就知道了。
- C。二叉查找树要求右结点比根结点大,左结点比根结点小。给出序列是递增的,所以C正确。
- A。进入目录都要x权限(执行权限),查看目录下的文件需要r权限(读权限)和x权限,因为相当于进入了目录。执行目录下某个可执行文件,需要进入目录的x权限,以及对该执行文件的x权限。
- C。三个私有IP地址范围:10.0.0.0-10.255.255.255,172.16.0.0-172.31.255.255,和192.168.0.0-192.168.255.255。末尾全0的表示一个网段,不用于单独的主机IP使用,x.x.0.1一般是路由器的IP地址(大多路由器产品IP地址为192.168.0.1或192.168.1.1)。末尾全1的(255)是广播地址,也不用于单独主机IP。
- B。物理地址(即实际存储地址)=基址+偏移。逻辑地址=偏移,3*8*1024+9612%8192
- C。解释如下,先分别求这六个数的余7后的结果,分别为3,4,4,0,3,6。列出一个表格,如下所示:
位置 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
记录 | 63 | 48 | 38 | 25 | 74 | 52 | |
查找次数 | 1 | 3 | 1 | 1 | 2 | 4 |
14. 不会。
15. B。已经基本有序了,bubble sort只要换一次就行了。
16. C,解释见评论,感谢@Sharmy Duan。
17. D。注意字符串常量后面有隐含的’\0’,指针的sizeof永远是4字节(32位系统)或8字节(64位系统),而不管指针是什么类型的,指针的类型只是决定了它指向的数据的类型。
18. A。依赖:用到了别人的方法或变量;关联:对称的,好比你是我的朋友,我也是你的朋友;聚合:非对称的,员工与公司就是聚合关系,还有一个重要特点就是生命周期可以不同,员工离开了公司还是可以活的;组合:生命周期一致,好比人与心脏,一个没了另一个也没了。强度:依赖<关联<聚合<组合。
19。 A。Log_70 1000000 = 3.25
20. B。
填空
- s1=0
- s2=s1
- s2=s1
- s1<0
- s1=0
- employee[j].Id!=Id
- ++N
- Employee[i].Salary-BASE
- K>=paylevel[j]
- K-paylevel[j-1]