2014年腾讯暑假实习软件开发笔试题汇总

2014腾讯校园招聘实习笔试题目广州站

1.   关于二叉树,以下说法正确的是()

A.  对于N个节点的二叉树,其高度为nlog2n;

B.   一个具有1025个节点的二叉树。其高度范围在11~1025之间

C.  二叉树的先序遍历是EFHIGJK,中序遍历为HFIEJKG,该二叉树的右子树的根为G

D.  二叉树中至少有一个节点的度为2

 

2.   假设函数f1的时间复杂度O(n)。那么f1*f1的时间复杂度为()

A.  O(n)B.  O(n*n)C.  O(n*log(n))D.  以上都不正确

 

3.   对下列四种排序方法。在排序中keyword比較次数与记录初始化顺序无关的是()

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.  1 B.   2C.  3 D.  4

 

6.   在编译过程中,产生Parse  tree的过程是()

A.  语法分析B.   语义分析阶段C.  词法分析D.  目标代码生成阶段

 

7.   阅读以下代码,程序会打印出来的值是()

 

1.  #include

2.  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 ”,**p);

10.}

复制代


A.  123  B.  abc  C.  456  D.  3 

 

8.   Char p1[] = “Tencent”, void p2= malloc((10)在32位机器上sizeof(p1)和sizeof(p2)相应的值是()

A.  8:0B.   4:10 C.  8:4D.  4:4

 

9.   如今有以下两个函数。调用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.  hello B.   无输出C.  Hello0world D.  不确定

 

10.  冯诺依曼体系结构计算机的基本原理是()
A信息存储  B 存储智能 C 数字控制 D 存储程序和程序控制 

 

11.   求贡献

 

12.以下哪种设计模式的定义为:定义对象间的一种一对多的关系,当一个对象改变时,其它依赖于他的对象都能够得到通知并自己主动更新。()

A.  Visitor B.  Adapter C.  Observer D.  Interpreter

 

13.请看一下这一段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/16 B.   3/4C.  3/8 D.  3/16

 

15.对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.  2 B.  3 C.  4 D.  5

 

18.以下哪些协议,存在源port和目的port是()

A.  IP B.  TCP C.  UDP D.  ICMP协议

 

19.下列哪些sql是等价的()

A.  Select A.tname ,A.depart fromteacher A joincourse B on B.tno = .A.tno

B.   Select A.tname ,A.depart fromteacher A whereA.tno = course.tno

C.  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、169        B、208       C、640        D、236


21.将一个C类网络划分为3个子网,每一个子网最少要容纳55台主机,使用的子网掩码是:()
  A、255.255.255.248   B、255.255.255.224  C、255.255.255.224  D、255.255.255. 192

 

22下列关于计算机硬件的描写叙述,正确的是:()
A、磁盘的平均存取时间指的是磁盘的寻道时间加上磁头在某一磁道等待记录扇区的时间
B、计算机的控制器是由多种部件组成。当中包含,指令寄存器、程序计数器和算数逻辑单元
C、一台计算机的字长是32位。表明该机器能处理的数值最多为4个字节
D、系统总线能够分为数据总线、地址总线和控制总线三类

23、假设有关系模式R(A,B,C,D),其数据依赖集:F={(A,B)->C,C->D},则关系模式R的规范化程度最高达到:()
A.1NF
B.2NF
C.3NF
D.BCNF


24.以下为一段浏览器中可执行的Javascript 代码。则执行该段Javascript代码的页面弹出框中显示的结果是:()
Var obj = { “key”:”1”,”value”:2};
Var newObj = obj;
newObj.value += obj.key;
alert(obj.value);
A、2           B、12          C、3        D、21


25.有足够量的2分、5分、1分硬币,假设想凑齐一元钱,能够有()种方法
A、541    B、270  C、1024    D、128

填空题(共5题,每题4分。共20分)
26、阅读以下代码:
#defineMAX_NUM 1000+1

int Temp = Max_NUM*10;

则Temp的值为(   )

 

27.某个单CPU操作系统抢占式进程调度策略。如今有三个任务T1(优先级高),T2(优先级中)。T3(优先级低)同一时候进入调度队列,每一个任务都须要占用CPU时间10ms,10ms,13ms,然后再用CPU时间5ms。则T3从进入调度对了到完毕须要()ms(不考虑系统任务调度的开销)

28.在一个採用页式虚拟存储管理的系统中,有一用户作业,它依次要訪问的也没序列是1,2,3。4,1。2。5,1。2,3,4,5.假定分配给该作业的页数为3且作业初始时未装载页面,那么採用FIFO调度算法产生的缺页中断数为(),採用LRU调度算法产生的缺页中断数为()

29.

1.  #include <stdio.h>

2.  class Base

3.  {

4.  public:

5.  virtual int foo(int x){return x*10;}

6.  int foo(char x[14]){return sizeof(x)+10;}

7.  };

8.  class Derived:public Base

9.  {

10.int foo(int x){return x*20;}

11.virtual int foo(char x[10]){return sizeof (x)+20;}

12.};

13.int main(void)

14.{

15.Derived  stDerived;

16.Base * pstBase=& stDerived;

17.char x[10];

18.printf(“%d ”,pstBase->foo(100)+pstBase->foo(x));

19.return 0;

20.}

复制代

在32位环境下,以上程序的输出结果是()

附加题(共2题,不计入总分)
31.珠宝商甲须要去鉴定一批41克以下的宝石(可能是41克以下不包含41克的随意重量),他仅仅能携带一个天平和四个砝码去称重。请问他会携带那些重量的砝码?
32.UTF-8是如今流行的编码方式,以下是RFC2279对UTF-8编码规则的规定,依据这个规则,中文字符‘我’的unicode值为0X6211,utf-8编码之后为0XE68891。


请回答一下问题:

A)英文字符‘a’,其unicode的十六进制值为0X61,则其UTF-8编码后的十六进制值为?

