腾讯2014校园招聘软件开发类笔试试题考试时长:120分钟一不定项选择题(共25题,每题4分,共100分,少选、错选、多选均不得分)1 已知一棵二叉树,如果先序遍历的节点顺序是:ADCEFGHB,中序遍历是:CDFEGHAB,则后序遍历结果为:(D)A.CFHGEBDA B.CDFEGHBA C.FGHCDEBA D.CFHGEDBA2 下列哪两个数据结构,同时具有较高的查找和删除性能?(CD)A.有序数组 B.有序链表 C.AVL树 D.Hash表3 下列排序算法中,哪些时间复杂度不会超过nlogn?(BC)A.快速排序 B.堆排序 C.归并排序 D.冒泡排序4 初始序列为1 8 6 25 4 7 3一组数采用堆排序,当建堆(小根堆)完毕时,堆所对应的二叉树中序遍历序列为:(A)A.8 3 2 5 1 6 4 7B.3 2 8 5 1 4 6 7C.3 8 2 5 1 6 7 4D.8 2 3 5 1 4 7 65 当n=5时,下列函数的返回值是:(A)int foo(int n){if(n<2)return n;return foo(n-1)+foo(n-2);}A.5 B.7 C.8 D.106 S市A,B共有两个区,人口比例为3:5,据历史统计A的犯罪率为0.01%,B区为0.015%,现有一起新案件发生在S市,那么案件发生在A区的可能性有多大?(C)A.37.5% B.32.5% C.28.6% D.26.1%7 Unix系统中,哪些可以用于进程间的通信?(BCD)A.Socket B.共享内存 C.消息队列 D.信号量8 静态变量通常存储在进程哪个区?(C)A.栈区 B.堆区 C.全局区 D.代码区9 查询性能(B)A.在Name字段上添加主键B.在Name字段上添加索引C.在Age字段上添加主键D.在Age字段上添加索引10 IP地址131.153.12.71是一个(B)类IP地址。
A.A B.B C.C D.D11 下推自动识别机的语言是:(C)A. 0型语言 B.1型语言 C.2型语言 D.3型语言12 下列程序的输出是:(D)#define add(a+b) a+bint main(){printf(“%d\n”,5*add(3+4));return 0;}A.23 B.35 C.16 D.1913 浏览器访问某页面,HTTP协议返回状态码为403时表示:(B)A 找不到该页面B 禁止访问C 内部服务器访问D 服务器繁忙14 如果某系统15*4=112成立,则系统采用的是(A)进制。
A.6 B.7 C.8 D.915 某段文本中各个字母出现的频率分别是{a:4,b:3,o:12,h:7,i:10},使用哈夫曼编码,则哪种是可能的编码:(A)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(00)D a(0000) b(0001) h(001) o(000) i(1)16 TCP和IP分别对应了OSI中的哪几层?(CD)A Application layerB Presentation layerC Transport layerD Network layer17 一个栈的入栈序列是A,B,C,D,E,则栈的不可能的输出序列是?(C)A.EDCBA B.DECBA C.DCEAB D.ABCDE18 同一进程下的线程可以共享以下?(BD)A. stack B.data section C.register set D.file fd19 对于派生类的构造函数,在定义对象时构造函数的执行顺序为?(D)1:成员对象的构造函数2:基类的构造函数3:派生类本身的构造函数A.123 B.231 C.321 D.21320 如何减少换页错误?(BC)A 进程倾向于占用CPUB 访问局部性(locality of reference)满足进程要求C 进程倾向于占用I/OD 使用基于最短剩余时间(shortest remaining time)的调度机制21 递归函数最终会结束,那么这个函数一定?(B)A 使用了局部变量B 有一个分支不调用自身C 使用了全局变量或者使用了一个或多个参数D 没有循环调用22 编译过程中,语法分析器的任务是(B)A分析单词是怎样构成的B 分析单词串是如何构成语言和说明的C 分析语句和说明是如何构成程序的D 分析程序的结构23 同步机制应该遵循哪些基本准则?(ABCD)A.空闲让进 B.忙则等待 C.有限等待 D.让权等待24 进程进入等待状态有哪几种方式?(D)A CPU调度给优先级更高的线程B 阻塞的线程获得资源或者信号C 在时间片轮转的情况下,如果时间片到了D 获得spinlock未果25 设计模式中,属于结构型模式的有哪些?(BC)A 状态模式B 装饰模式C 代理模式D 观察者模式二、填空题(共4题10个空,每空2分,共20 分)1 设有字母序列{Q,D,F,X,A,P,N,B,Y,M,C,W},请写出按二路归并方法对该序列进行一趟扫描后的结果为DQFXAPBNMYCW。
2 关键码序列(Q,H,C,Y,Q,A,M,S,R,D,F,X),要按照关键码值递增的次序进行排序,若采用初始步长为4的Shell的排序法,则一趟扫描的结果是QACSQDFXRHMY;若采用以第一个元素为分界元素的快速排序法,则扫描一趟的结果是FHCDQAMQRSYX。
3 二进制地址为011011110000,大小为(4)10和(16)10块的伙伴地址分别为:_________,_________。
4 设t是给定的一棵二叉树,下面的递归程序count(t)用于求得:二叉树t中具有非空的左、右两个儿子的结点个数N2;只有非空左儿子的个数NL;只有非空右儿子的结点个数NR和叶子结点个数N0。
N2,NL,NR、N0都是全局量,且在调用count(t)之前都置为0。
typedef struct node{int data;struct node *lchild,*rchild;}node;int N2,NL,NR,N0;void count(node *t){if (t->lchild!= NULL)if (t->rchild!= NULL) N2++;else NL++;else if (t->rchild!=NULL) NR++;else N0++;if(t->lchild!=NULL) count(t->lchild);if(t->rchild!=NULL) count(t->rchild);}/* call form :if(t!=NULL) count(t);*/三、其他方向简答题(共2题,每题20分),选作题,不计入总分)1 请设计一个排队系统,能够让每个进入队伍的用户都能看到自己在队列中所处的位置和变化,队伍可能随时有人加入和退出;当有人退出影响到用户的位置排名时需要及时反馈到用户。
2 A,B两个整数集合,设计一个算法求他们的交集,尽可能的高效。
1. 关于二叉树,下面说法正确的是()A. 对于N个节点的二叉树,其高度为nlog2n;B. 一个具有1025个节点的二叉树,其高度范围在11~1025之间C. 二叉树的先序遍历是EFHIGJK,中序遍历为HFIEJKG,该二叉树的右子树的根为GD. 二叉树中至少有一个节点的度为22. 假设函数f1的时间复杂度O(n),那么f1*f1的时间复杂度为()A. O(n)B. O(n*n)C. O(n*log(n))D. 以上都不对3. 对下列四种排序方法,在排序中关键字比较次数与记录初始化顺序无关的是()A. 直接排序B. 二分法插入C. 快速排序D. 归并排序4. 已知一段文本有1382个字符,使用了1382个字节存储,这段文本全部是由a、b、c、d、e字符组成,a 354次,b483次,c 227次,d 96次,e 222次,对这5个字符使用哈夫曼编码。
则以下说法正确的是?()A. 使用哈夫曼编码后,使用编码值来存储这段文本将花费最少的存储空间、B. 使用哈夫曼编码后,ab c d e 这5个字符对应的编码值是唯一确定的C. 使用哈夫曼编码后,ab c d e 这5个字符对应的编码值可以有多套,但每个字符的编码位数是确定的D. b这个字符的编码位数最短,d这个字符的哈夫曼编码位数应该最长5. 判断单链表有没有环的算法中,至少需要几个指针()A. 1B. 2C. 3D. 46. 在编译过程中,产生Parse tree的过程是()A. 语法分析B. 语义分析阶段C. 词法分析D. 目标代码生成阶段7. 阅读下面代码,程序会打印出来的值是()1. #include2. Void f(char **p){3. *p += 2;4. }5. Void main() {6. Char *a[] = { “123”,”abc”,”456”},**p;7. p = a;8. f(p);9. printf(“%s\r\n”,**p);10.}复制代码A. 123B. abcC. 456D. 38. Char p1[] = “Tencent”, void p2= malloc((10)在32位机器上sizeof(p1)和sizeof(p2)对应的值是()A. 8:0B. 4:10C. 8:4D. 4:49. 现在有以下两个函数,调用test的结果是()1. Char* getMem(void) { Char * p = “hello world ”;2. P[5] = 0x0;3. Return p;4. }5. Voidtest(void) { Char *s = 0x0;6. s = getMem();7. Printf(s);8. }复制代码A. helloB. 无输出C. Hello0worldD. 不确定10. 冯诺依曼体系结构计算机的基本原理是()A信息存储 B 存储智能C 数字控制D 存储程序和程序控制11. 求贡献12.下面哪种设计模式的定义为:定义对象间的一种一对多的关系,当一个对象改变时,其他依赖于他的对象都能够得到通知并自动更新。
()A. VisitorB. AdapterC. ObserverD. Interpreter13.请看一下这一段C++代码,如果编译后程序在windows下运行,则一下说话正确的是()Char*p1 = “123456”;Char*p2 = (char*)malloc(10);A. P1 he p2都存在栈中B. P2指向的10个字节内存在栈中C. 堆和栈在内存中的生长方向是相反的D. “123456”这6个字符存储在栈中14.将3个球随机放入4个杯子中,则杯子中球的最大个数为2的概率是()A. 9/16B. 3/4C. 3/8D. 3/1615.对n个元素的数组进行快速排序,所需要的二外空间为()A. O(1)B. O(n)C. O(log(2n)D. O(n^2))16.下面关于编译器与解释器的观点,错误的是()A. 解释器不产生目标程序,它直接执行源程序或者源程序的内部形式B. 解释程序和编译程序的主要区别在于是否产生目标程序C. 编译器对高级语言程序的处理过程划分成词法分析、语法分析、语义分析,中间代码生成、代码优化、目标代码生成几个阶段D. 解释器参与运行控制、程序执行的速度快17.假设系统中有5太设备,有多个进程需要使用2个设备,假定每个进程一次只能使用一台,则至多允许多少个进程来竞争这5个资源,而不会发生死锁()A. 2B. 3C. 4D. 518.下面哪些协议,存在源端口和目的端口是()A. IPB. TCPC. UDPD. ICMP协议19.下列哪些sql是等价的()A. Select A.tname ,A.depart fromteacher A joincourse B onB.tno = .A.tnoB. Select A.tname ,A.depart fromteacher A whereA.tno = course.tnoC. Select A.tname ,A.depart fromteacher wheretno in (select tno from course)D. Select A.tname ,A.depart fromteacher where exsist (select * from course B where B.tno = A.tno);20.某一磁盘请求序列(磁道号):98、183、37、122、14、124、65、61,按照先来先服务FCFS磁盘调度对磁盘进行请求服务,假设当前磁头在53道上,则磁臂总移动道数为:()A、169B、208C、640D、23621.将一个C类网络划分为3个子网,每个子网最少要容纳55台主机,使用的子网掩码是:()A、255.255.255.248B、255.255.255.224C、255.255.255.224D、255.255.255. 19222下列关于计算机硬件的描述,正确的是:()A、磁盘的平均存取时间指的是磁盘的寻道时间加上磁头在某一磁道等待记录扇区的时间B、计算机的控制器是由多种部件组成,其中包括,指令寄存器、程序计数器和算数逻辑单元C、一台计算机的字长是32位,表明该机器能处理的数值最多为4个字节D、系统总线可以分为数据总线、地址总线和控制总线三类23、假设有关系模式R(A,B,C,D),其数据依赖集:F={(A,B)->C,C->D},则关系模式R的规范化程度最高达到:()A.1NFB.2NFC.3NFD.BCNF24.以下为一段浏览器中可运行的Javascript 代码,则运行该段Javascript代码的页面弹出框中显示的结果是:()Var obj = { “key”:”1”,”value”:2};Var newObj = obj;newObj.value += obj.key;alert(obj.value);A、2B、12C、3D、2125.有足够量的2分、5分、1分硬币,如果想凑齐一元钱,可以有()种方法A、541B、270C、1024D、128填空题(共5题,每题4分,共20分)26、阅读下面代码:#defineMAX_NUM 1000+1int Temp = Max_NUM*10;则Temp的值为()27.某个单CPU操作系统抢占式进程调度策略。