腾讯笔试真题文档格式.docx
《腾讯笔试真题文档格式.docx》由会员分享,可在线阅读,更多相关《腾讯笔试真题文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
A.在Name字段上添加主键
B.在Name字段上添加索引
C.在Age字段上添加主键
D.在Age字段上添加索引
1IP地址131.153.12.71是一个(B)类IP地址。
A.AB.BC.CD.D
11下推自动识别机的语言是:
A.型语言B.1型语言C.2型语言D.3型语言
12下列程序的输出是:
#defineadd(a+b)a+b
intmain()
printf("
%d\n"
,5*add(3+4));
return;
A.23B.35C.16D.19
13浏览器访问某页面,HTTP协议返回状态码为43时表示:
(B)
A找不到该页面
B禁止访问
C内部服务器访问
D服务器繁忙
14如果某系统15*4=112成立,则系统采用的是(A)进制。
A.6B.7C.8D.9
15某段文本中各个字母出现的频率分别是{a:
4,b:
3,o:
12,h:
7,i:
1},使用哈夫曼编码,则哪种是可能的编码:
Aa()b
(1)h
(1)i
(1)o(11)
Ba()b
(1)h
(1)o
(1)i
(1)
Ca()b
(1)h
(1)i
(1)o()
Da()b
(1)h
(1)o()i
(1)
16TCP和IP分别对应了OSI中的哪几层?
AApplicationlayer
BPresentationlayer
CTransportlayer
DNetworklayer
17一个栈的入栈序列是A,B,C,D,E,则栈的不可能的输出序列是?
A.EDCBAB.DECBAC.DCEABD.ABCDE
18同一进程下的线程可以共享以下?
(BD)
A.stackB.datasectionC.registersetD.filefd
19对于派生类的构造函数,在定义对象时构造函数的执行顺序为?
1:
成员对象的构造函数
2:
基类的构造函数
3:
派生类本身的构造函数
A.123B.231C.321D.213
2如何减少换页错误?
A进程倾向于占用CPU
B访问局部性(localityofreference)满足进程要求
C进程倾向于占用I/O
D使用基于最短剩余时间(shortestremainingtime)的调度机制
21递归函数最终会结束,那么这个函数一定?
A使用了局部变量
B有一个分支不调用自身
C使用了全局变量或者使用了一个或多个参数
D没有循环调用
22编译过程中,语法分析器的任务是(B)
A分析单词是怎样构成的
B分析单词串是如何构成语言和说明的
C分析语句和说明是如何构成程序的
D分析程序的结构
23同步机制应该遵循哪些基本准则?
(ABCD)
A.空闲让进B.忙则等待C.有限等待D.让权等待
24进程进入等待状态有哪几种方式?
ACPU调度给优先级更高的线程
B阻塞的线程获得资源或者信号
C在时间片轮转的情况下,如果时间片到了
D获得spinlock未果
25设计模式中,属于结构型模式的有哪些?
A状态模式B装饰模式C代理模式D观察者模式
二、填空题(共4题1个空,每空2分,共2分)
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二进制地址为111111,大小为(4)1和(16)1块的伙伴地址分别为:
_,_。
4设t是给定的一棵二叉树,下面的递归程序count(t)用于求得:
二叉树t中具有非空的左、右两个儿子的结点个数N2;
只有非空左儿子的个数NL;
只有非空右儿子的结点个数NR和叶子结点个数N。
N2,NL,NR、N都是全局量,且在调用count(t)之前都置为。
typedefstructnode
intdata;
structnode*lchild,*rchild;
}node;
intN2,NL,NR,N;
voidcount(node*t)
if(t-lchild!
=NULL)
if(t-rchild!
=NULL)N2++;
elseNL++;
elseif(t-rchild!
=NULL)NR++;
elseN++;
if(t-lchild!
=NULL)count(t-lchild);
if(t-rchild!
=NULL)count(t-rchild);
}/*callform:
if(t!
=NULL)count(t);
*/
三、Web前端方向简单题(略)
四、其他方向简答题(共2题,每题2分),选作题,不计入总分)
1请设计一个排队系统,能够让每个进入队伍的用户都能看到自己在队列中所处的位置和变化,队伍可能随时有人加入和退出;
当有人退出影响到用户的位置排名时需要及时反馈到用户。
2A,B两个整数集合,设计一个算法求他们的交集,尽可能的高效。
一.单选题(每题4分,15题,共60分)
1.考虑函数原型voidhello(inta,intb=7,char*pszC=*),下面的函数调用钟,属于
不合法调用的是:
Ahello(5)B.hello(5,8)C.hello(6,#)D.hello(0,0,#)
2.下面有关重载函数的说法中正确的是:
A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同
C.重载函数必须有不同的形参列表D.重载函数名可以不同
3.分析一下程序的运行结果:
#include
classCBase
public:
CBase{cout《《"
constructingCBaseclass"
《
~CBase{cout《《"
destructingCBaseclass"
classCSub:
publicCBase
CSub{cout《《"
constructingCSubclass"
~CSub{cout《《"
destructingCSubclass"
voidmain
CSubobj;
A.constructingCSubclassB.constructingCBaseclass
constructingCBaseclassconstructingCSubclass
destructingCSubclassdestructingCBaseclass
destructingCBaseclassdestructingCSubclass
C.constructingCBaseclass
constructingCSubclass
destructingCSubclass
destructingCBaseclass
D.constructingCSubclass
constructingCBaseclass
4.在一个cpp文件里面,定义了一个static类型的全局变量,下面一个正确的描述是:
A.只能在该cpp所在的编译模块中使用该变量
B.该变量的值是不可改变的
C.该变量不能在类的成员函数中引用
D.这种变量只能是基本类型(如int,char)不能是C++类型
5.观察下面一段代码:
classClassA
virtual~ClassA{};
virtualvoidFunctionA{};
classClassB
virtualvoidFunctionB{};
classClassC:
publicClassA,publicClassB
ClassCaObject;
ClassA*pA=&
amp;
aObject;
ClassB*pB=&
ClassC*pC=&
关于pA,pB,pC的取值,下面的描述中正确的是:
A.pA,pB,pC的取值相同.B.pC=pA+pB
C.pA和pB不相同D.pC不等于pA也不等于pB
6.参照1.5的代码,假设定义了ClassA*pA2,下面正确的代码是:
A.pA2=static_cast(pB);
B.void*pVoid=static_cast(pB);
pA2=static_cast(pVoid);
C.pA2=pB;
D.pA2=static_cast(static_cast(pB));
7.参照1.5的代码,下面那一个语句是不安全的:
A.pAB.pBC.pC
8.下列程序的运行结果为:
inta=2;
intb=++a;
cout《
A.0.5B.0C0.7D.0.6666666-
9.有如下一段代码:
#defineADD(x,y)x+y
intm=3;
m+=m*ADD(m,m);
则m的值为:
A.15B.12C.18D.58
10.如下是一个带权的图,图中结点A到结点D的关键路径的长度是:
A.13B.15C.28D.58
11.下面的模板声明中,正确的是:
A.template
B.template
C.template
D.template
12.在Windows编程中下面的说法正确的是:
A.两个窗口,他们的窗口句柄可以是相同的B.两个窗口,他们的处理函数可以是相同
C.两个窗口,他们的窗口句柄和窗口处理函数都不可以相同.
13.下面哪种情况下,B不能隐式转换为A?
A.classB:
publicA{}B.classA:
publicB{}
C.classB{operatorA;
}D.classA{A(constB&
);
}
14.某公司使用包过滤防火墙控制进出公司局域网的数据,在不考虑使用代理服务器的情
况下,下面描述错误的是"
该防火墙能够()"
.
A.使公司员工只能访问Internet上与其业务联系的公司的IP地址.
B.仅允许HTTP协议通过,不允许其他协议通过,例如TCP/UDP.
C.使员工不能直接访问FTP服务器端口号为21的FTP地址.
D.仅允许公司中具有某些特定IP地址的计算机可以访问外部网络
15.数字字符0的ASCII值为48,若有以下程序:
main
chara='
1'
b='
2'
;
%c,"
b++);
b-a);
程序运行之后的输出结果是:
A.3,2B.50,2C.2,2D.2,50
二.填空题(共40分)
本程序从正文文件text.in读入一篇英文短文,统计该短文中不同单词和它的出现次数,并
程序用一棵有序二叉树存储#from2016腾讯笔试题来自end#这些单词及其出现的次数,一边读入一边建立.然后中序遍历
该二叉树,将遍历经过的二叉树上的节点的内容输出.
程序中的外部函数
intgetword(FILE*pFile,char*pszWordBuffer,intnBufferLen);
从与pFile所对应的文件中读取单词置入pszWordBuffer,并返回1;
若单词遇文件尾,已无
单词可读时,则返回0.
#defineSOURCE_FILEtext.in
#defineOUTPUT_FILEword.out
#defineMAX_WORD_LEN128
typedefstructtreenode
charszWord[MAX_WORD_LEN];
intnCount;
structtreenode*pLeft;
structtreenode*pRight;
}BNODE;
intgetword(FILE*pFile,char*pasWordBuffer,intnBufferLen);
voidbinary_tree(BNODE**ppNode,char*pszWord)
if(ppNode!
=NULL&
&
pszWord!
=NULL)
BNODE*pCurrentNode=NULL;
BNODE*pMemoNode=NULL;
intnStrCmpRes=0;
____
(1)_____;
pCurrentNode=*ppNode
while(pCurrentNode)
/*寻找插入位置*/
nStrCmpRes=strcmp(pszWord,___
(2)___);
pCurrentNode-
》nCount
if(!
nStrCmpRes)
___(3)___;
pCurrentNode-》nCount++
return;
else
___(4)___;
pMemoNode=pCurrentNode
pCurrentNode=nStrCmpRes》0?
pCurrentNode-
》pRight:
pCurrentNode-》pLeft;
pCurrent=newBNODE;
if(pCurrentNode!
memset(pCurrentNode,0,sizeof(BNODE));
strncpy(pCurrentNode-》szWord,pszWord,MAX_WORD_LEN-1);
pCurrentNode-》nCount=1;
if(pMemoNode==NULL)
___(5)___;
*ppNode=pCurrentNode
elseif(nStrCmpRes》0)
pMemoNode-》pRight=pCurrentNode;
pMemoNode-》pLeft=pCurrentNode;
voidmidorder(FILE*pFile,BNODE*pNode)
midorder(pFile,pNode-》pLeft);
fprintf(pFile,%s%d\n,pNode-》szWord,pNode-》nCount);
midorder(pFile,pNode-》pRight);
FILE*pFile=NULL;
BNODE*pRootNode=NULL;
charszWord[MAX_WORD_LEN]={0};
pFile=fopen(SOURCE_FILE,r);
if(pFile==NULL)
printf(Can'
topenfile%s\n,SOURCE_FILE);
while(getword(pFile,szWord,MAX_WORD_LEN)==1)
binary_tree(___(7)___);
pRootNode,szWord
fclose(pFile);
pFile=fopen(OUTPUT_FILE,w);
midorder(pFile,pRootNode);
三.附加题(每题30分,2题,共60分)
1.从程序健壮性进行分析,下面的FillUserInfo函数和Main函数分别存在什么问
#defineMAX_NAME_LEN20
structUSERINFO
intnAge;
charszName[MAX_NAME_LEN];
voidFillUserInfo(USERINFO*parUserInfo)
stu:
:
cout《《请输入用户的个数:
;
intnCount=0;
std:
cin》》nCount;
for(inti=0;
i
cout《《请输入年龄:
cin》》parUserInfo[i]-》nAge;
stringstrName;
cout《《请输入姓名:
cin》》strName;
strcpy(parUserInfo[i].szName,strName.c_str);
intmain(intargc,char*argv)
USERINFOarUserInfos[100]={0};
FillUserInfo(arUserInfos);
printf(Thefirstnameis:
);
printf(arUserInfos[0].szName);
printf(\n);
return0;
2.假设你在编写一个使用多线程技术的程序,当程序中止运行时,需要怎样一个机
制来安全有效的中止所有的线程?
请描述其具体流程.
腾讯笔试题
(二)
考试时间60分钟,整张试卷分四大部分。
第一部分数据分析,整个部分分为三个大题,每个大题5个小题,不难,图表计算。
第二部分逻辑推理,普通的行测题,一共有10道选择。
难易程度跟公务员的差不多。
2016腾讯笔试题2016腾讯笔试题。
第三部分阅读理解,15道选择。
也是行测类型的,读一段话,做选择。
前三个部分都是单选,一共40题。
第四部分论述题,最后论述2道大题。
(这部分不算分数,对面试有好处)
论述题:
广州腾讯产品实习笔试
第一题是如果微信添加一个功能删除一个功能,你会怎么做?
(可见腾讯论述题很注重腾讯产品的考察)
第二题是现在电子商务创业很流行,如果有以下电商创业,你会选哪一种:
服装,虚拟产品,生活服务类。
第三道题,如果你是一个乳制品的公关经理,315曝光你们产品有问题,设计一个24小时公关方案,以挽回公司损失。
(这个题目我在之前笔试看到过,是宝洁SKII事件,写新闻发言稿,所以大家可以注意一下公关知识)
第四道题,腾讯给你5000元公益资金帮扶特殊群体,设计一个校园公益项目方案。
北京站产品笔试
附加题一:
是用互联网思维改造传统行业,写一个策划方案什么的,举了嘀嘀打车的例子。
附加题二是:
题目背景是国务院批复了一个文件《前海深港现代服务业合作区总体发展XXX》,然后问你采取何种措施吸引优秀人才的加入,以便支撑入驻企业的发展
首先娱乐一下,看看这道学龄前儿童智力题,学龄前哦~真心伤不起!
反正我看完之后是直接泪奔了,这道题目不是文艺儿童都做不出啊......
好,进入主题,今天的主题是:
没有蛀牙!
呃,开个玩笑!
首先看第一道题目:
有1个一模一样的瓶子,其中有999瓶是普通的水,有一瓶是毒药。
任何喝下毒药的生物都会在一个星期后死亡。
现在,你只有1只小白鼠和一个星期的时间,如何检验出哪个瓶子里有毒药?
其实一般出给面试者的时候,为了题目的开放性,并不会去固定小白鼠的数量,而是问,至少需要多少只小白鼠?
(当然是越少越好咯,小白鼠也是生命啊)。
这是一个涉及计算机基础科学的智力类题目。
主要是考面试者的发散思维能力,因此并不要求面试者能第一时间内完全做正确。
2016腾讯笔试题文章2016腾讯笔试题出自,此链接!
。
首先可以简单想到的是,需要999只,一只喝一瓶,然后等结果,哪个死了就是对应的瓶子里面的水有毒,都没死,那就是唯一的那一瓶没有喂给小白鼠的水有毒,但是这种方法用的小白鼠太多了。
但是也不是完全没好处,是实验中平均死亡小白鼠最少的办法。
再发散一下,用二分法迅速逼近结果,第一步,把1瓶水分成A,B两堆,每堆5瓶,然后混合A堆5瓶的水,给一只小白鼠喝,小白鼠没死,则把B堆再分成C,D两堆(如果小白鼠死了,则把A堆再分成C,D两堆),把C堆25瓶的水混合一下给一只小白鼠喝,然后等结果......以此类推,你们懂的,一直这样二分下去,确定最终的结果,需要1只小白鼠。
但是这样解答有个问题,就是等的时间太长了,不符合题目要求。
而且如果运气不好,1只小白鼠可能全死了,小白鼠真惨。
看来需要再次发散,根据题意,我们只能喂一次小白鼠(一次可以喂多只)。
我们首先可以先把这个问题的规模减小,如果是2瓶水,那1只小白鼠就够了,如果是4瓶水呢?
假设是A、B、C、D、四瓶水,我们可以这样做A+B混合喂给一个小白鼠1号,A+C喂给一个小白鼠2号,如果1号和2号都死了,那么就是A有毒,如果都没死,那是D有毒,如果只有1号死了,那么是B有毒,如果只有2号死了,那么是C有毒。
嗯,有点意思了。
给一只小白鼠喂水后最终的结果是生或者死两种状态,也就是说2只小白鼠最多可以表示的状态是4种(根据排列组合原理)。
那么要表示1种状态需要多少只小白鼠?
1只,因为2的1次方是1241,剩下的问题是怎么组合这些瓶子来给小白鼠喂水了。
首先,把1瓶水从到999编号,然后用1位二进制来表示这些瓶子,1只小白鼠从1-1编号
号水瓶
11号水瓶
12号水瓶
113号水瓶
14号水瓶
115号水