B)中文字符‘腾’。其unicode的十六进制值为0X817E,则其UTF-8编码后的十六进制值为?

C)中文字符‘讯’,其unicode值经过UTF-8编码之后为0XE8AEAF,则请问其unicode的十六进制值是?

 

 

 

腾讯2014年实习生招聘笔试面试经历

今天上午腾讯二面。走出来了的时候,就预感到Game Over了。

能走到这一步。已经知足了,内心还是非常感谢腾讯给予的这次面试机会。

腾讯笔试那天,整个考场就乌压压的一片人。毕竟是大公司。应聘的人特别多。笔试的时候,大家都挨着一起做的。生平笔试还是第一次紧挨着笔试的。

事实上也无所谓。真到笔试的时候,大家都忙着做自己的题目,哪有时间来偷瞄啊。

   腾讯笔试题考察的比較基础,但涉及的面非常广,数据结构。操作系统。代码阅读。測试。逻辑,编译原理。计算机网络,数据库等都考了个遍。自己平时复习准备的时候,非常多都没開始,并且题目出的非常具有跳跃性,比較坑的是选择题是多选题,遇到不会或拿不定的题目时。做的会非常郁闷。

简答题和填空题考的还比較基础。但因为时间紧迫,匆匆算出答案,都无法肯定。

当中一道编程填空,对一个有序数组旋转后,查找给定值是否存在,当时自己做的时候。匆匆的分析出大概的结果,都没来得及细致思考。事实上做错了。另一道阅读程序题。也是心太急了,没分析出就是求圆周率的意思。后面的附加题,对最后一题仅仅是大概提了一下思路,以为不须要编码实现,然后又转向做倒数第二的编程题。题目倒不算难,仅仅是细节情况比較多。有些繁琐,做这道题的时候,时间也就剩十几分钟了,也就匆匆写了一点。没写完。

事实上这个时候,我认为应该去看看前面的那些题。检測一下那些不太把握的题目。这点还是非常重要,笔试要把自己能做的题目尽量做好,后面一面的时候。面试官就说我笔试做的不太好。对当中做错的几道题又让我重做了一遍。

         笔试完的第二天。大家都陆陆续续的收到短信,通知參加腾讯一面,仅仅有少数几个同学(包含我在内)没收到。

