1、腾讯笔试题腾讯笔试题试卷类型:软件开发A1考试时长:12分钟一 不定项选择题(共25题,每题4分,共1分,少选、错选、多项选择均不得分)1 已知一棵二叉树,假如先序遍历的节点次序是:ADCEFGHB,中序遍历是:CDFEGHAB,则后序遍历成果为:(D)ACFHGEBDA BCDFEGHBA CFGHCDEBA DCFHGEDBA2 下列哪两个数据结构,同时具备较高的查找和删除性能?(CD)A有序数组 B有序链表 CAVL树 DHash表3 下列排序算法中,哪些时间复杂度不会超出nlogn?(BC)A迅速排序 B堆排序 C归并排序 D冒泡排序4 初始序列为1 8 6 2 5 4 7 3一组数采
2、取堆排序,当建堆(小根堆)完成时,堆所对应的二叉树中序遍历序列为:(A)A8 3 2 5 1 6 4 7B3 2 8 5 1 4 6 7C3 8 2 5 1 6 7 4D8 2 3 5 1 4 7 65 当n=5时,下列函数的返回值是:(A)cpp view plaincopyint foo(int n)if(n<2)return n;return foo(n-1)+foo(n-2);A5 B7 C8 D16S市A,B共有两个区,人口百分比为3:5,据历史统计A的犯罪率为.1%,B区为.15%,既有一起新案件发生在S市,那么案件发生在A区的也许性有多大?(C)A37.5% B32.5%
3、C28.6% D(面试题目:什么样的工作环境适合你)26.1%7Unix系统中,哪些能够用于进程间的通信?(BCD)ASocket B共享内存 C消息队列 D信号量8 静态变量一般存储在进程哪个区?(C)A栈区 B堆区 C全局区 D代码区9 查询性能(B)A 在Name字段上添加主键B 在Name字段上添加索引C 在Age字段上添加主键D 在Age字段上添加索引1IP地址131.153.12.71是一个(B)类IP地址。AA BB CC DD11 下推自动识别机的语言是:(C)A 型语言 B1型语言 C2型语言 D3型语言12 下列程序的输出是:(D)cpp view plaincopy#de
4、fine add(a+b) a+bint main()printf(%dn,5*add(3+4);return ;A23 B35 C16 D1913 浏览器访问某页面,HTTP协议返回状态码为43时表示:(B)A 找不到该页面B 严禁访问C 内部服务器访问D 服务器繁忙14 假如某系统15*4=112成立,则系统采取的是(A)进制。A6 B7 C8 D915 某段文本中各个字母出现的频率分别是a:4,b:3,o:12,h:7,i:1,使用哈夫曼编码,则哪种是也许的编码:(A)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()
5、Da()b(1)h(1)o()i(1)16TCP和IP分别对应了OSI中的哪几层?(CD)AApplication layerBPresentation layerCTransport layerDNetwork layer17 一个栈的入栈序列是A,B,C,D,E,则栈的不也许的输出序列是?(C)AEDCBA BDECBA CDCEAB DABCDE18 同一进程下的线程能够共享如下?(BD)A stack Bdata section Cregister set Dfile fd19 对于派生类的结构函数,在定义对象时结构函数的执行次序为?(D)1:组员对象的结构函数2:基类的结构函数3:派
6、生类自身的结构函数A123 B231 C321 D2132 怎样减少换页错误?(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 同时机制应
7、当遵照哪些基本准则?(ABCD)A空闲让进 B忙则等候 C有限等候 D让权等候24 进程进入等候状态有哪几个方式?(D)A CPU调度给优先级更高的线程B 阻塞的线程取得资源或者信号C 在时间片轮转的情况下,假如时间片到了D 取得spinlock未果25 设计模式中,属于结构型模式的有哪些?(BC)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
8、),要按照核心码值递增的次序进行排序,若采取初始步长为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)之前都置为。cpp view plaincopytypedef
9、 struct nodeint data;struct node *lchild,*rchild;node;int N2,NL,NR,N;void count(node *t)if (t-lchild!=NULL)if (t-rchild!=NULL) N2+;else NL+;else if (t-rchild!=NULL) NR+;else N+;if(t-lchild!=NULL) count(t-lchild);if(t-rchild!=NULL) count(t-rchild);/* call form :if(t!=NULL) count(t);*/三、Web前端方向简单题(略)四
10、、其他方向简答题(共2题,每题2分),选作题,不计入总分)1 请设计一个排队系统,能够让每个进入队伍的用户都能看到自己在队列中所处的位置和变化,队伍也许随时有人加入和退出;当有人退出影响到用户的位置排名时需要及时反馈到用户。2 A,B两个整数集合,设计一个算法求他们的交集,尽也许的高效。腾讯笔试题一. 单项选择题(每题4分,15题,共60分)1.考虑函数原型void hello(int a,int b=7,char* pszC= * ),下面的函数调用钟,属于不合法调用的是:A hello(5) B.hello(5,8) C.hello(6, # ) D.hello(0,0, # )2.下面有
11、关重载函数的说法中正确的是:A.重载函数必须具备不一样的返回值类型 B.重载函数形参个数必须不一样C.重载函数必须有不一样的形参列表 D.重载函数名能够不一样3.分析一下程序的运行成果:#includeclass CBasepublic:CBasecoutconstructing CBase classCBasecoutdestructing CBase classclass CSub : public CBasepublic:CSubcoutconstructing CSub classCSubcoutdestructing CSub classvoid mainCSub obj;A. co
12、nstructing CSub class B. constructing CBase classconstructing CBase class constructing CSub classdestructing CSub class destructing CBase classdestructing CBase class destructing CSub classC. constructing CBase classconstructing CSub classdestructing CSub classdestructing CBase classD. constructing
13、CSub classconstructing CBase classdestructing CBase classdestructing CSub class4.在一个cpp文献里面,定义了一个static类型的全局变量,下面一个正确的描述是:A.只能在该cpp所在的编译模块中使用该变量B.该变量的值是不可变化的C.该变量不能在类的组员函数中引用D.这种变量只能是基本类型(如int,char)不能是C+类型5.观测下面一段代码:class ClassApublic:virtual ClassA;virtual void FunctionA;class ClassBpublic:virtual
14、void FunctionB;class ClassC : public ClassA,public ClassBpublic:ClassC aObject;ClassA* pA=&aObject;ClassB* pB=&aObject;ClassC* pC=&aObject;有关pA,pB,pC的取值,下面的描述中正确的是:A.pA,pB,pC的取值相同. B.pC=pA+pBC.pA和pB不相同 D.pC不等于pA也不等于pB6.参考1.5的代码,假设定义了ClassA* pA2,下面正确的代码是:A.pA2=static_cast(pB);B.void* pVoi
15、d=static_cast(pB);pA2=static_cast(pVoid);C.pA2=pB;D.pA2=static_cast(static_cast(pB);7.参考1.5的代码,下面那一个语句是不安全的:A. pA B. pB C. pC8.下列程序的运行成果为:#includevoid mainint a=2;int b=+a;coutA.0.5 B.0 C0.7 D.0.6666666-9.有如下一段代码:#define ADD(x,y) x+yint m=3;m+=m*ADD(m,m);则m的值为:A.15 B.12 C.18 D.5810.如下是一个带权的图,图中结点A到结
16、点D的核心途径的长度是:A.13 B.15 C.28 D.5811.下面的模板申明中,正确的是:A.templateB.templateC.templateD.template12.在Windows编程中下面的说法正确的是:A.两个窗口,他们的窗口句柄能够是相同的 B.两个窗口,他们的处理函数能够是相同C.两个窗口,他们的窗口句柄和窗口处理函数都不能够相同.13.下面哪种情况下,B不能隐式转换为A?A.class B:public A B.class A:public BC.class Boperator A; D.class AA(const B&);14.某企业使用包过滤防火墙控制
17、进出企业局域网的数据,在不考虑使用代理服务器的情况下,下面描述错误的是该防火墙能够( ).A.使企业员工只能访问Internet上与其业务联系的企业的IP地址.B.仅允许HTTP协议通过,不允许其他协议通过,例如TCP/UDP.C.使员工不能直接访问FTP服务器端口号为21的FTP地址.D.仅允许企业中具备某些特定IP地址的计算机能够访问外部网络15.数字字符0的ASCII值为48,若有如下程序:mainchar a=1,b=2;printf(%c,b+);printf(%dn,b-a);程序运行之后的输出成果是:A.3,2 B.50,2 C.2,2 D.2,50二. 填空题(共40分)本程序
18、从正文文献text.in读入一篇英文短文,统计该短文中不一样单词和它的出现次数,并程序用一棵有序二叉树存储#from 腾讯笔试题来自 end#这些单词及其出现的次数,一边读入一边建立.然后中序遍历该二叉树,将遍历通过的二叉树上的节点的内容输出.程序中的外部函数int getword(FILE* pFile,char* pszWordBuffer,int nBufferLen);从与pFile所对应的文献中读取单词置入pszWordBuffer,并返回1;若单词遇文献尾,已无单词可读时,则返回0.#include#include#include#include#define SOURCE_FIL
19、E text.in#define OUTPUT_FILE word.out#define MAX_WORD_LEN 128typedef struct treenodechar szWordMAX_WORD_LEN;int nCount;struct treenode* pLeft;struct treenode* pRight;BNODE;int getword(FILE* pFile,char* pasWordBuffer,int nBufferLen);void binary_tree(BNODE* ppNode,char* pszWord)if(ppNode != NULL &
20、& pszWord != NULL)BNODE* pCurrentNode = NULL;BNODE* pMemoNode = NULL;int nStrCmpRes=0;_(1)_;pCurrentNode=*ppNodewhile(pCurrentNode)/*寻找插入位置*/nStrCmpRes = strcmp(pszWord, _(2)_ );pCurrentNode-nCountif(!nStrCmpRes)_(3)_; pCurrentNode-nCount+return;else_(4)_; pMemoNode=pCurrentNodepCurrentNode = nS
21、trCmpRes0? pCurrentNode-pRight : pCurrentNode-pLeft;pCurrent=new BNODE;if(pCurrentNode != NULL)memset(pCurrentNode,0,sizeof(BNODE);strncpy(pCurrentNode-szWord,pszWord,MAX_WORD_LEN-1);pCurrentNode-nCount=1;if(pMemoNode=NULL)_(5)_; *ppNode= pCurrentNodeelse if(nStrCmpRes0)pMemoNode-pRight=pCurrentNode
22、;elsepMemoNode-pLeft=pCurrentNode;void midorder(FILE* pFile,BNODE* pNode)midorder(pFile,pNode-pLeft);fprintf(pFile, %s %dn ,pNode-szWord,pNode-nCount);midorder(pFile,pNode-pRight);void mainFILE* pFile=NULL;BNODE* pRootNode=NULL;char szWordMAX_WORD_LEN=0;pFile=fopen(SOURCE_FILE, r );if(pFile=NULL)pri
23、ntf( Cant open file %sn ,SOURCE_FILE);return;while(getword(pFile,szWord,MAX_WORD_LEN)=1)binary_tree(_(7)_); pRootNode,szWordfclose(pFile);pFile=fopen(OUTPUT_FILE, w );midorder(pFile,pRootNode);fclose(pFile);三. 附加题(每题30分,2题,共60分)1. 从程序健壮性进行分析,下面的FillUserInfo函数和Main函数分别存在什么问#include#include#define MAX
24、_NAME_LEN 20struct USERINFOint nAge;char szNameMAX_NAME_LEN;void FillUserInfo(USERINFO* parUserInfo)stu:cout 请输入用户的个数: ;int nCount=0;std:cinnCount;for(int i=0;istd:cout 请输入年龄: ;std:cinparUserInfoi-nAge;std:string strName;std:cout 请输入姓名: ;std:cinstrName;strcpy(parUserInfoi.szName,strName.c_str);int m
25、ain(int argc,char* argv)USERINFO arUserInfos100=0;FillUserInfo(arUserInfos);printf( The first name is: );printf(arUserInfos0.szName);printf( n );return 0;2. 假设你在编写一个使用多线程技术的程序,当程序中断运行时,需要怎样一个机制来安全有效的中断所有的线程?请描述其详细流程.腾讯笔试题(二)考试时间60分钟,整张试卷分四大部分。第一部分数据分析,整个部分分为三个大题,每个大题5个小题,不难,图表计算。第二部分逻辑推理,一般的行测题,一共有1
26、0道选择。难易程度跟公务员的差不多。腾讯笔试题腾讯笔试题。第三部分阅读了解,15道选择。也是行测类型的,读一段话,做选择。前三个部分都是单项选择,一共40题。第四部分论述题,最后论述2道大题。(这部分不算分数,对面试有好处)论述题:广州腾讯产品实习笔试第一题是假如微信添加一个功效删除一个功效,你会怎么做?(可见腾讯论述题很重视腾讯产品的考查)第二题是目前电子商务创业很流行,假如有如下电商创业,你会选哪一个:服装,虚拟产品,生活服务类。第三道题,假如你是一个乳制品的公关经理,315曝光你们产品有问题,设计一个二十四小时公关方案,以挽回企业损失。(这个题目我在之前笔试看到过,是宝洁SKII事件,写
27、新闻发言稿,因此大家能够注意一下公关知识)第四道题,腾讯给你5000元公益资金帮扶特殊群体,设计一个校园公益项目方案。北京站产品笔试附加题一:是用互联网思维改造老式行业,写一个筹划方案什么的,举了嘀嘀打车的例子。附加题二是:题目背景是国务院批复了一个文献前海深港当代服务业合作区总体发展XXX,然后问你采取何种措施吸引优秀人才的加入,以便支撑入驻企业的发展腾讯笔试题首先娱乐一下,看看这道学龄前小朋友智力题,学龄前哦真心伤不起! 反正我看完之后是直接泪奔了,这道题目不是文艺小朋友都做不出啊.好,进入主题,今日的主题是:没有蛀牙!呃,开个玩笑!首先看第一道题目:有1个一模同样的瓶子,其中有999瓶是
28、一般的水,有一瓶是毒药。任何喝下毒药的生物都会在一个星期后死亡。目前,你只有1只小白鼠和一个星期的时间,怎样检查出哪个瓶子里有毒药?其实一般出给面试者的时候,为了题目标开放性,并不会去固定小白鼠的数量,而是问,最少需要多少只小白鼠?(当然是越少越好咯,小白鼠也是生命啊)。这是一个包括计算机基础科学的智力类题目。重要是考面试者的发散思维能力,因此并不要求面试者能第一时间内完全做正确。腾讯笔试题文章腾讯笔试题出自,此链接!。首先能够简单想到的是,需要999只,一只喝一瓶,然后等成果,哪个死了就是对应的瓶子里面的水有毒,都没死,那就是唯一的那一瓶没有喂给小白鼠的水有毒,不过这种措施用的小白鼠太多了。
29、不过也不是完全没好处,是试验中平均死亡小白鼠最少的措施。再发散一下,用二分法迅速逼近成果,第一步,把1瓶水提成A,B两堆,每堆5瓶,然后混合A堆5瓶的水,给一只小白鼠喝,小白鼠没死,则把B堆再提成C,D两堆(假如小白鼠死了,则把A堆再提成C,D两堆),把C堆25瓶的水混合一下给一只小白鼠喝,然后等成果.以此类推,你们懂的,一直这么二分下去,确定最后的成果,需要1只小白鼠。不过这么解答有个问题,就是等的时间太长了,不符合题目要求。并且假如运气不好,1只小白鼠也许全死了,小白鼠真惨。看来需要再次发散,依照题意,我们只能喂一次小白鼠(一次能够喂多只)。我们首先能够先把这个问题的规模减小,假如是2瓶水
30、,那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编号号水瓶1
31、1号水瓶1 2号水瓶1 1 3号水瓶1 4号水瓶1 1 5号水瓶1 1 6号水瓶1 1 1 1 1 1 1 1 999号水瓶1 2 3 4 5 6 7 8 9 1 小白鼠然后把1-1号小白鼠按上面的1个二进制位对好,每只小白鼠喂水规则是:假如某个瓶子的对应2进制位为1则喂给该小白鼠,假如对应的2进制为则不喂,譬如1号小白鼠,则会喝到1号水瓶,3号水瓶,5号水瓶,.和999号水瓶的混合水。喂完之后就是等成果了。死了的小白鼠标识1,没死的标识。假如只有1号小白鼠死了,那么就是 1,成果是1号水瓶有毒。假如是8,9号小白鼠死了那么就是 1 1 ,成果是6号水瓶有毒,假如都没死,那就是号水瓶有毒了,显
32、然上面的混合措施里面号水瓶的水没有喂给任何一只小白鼠。为何这么?其实很轻易想明白,有毒的水喂了的小白鼠都死了,其他的都没有死,就这么简单。腾讯笔试题礼仪大全。一般在面试的时候没搞这么大的数据,一般是4只老鼠,16瓶水(真心是考思维过程)。其实这个措施有一个理论算法支撑:Bloom Filter算法。有兴趣的能够查查资料。附带说再多说一句,小白鼠真惨。第二道题目,是一个C+基础题目。我常常拿这个题目考那种简历上面写着精通C+的面试者(当然,一般是应届生)。首先准备一页白纸,在它的A面写上这么一段代码:class Apublic:void function()printf(Hello World)
33、;A* p1 = NULL;p1-function();在它的B面写上同样一段代码,只有一点点差异:class Apublic:virtualvoid function()printf(Hello World);A* p1 = NULL;p1-function();然后这么开始问,首先拿着A面的程序给面试者,问它程序会怎么样,面试者也许的答案是:一个是程序直接crash,二种是程序输出Hello World,运行正常,三种是程序输出Hello World,然后crash;然后把纸翻过来,再问面试者,程序会怎么样。假如面试者能把这个问题回答正确,并且解释清楚(核心是解释清楚),阐明面试者的C+基
34、础还是不错的。这个题目标真实答案,就不公布了,懂得原因了,很简单,能够看下下面这段程序的汇编代码(一目了然):#include <stdio.hclass Apublic:void function()printf(Hello World);class Bpublic:virtual void function()printf(Hello World);int _tmain(int argc, _TCHAR* argv)A* p1 = NULL;p1-function();B* p2 = NULL;p2-function();复制代码 A* p1 = NULL;4113FCmov dword ptr p1,p1-function();41143mov ecx,dword ptr p141146call A:function (411E6h) B* p2 = NULL;4114Bmov dword ptr p2,p2-function();411412mov eax,dword ptr p2411415mov edx,dword ptr eax411417mov esi,esp411419mov ecx,dword ptr p241141Cmov eax,dword ptr edx41141Ecall eax