腾讯 2014校招研发笔试题
试卷类型:软件开发A1 考试时长:120分钟
一、不定向选择题(共25题,每题4分,共100分,多选、错选、少选不得分)
1.已知一棵二叉树,如果先序遍历的节点顺序是:ADCEFGHB,中序遍历是:CDFEGHAB,则后序遍历结果是?
A.CFHGEBDA B. CDFEGHBA C. FGHCDEBA D.CFHGEDBA
2. 下列哪两个数据结构,同时具有较高的查找和删除性能?
A. 有序数组 B. 有序链表 C. AVL树 D. Hash表
3. 下列排序算法中,那些的时间复杂度不会超过nlogn?
A. 快速排序 B. 堆排序 C. 归并排序 D. 冒泡排序
4. 初始顺序为:1 8 6 2 5 4 7 3一组数采用堆排序,当建堆(小根堆)完毕时,堆所对应的二叉树中序遍历序列为?
A. 8 3 25 1 6 4 7 B. 3 2 8 5 1 4 6 7 C. 3 8 2 5 1 6 7 4 D. 8 2 3 5 1 4 7 6
5. 当n=5时,下列函数的返回值是?
int foo(intn)
{
if(n<=2)
returnn;
return foo(n-1) + foo(n-2);
}
A. 5 B. 7 C. 8 D. 10
6.S市A, B共有两个区,人口比例为3:5,据历史统计A区的犯罪率为0.01%,B区为0.015%,现在有一起新案件发生在S市,那么案件发生在A区的可能性有多大?
A. 37.5% B. 32.2% C. 28.6% D. 26.1%
7. Unix系统中,下列哪些可以用于进程间通信?
A.socket B. 共享内存 C. 消息队列 D. 信号量
8. 静态变量通常储存在进程个中的哪一区?
A. 栈区 B. 堆区 C. 全局区 D. 代码区
9. 查询性能 。
A. 在Name字段上添加主键 B. 在Name字段上添加索引
C. 在Age字段上添加主键 D. 在Age字段上添加索引
10. IP地址131.153.12.71是一个 类IP地址。
A.A B. B C. C D. D
11. 下推自动机识别的语言是?
A. O型语言 B. I型语言 C. 2型语言 D. 3型语言
12. 下列程序的输出是?
#defineadd(a, b) a+b
intmain()
{
printf(“%d\n”, 5*add(3, 4));
return 0;
}
A.23 B. 35 C. 16 D. 19
13. 浏览器访问某页面,HTTP协议返回状态码403表示
A. 找不到该页面 B. 禁止访问 C. 内部服务器错误 D. 服务器繁忙
14. 如果某系统15 * 4 = 112成立,则系统采用的是 进制。
A.6 B. 7 C. 8 D. 9
15. 某段文本中各个字母出现的频率分别是{a:4, b:3, o:12, h:7, i:10 },使用huffman编码,则那种是可能的编码?
A. a(000),b(001), h(01), i(10), o(11)
B. a(0000),b(0001), h(001), o(01), i(1)
C. a(000),b(001), h(01), i(10), o(000)
D. a(0000),b(0001), h(001), o(000), i(1)
16. TCP和IP分别对应了OSI中的哪几层?
A.Application layer B. Presentationlayer C. Transport layer D. Network layer
17. 一个栈的入栈序列是ABCDE,则栈不可能输出序列是?
A.EDCBA B. DECBA C. DCEAB D. ABCDE
18. 同一进程下的线程可以共享以下?
A.stack B. data station C. register set D. file fd
19. 对于派生类的构造函数,在定义对象时构造函数的执行顺序为?
1:成员对象的构造函数 2:基类的构造函数 3:派生类本身的构造函数
A.123 B. 231 C. 321 D. 213
20. 如何减少换页错误?
A. 进程倾向于占用CPU B. 访问局部性(locality of reference)满足进程要求
C. 进程倾向于占用I/O D. 使用依据最短剩余时间(shortest remaining time)的调度机制
21. 递归函数最终会结束,那么这个函数一定?
A. 使用了局部变量 B. 有一个分支不调用自身
C. 使用了全局变量或者一个或多个参数 D. 没有循环调用
22. 编译过程中,语法分析器的任务是 。
A. 分析单词是怎样构成的 B. 分析单词串是如何构成语句和说明的
C. 分析语句和说明是如何构成程序的 D.分析程序的结构
23. 同步机制应遵循哪些基本准则?
A. 空闲让进 B. 忙则等待 C. 有限等待 D. 让权等待
24. 进程进入等待状态有哪几种方式?
A. CPU调度给优先级更高的线程 B.阻塞的线程获得资源或者信号
C. 在时间片轮转的情况下,如果时间片到了 D. 获取spinlock未果
25. 设计模式中,属于结构型模式的是 。
A. 状态模式 B. 装饰模式 C. 代理模式 D. 观察者模式
二、填空题(共4题10个空,每个空2分,共20分)
1. 设有字母序列{Q, D, F, X, A, P, N, B, Y, M, C, W},请写出按2路归并排序方法对该序列进行一趟扫描后的结果是 【26】 。
2. 关键码序列(Q, H, C, Y, Q, A, M, S, R, D, F, X),要按照关键码值递增的次序进行排序,若采用初始步长为4的Shell排序,则一趟扫描的结果是 【27】 ,若采用以第一个元素为分界元素的快速排序,则扫描一趟的结果是 【28】 。
3. 二进制地址为011011110000,大小为(4)10和(16)10块的伙伴地址分别为 【29】 、 【30】 。
4. 设t是给定的一棵二叉树,下面的递归程序count(t)用于求得:二叉树t中具有非空的左右连个儿子的节点个数为N2;只有非空左儿子的个数NL;只有非空右儿子的节点个数NR和叶子节点个数N0。N2、NL、NR、N0都是全局量,且在调用count(t)之前都置0.
typedefstruct node { int data; struct node *lchild, *rchild;} node;
int N2,NL, NR, N0;
voidcount(node *t)
{
if(t->lchild != NULL) if【31】 N2++; else NL++;
else if【32】 NR++; else 【33】 ;
if(t->lchild !=NULL) 【34】 ; if(t->rchild !=NULL) 【35】 ;
} /* call form: if(t != NULL) count(t); */
三、Web前端方向简答题(共2题,每题20分,要求采用javascript语言大题,作为面试参考,不计入总分)
1. 请用JavaScript实现,控制一个文本框只能输入正整数,如输入不符合条件则文本框字体标红,要求写出完整的文本框HTML代码和JavaScript逻辑代码。
2. 在网页里显示一个div附赠,位于网页正中,该浮层内的文本显示用户电脑当前时间,格式YYYY-MM-DD hh:mm:ss,如2013-08-16 10:22:05,参考样式如下(略)
浮层居中可以用JavaScript或者CSS实现。
四、其他方向简答题(共2题,每题20分,选作1题,不计入总分)
1. 请设计一个排队系统,能够让每个进入队伍的用户都能看到自己在队列中所处的位置和变化,队伍可能随时有人加入和退出,当有人退出影响到用户的位置排名时需要及时反馈到用户。
2. A, B两个整数集合,设计一个算法求它们的交集,尽可能高效。