当时认为笔试的不太好,以为笔试没通过。4月1号,怀着郁闷与忐忑的心情跟着几个同学来霸面。腾讯现场还是让人霸面的,有专门的人负责收集霸面简历。交完简历后。就在现场等霸面机会。

那天下午有几个同学来面试,顺便也向他们交流面经。每一个面试官问的问题都不一样,有些爱问算法,有些爱问基础。等到快7点的时候,几乎相同这一天的面试快结束的时候。前台才问是否有技术类霸面的。

这时才等到霸面机会。

领着门牌号,来到面试官房间。面试官看了我的简历,问我是否来霸面的,我说我參加笔试之后,没收到通知,所以过来霸面了。面试官说不应该,说我的面试官可能因为深知下暴雨,耽误了。还没来,还没给我发通知。让我回去等等,假设那个面试官没来的话,他会通知我来面试。

听到这话。感觉突然从地狱到了天堂。整个过程就像座过山车啊。腾讯的面试官还是非常负责。非常和蔼的。怀着激动的心情和同学回来了。

晚上收到短信通知4月2号一面。

         4月2号一面,面试官大概是30岁左右。进去先让我自我介绍一番。

然后看了一下我的笔试卷子。问我做的怎样,我把我那些做错的题目大概说了一下。接下来就開始对着试卷。针对我做错的题目,又一次问我。当中有道题目,面试的时候还是做错了,还是做成笔试那个答案。当时有所紧张。还是没分析出关键,后来面试官提示我一下。才找到问题所在,真心认为非常尴尬啊。

所以面试回答问题,还是要先想好再回答,相信自己能做出来。后面又问了写试卷上最后一道算法题目,问我当时是怎么做的。然后我给他解说了一下我的思路。面试官听完之后,对那个题目进行变换。让我继续做,事实上变换之后。变简单了,然后给他分析了一下。几乎相同之后,開始面一些基础的问题,比方malloc 和 new的区别啊,delete和free的区别啊,堆空间和栈空间的分配问题。各自能分配多大的空间,以及使用上的区别。最后就開始问网络里头的那些东西。比方TCP和UDP的协议不同,TCP的流量控制及拥塞控制。后面两个答的还能够,网络一鞋基础虽复习了。但那时给忘了。答的不是非常好。本想还以为他会问我项目上的东西。他说这些留给二面的面试官,然后就让我去二面了。

         一面的面试官给我的感觉还是非常和蔼,我给他讲的时候,也尽可能在纸上画出来。尽量让他明确我给他讲的东西。整体来说,他给我的评价是基础不错。比較扎实。

         二面的时候,面试官看上去比一面的还要年轻,但却不像一面面试官那样和蔼,拿到我的简历后,就直接问我项目上的事情,让我自我陈述一下我做项目,但这个项目我没介绍好,本打算介绍一些项目背景,好让他理解,结果他嫌我有点啰嗦。有点不耐烦了,直接打断说我基本的工作是什么,然后我用简单的说了一下。

为让他理解我做的工作,有因为涉及的东西太多。我简化了问题来讲,给他分析一下我是怎么处理的,后面打算再讲复杂点又是怎么处理的,由简及难展开。

结果刚给他介绍了基本问题之后,他就打断我,认为太简单了。认为我没做什么事。事实上是我要讲的东西还没展开。到这时,计划全然被打乱。反倒成了他给我提解决方式,这个问题该怎么处理。事实上哪有那么简单啊。

结果这么一通折腾下来,好不easy才让他明确我们是做什么的,结果他不提问了,非常多我做的工作还没好好讲。

         接下来的时间就是问问简历上的事情,问了一些我熟悉哪些设计模式,用到哪些。其余主要还问了网络的东西,比方网络编程。网络通信同步的问题,TCP和UDP的那些东西,有些问的比較深,比方同步的问题。但都没答好。然后问我以后想做那一块。我说仅仅想做技术。关于云计算这方面的,又问我为什么想做后台,我说后台有前景,不想做PC端。后来那面试官就不想面了,就说到此吧,问我有什么须要问的。我说想听听他对我的评价,他说我基础须要加强,工作经验和项目经验还需加强。心态要端正,不要挑三拣四。眼高手低。听到这些心都凉了,然后就出来了。

         整体来说二面不是非常顺,不像一面,确实网络里的东西,看了一遍,还是会记不住,来之前还想着复习一下网络的东西,结果没来得及看。项目介绍也没介绍好,应该先大体介绍项目,在着重介绍自己所做的工作。感觉面试过程还是有点心急,回答问题还是没能做到想清楚再回答。

二面面试官问的还是有水评的,能体现面试者的水准。

两轮面试确实也发现一些存在的不足。想做后台,网络必须非常熟悉,今后要不断的加强,弥补自己的不足。

好好准备后面其它公司的面试吧。


2014腾讯软件开发类笔试题(广州站)

试卷类型:软件开发A1
考试时长:
120分钟
一 不定项选择题(共25题,每题4分,共100分。少选、错选、多选均不得分)
1 已知一棵二叉树。假设先序遍历的节点顺序是:ADCEFGHB,中序遍历是:CDFEGHAB,则后序遍历结果为:(D)
A.CFHGEBDA   B.CDFEGHBA   C.FGHCDEBA  D.CFHGEDBA
2 下列哪两个数据结构,同一时候具有较高的查找和删除性能?(CD)
A.有序数组    B.有序链表      C.AVL树       D.Hash表
3 下列排序算法中,哪些时间复杂度不会超过nlogn?(BC)
A.高速排序    B.堆排序       C.归并排序      D.冒泡排序
4 初始序列为1 8 6 2 5 4 7 3一组数採用堆排序,当建堆(小根堆)完毕时,堆所相应的二叉树中序遍历序列为:(A)
A.8 3 2 5 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时。下列函数的返回值是:(A)
[cpp] view plaincopy
int foo(int n)  
{  
    if(n<2)return n;  
    returnfoo(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区的可能性有多大?(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.D
11 下推自己主动识别机的语言是:(C)
A. 0型语言   B.1型语言      C.2型语言        D.3型语言
12 下列程序的输出是:(D)
[cpp] view plaincopy
#define add(a+b) a+b  
int main()  
{  
    printf(“%d ”,5*add(3+4));  
    return 0;  
}  
A.23          B.35           C.16             D.19
13 浏览器訪问某页面,HTTP协议返回状态码为403时表示:(B)
A 找不到该页面
B 禁止訪问
C 内部server訪问
D server繁忙
14 假设某系统15*4=112成立。则系统採用的是(A)进制。


A.6           B.7            C.8              D.9
15 某段文本中各个字母出现的频率各自是{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 layer
B  Presentation layer
C  Transport layer
D  Network layer
17 一个栈的入栈序列是A,B,C,D,E,则栈的不可能的输出序列是?(C)
A.EDCBA         B.DECBA         C.DCEAB      D.ABCDE
18 同一进程下的线程能够共享以下?(BD)
A. stack          B.datasection        C.registerset     D.file fd
19 对于派生类的构造函数,在定义对象时构造函数的执行顺序为?(D)
1:成员对象的构造函数
2:基类的构造函数
3:派生类本身的构造函数
A.123            B.231              C.321          D.213
20 怎样降低换页错误?(BC)
A  进程倾向于占用CPU
B  訪问局部性(localityof reference)满足进程要求
C  进程倾向于占用I/O
D  使用基于最短剩余时间(shortestremaining 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。
[cpp] view plaincopy
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++;  
        elseNL++;  
    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);*/  
三、Web前端方向简单题(略)
四、其它方向简答题(共2题。每题20分),选作题,不计入总分)
1 请设计一个排队系统,能够让每一个进入队伍的用户都能看到自己在队列中所处的位置和变化。队伍可能随时有人加入和退出。当有人退出影响到用户的位置排名时须要及时反馈到用户。


2 A,B两个整数集合。设计一个算法求他们的交集。尽可能的高效。









备注:收集试题来自IT面试论坛 ,试题和答案仅供參考。

原文地址:https://www.cnblogs.com/mqxnongmin/p/10516058.html