电话:
您当前的位置:首页 > 职场资讯 > 面试技巧

腾讯外包岗位面试经验分享,二本毕业4年拿offer

来源:网络整理 时间:2026-04-21 作者:原作者 浏览量:

我是一个从事 IT 行业的、被人称作屌丝的人,毕业了四年,却有着五年的工作经验(大四那年在腾讯实习了一年,当时作为实习生的工资,以及工作内容跟正式员工是一样的)。我十分幸运,先后收到了腾讯、百度以及阿里的 offer,在这儿跟大伙分享一下腾讯的面试经验,和各位一起相互鼓励。

本人职业生涯起始于腾讯,能进入腾讯实属偶然,09年腾讯校招时,在本人所在学校(学校是二本就不提名字了)举办宣讲会,学院众多同学都去了,因当时对腾讯兴致不高所以没去,当时期望前往中软金蝶这类传统软件公司,同宿舍一兄弟要参加腾讯校招笔试,我作为亲友团陪他一同前往,腾讯的hr很友善给了我一张笔试题和意愿表让我填写。起初,我打算从学校北门径直乘车回家,既然已然抵达于此,反正也并无什么事务,于是就着手书写了,权且当作是为往后寻觅工作进行预热。腾讯开展的面试以及笔试所涵盖的内容主要是关于编程基础以及排序查找算法这类的题目,另外还有像运用程序去实现递归这般的题目,具体的情形已然忘却了。

参加笔试题,感觉其十分简单,附加题也予以作答了,本人专业课方面堪称学霸,然而其他学科却是学渣。答完之后并未进行检查,接着便坐车返回家中去了。吃饭之际,收到腾讯发来通知我第二天去参加一面的短信,恰好此时我爸爸妈妈在南山的同学前来我家做客,于是便搭乘阿姨的顺风车返回学校,以准备第二天的面试。

当时腾讯一面的面试官,那可是相当 nice,也成了我后来的组长,是个极具人格魅力之人,我到那儿时,他还特地倒了杯水给我。腾讯面试官员着重问我所了解的技术,我便讲述了大学期间做的 C++、.Net 以及 J2EE 项目,像规则引擎、财务系统、学业预警系统、爬虫引擎这些。由于完全没做准备,所以回忆起来有些费劲,好在面试官没为难我,发挥得还算可以。对于Java的内存机制,提出是否会致使内存泄漏的询问,这方面的回答欠佳;关于hibernate的机制以及作用,都给予了作答,还命其撰写爬虫程序的核心代码以及正则表达式。

一面,持续了整整30分钟,当时感觉好像有希望,于是回去仔仔细细地准备二面的相关内容,把当年做过的工程代码翻找出来进行复习,就为了避免再次出现忘掉内容的尴尬情况。没多久,第二天就接到通知去参加技术层面的二面。技术二面便是传说里的压力面,被狠狠地“折腾”了一番。项目当中的问题一个都没问,所问的全都是关于操作系统、数据结构方面的问题。还好专业成绩都是A+,大部分题目都回答上来了。还问了我树转二叉树的相关情况,这对我而言是小小儿科。他还问了关于Java内存机制,以及是否会出现内存泄漏,在何种情况下会发生泄漏,good这个在一面回去之后就去查看了,回答得堪称完美。最终一题问的是查找QQ号,小case,写了个二分查找,他说觉得这样是否会让我满意呢,我思索了一番又写了一个哈希查找,他又表示仍不满意。此时我情绪已有点小不爽了,便称不知道,,在略带尴尬的氛围中面试拉下帷幕,当时觉着没希望了,内心有点失落。回到家,看了一回《算法导论》,才清楚有一个特别高效的算法是二叉查找,去参加腾讯面试,哎呀,人家都已经给出提示了,然而却还是没有想到,心里有点小小的遗憾。

再过了一周,收到腾讯的hr面试邀请之时,说实话,极其意外。听闻我们学校本科生全部失利,仅我一人通过2面,研究生仅有3人通过2面。hr面未问特别内容,此处不讲。又过一周,收到腾讯正式offer,仍有些许小激动。薪水方面超出我的预期,而最关键的是,一面的面试官看上去颇具厉害之感,觉得腾讯亦是一家极为厉害的公司。

于腾讯工作了四年,其中正式工作三年,实习一年。而后开始承担招聘方面的工作,我们所属部门于挑选求职者之际重点考量聪明程度、视野、大局观、气场等这类软实力。那时我负责面谈了一个孩子,其各方面表现颇为不错,组长认为也还凑合,然而却被总监驳回录用,缘由是质地太软,欠缺霸气。另外有一个哥们,技术以及基础层面感觉均可,只是被组长否决,缘由是视野以及聪明度不足。

准备去面试腾讯的同学,所以建议要多留意近期互联网方面最新的动态,还要多去练练表达。要是能在面试当中批判一下近期腾讯出现的决策失误以及产品存在的缺陷,不管说的对不对,都会觉得这个孩子挺不错,这样一定会加分的;不过也不能太过了,要是完全说的不对还一直侃侃而谈,会让人感觉你这个人特别浮夸,也是会被淘汰掉的。拿捏尺度这件事很重要。另外还有一点,语速快并且语气坚决、目光坚毅自信的同学,比语速慢、表达不流畅的同学成功几率更高。有个哥们我去面试过,之后呢他顶替了我领域负责人位置,这是后面要说的事。他面试时特别自信,要是问些所谓“弱智”问题还会被他反过来嘲讽,当时大家就觉得这人超厉害,面试进行得挺顺利,一天连续面了五次环节,当天就给发了 offer。腾讯进行面试啊,腾讯社招包括电话面试、第一次有关技术的面试、组长面试、平台总监面试、部门经理面试、人力资源方面的面试。总共是六次面试,实际面谈是五次面试。

参加面试之际,首先应当要拥有自信,倘若能够达成不卑不亢的状态,实际上便已然成功了一半。我察觉到绝大多数程序员都并非十分自信,给人的感觉略微有些文弱,要是你自身对自己都缺乏自信,又怎么能够去期望公司对你怀有自信呢。然而呢,也绝对不可以过度自信,一旦自信心爆棚那就是自大了,面试过一个有着两年开发经验的人,问他技术他却全然不知,只是一味地谈论项目。进行腾讯面试时,询问他在项目中做了些什么,他依旧只是谈论项目是什么。在我这里是直接被毙掉了,还问能不能开到三十万,我也只能让他回家去等待消息了。

把2014年腾讯面试题进行整理,并且还附有网友的解答,对于感兴趣的同学可以参考一下。

存在一道不定项选择题,共计二十五题,每一道题分值为四分,总分值是一百,若出现少选情况,或者错选情况,又或者多选情况,均不会得分。

已知存在一棵二叉树,若其先序遍历的节点顺序呈现为:ADCEFGHB ,而其中序遍历的顺序是:CDFEGHAB ,那么后序遍历的结果就是:(D)

A.CFHGEBDAB当中既有数字,又有字母,CDFEGHBAC同样如此,FGHCDEBAD也是这样,CFHGEDBA亦是这般。

根据先序遍历和中序遍历能唯一确定二叉树:

留意,若要唯一地定下一棵二叉树,就必须已经知晓两种遍历方式,而且其中必定得有中序遍历,起因是先序遍历和后序遍历没办法确定左右子树,就如同下面所展示的图形那样:

从上图中我们可以看出,没有中序是不能确定一颗树的!

接下来要问的是,以下哪两组数据结构,在同时具备较高的查找效能以及删除效能方面是符合要求的呢?(答案是CD)

A.有序数组B.有序链表C.AVL树D.Hash表

数组的删除性能比较差,而链表的查找性能比较差!

在下述排序算法之中,哪一些的时间复杂度不会高于nlogn呢?(BC)

A.快速排序B.堆排序C.归并排序D.冒泡排序

快排和冒泡排序在最坏情况下的时间复杂度是O(n^2);

采取堆排序的一组数,其4初始序列是1 8 6 2 5 4 7 3 ,在建堆(小根堆)整个过程结束的时候,堆所对应的二叉树按照中序遍历的序列是:(A)

A.83251647

B.32851467

C.38251674

D.82351476

建立小根堆的过程如下图所示:

5当n=5时,下列函数的返回值是:(A)

A.5B.7C.8D.10

将6S市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%

7Unix系统中,哪些可以用于进程间的通信?(ABCD)

进程之间进行通信,主要涵盖管道,系统 IPC,其中包含消息队列,信号量,共享存储,还有 SOCKET。

A.SocketB.共享内存C.消息队列D.信号量

8静态变量通常存储在进程哪个区?(C)

A.栈区B.堆区C.全局区D.代码区

栈区一般用于存储比较小的临时变量;

堆区一般用于存储比较大的临时变量;

代码区用于存储代码;

全局区用于存储全局变量,静态变量等。

9查询性能(B)

A.在Name字段上添加主键

B.在Name字段上添加索引

C.在Age字段上添加主键

D.在Age字段上添加索引

要是常常按照特定的字段去搜索表,或者针对表的记录施行排序,那么能够借助创建该字段的索引,以此来加快执行这些操作的速度。

IP地址131.153.12.71,它属于一个(B)类IP地址。

A.AB.BC.CD.D

A类:0打头

B类:10打头

C类:110打头

D类:1110打头

11下推自动识别机的语言是:(C)

A.0型语言B.1型语言C.2型语言D.3型语言

参考:维基百科

12下列程序的输出是:(D)

#defineadd(a+b)a+b

5*3+4=19

A.23B.35C.16D.19

在当通过13浏览器去对某页面进行访问的这种情况下,当HTTP协议返回的状态码呈现为403 时所要表达的意思是:所做的相应情况为B。

A找不到该页面

B禁止访问

C内部服务器访问

D服务器繁忙

若是存在这样一个系统,当出现15跟4相乘的结果等于112这种情况时,那么该系统所采用的就是(A)进制,14。

A.6B.7C.8D.9

逐个带入即可:

在6进制的这种情况下,15所对应的十进制数是11,112对应的十进制数是44,并且存在11乘以4等于44这样的情况。

15 某段文本里各个字母出现的频率分别是,a 出现的频率为 4,b 出现的频率为 3,o 出现的频率为 12,h 出现的频率为 7,i 出现的频率为 10,使用哈夫曼编码,那么哪种是可能的编码:(A)

Aa(000)b(001)h(01)i(10)o(11)

Ca(000)b(001)h(01)i(10)o(00)

16TCP和IP分别对应了OSI中的哪几层?(CD)

AApplicationlayer

BPresentationlayer

CTransportlayer

DNetworklayer

TCP是传输层协议

IP是网络层协议

对于一个入栈序列为A,B,C,D,E的栈,那么栈不可能得出这样的输出序列是哪种状况呢?答案是(C)。

A.EDCBAB.DECBAC.DCEABD.ABCDE

A:全部入栈后出战

B:ABC入栈,D入栈然后出栈,E入栈然后出栈

C:不可能,

D:A入栈然后出栈,B入栈然后出栈,...

18同一进程下的线程可以共享以下?(BD)

每个线程包括:

线程状态: 线程当前的状态。

一个执行栈

私有的数据区: 用于每个线程局部变量的静态存储空间

寄存器集: 存储处理器的一些状态

在派生类的构造函数方面,当进行对象定义时,构造函数的执行有着怎样的顺序呢?答案是(D)

1:成员对象的构造函数

2:基类的构造函数

3:派生类本身的构造函数

A.123B.231C.321D.213

20如何减少换页错误?(BC)

A进程倾向于占用CPU

满足进程要求的是那种被称为B访问局部性(localityofreference)的东西,它有着特定的性质,是一种能契合进程需求的特性。

C进程倾向于占用I/O

由D来运用,基于最短剩余时间,也就是shortestremainingtime的调度机制。

一种被称作SRT算法的算法,它是SPN算法的抢占式版本,这种算法,总是将剩余时间最短的进程挑选出来,让其运行。

由于时间短暂致使结束运行迅速,无需进行频繁的进程切换,而频繁切换进程会导致对内存进行刷新操作,如此一来,换页错误发生的概率便降低了。

21递归函数最终会结束,那么这个函数一定?(B)

A使用了局部变量

B有一个分支不调用自身

C使用了全局变量或者使用了一个或多个参数

D没有循环调用

22编译过程中,语法分析器的任务是(B)

A分析单词是怎样构成的

B分析单词串是如何构成语言和说明的

C分析语句和说明是如何构成程序的

D分析程序的结构

23同步机制应该遵循哪些基本准则?(ABCD)

A.空闲让进B.忙则等待C.有限等待D.让权等待

24进程进入等待状态有哪几种方式?(ABCD)

ACPU调度给优先级更高的线程(运行态转为就绪态)

B阻塞的线程获得资源或者信号(阻塞态转为就绪态)

C在时间片轮转的情况下,如果时间片到了(运行态转为就绪态)

D获得spinlock未果(运行态转为就绪态)

25设计模式中,属于结构型模式的有哪些?(BC)

A状态模式B装饰模式C代理模式D观察者模式

26、根据以下代码?

int ack(int m,int n)

{if(m == 0)

return n + 1;

else if(n == 0)

return ack(m-1,1);

else

返回,阿克曼函数(m减1,阿克曼函数(m,n减1))。

如果ack(3,3),。结果为多少

27、请构思一个排队体系,要可以让每一个进入队列的使用者都能够瞧见自身于队列里所处的位置以及其变化情况,队列随时都有可能会有人加入与此同时也有人退出;一旦有人退出进而对使用者的位置排名造成影响之时就需要即刻反馈于使用者。

28、有A、B这两个整数集合,要去设计出一个算法,用来求它们的交集,并且要尽可能地做到高效。

我的回答是:要是针对数据规模较小(10W以下)的情况,我会运用哈希的方式去求取数集较小的那个集合的hash值,并将其存于hash表之中,然后对另一个表里的每一个数实施hash操作,要是在hash表里能够找到,那么这个数便是交集的数,进而输出。此算法的时间效率为O(n+m),空间效率为O(3n+m);(这是由于hash差不多浪费掉一半的空间)

对于大数据,我先是把数据hash0的样子,分到好多好多小文件里头,接着呢,针对这些hash值的次数,去建一颗二叉查找树,再然后,遍历另外一个集合的数去查找,每找到一个,就输出一个,最终得到集合数。算法效率是O(n/100*m*log(n/100)),空间效率是O(n+m)。

29、怎么在linux下查找一个文件中有多少个给定的字符串

回:此题目原本是想要考查我的shell编程的本领吧,然而我讲这个不会,随后他询问我要是编写程序达成呢。

我答我会用trie树去记录字符串出现的次数

然后有被问道更深入一点的,如果文件过大呢?

我回应,那就将文件内容进行hash取模,进而分成多个足够小的文件,接着每个小文件运用trie记录结果,随后输出一个小文件,最终把所有结果文件合并起来,如此便可得到最终结果。

30、写二叉查找树的查找算法,答案就不写了,简单。

写好之后,面试官再度询问我从这儿去某个地方,要最短时间,该怎么去求。

我回答的是关于最短路算法的这个问题,之后他又询问我怎样知晓所去路径是否畅通,我给出的回答是运用传递闭包来进行计算。

他问我如何传递闭包,然后我就画图演示了一下这个过程

31、进程与线程的区别

答这题时,我答得特别糟糕,我仅仅答出了进程具备资源,线程不具备资源,进程的数量是有限的,然而线程的数量几乎没有限制,进程的调度较为缓慢,线程的调度是快速的这些基本要点。

可是当被问及为啥进程调度比线程更加缓缓吞吞的时候,我没办法回答出来,我声称是由于用户态与内核态的相互转换所导致的,然而去百度搜索一番,查找出来的答案应该是鉴于线程调度是于进程之中开展的,是在同一个存储区域之内进行操作的,而进程却是在不同的存储区域进行操作的,所以进程调度的速度要比线程来得慢。

32、问我TCP/IP有多少层

你说出标准的OSI,它是7层层数的那个,然而,当下工业领域之中,大部分采用的是5层标准的那种,随后,针对这些标准相关内容进行表述,你仅能够说出5层标准的那一项内容。

接着又问我IP层(网络层)的作用,

我进行了诸多回答,还提及了TCP、UDP这些内容,之后呢是在面试官给予提示的状况下,我才得以答出,网络层具备映射这一作用,而这映射主要是针对IP和MAC地址以及端口而言的映射(我不确定这样的回答是否正确)

接着又问我TCP和UDP的区别

我会回答,TCP具备连接特性,UDP不具备连接特性,TCP借由三次握手确保数据可靠性,UDP不存在此情况。

末尾的时候,还向我询问关于滑动窗口之类的事情,我便做了回答,指出滑动窗口的作用在于确保数据能够被客户端准确无误地接收,随后他又进一步追问为何能够做到保证,紧接着我就通过绘制图形的方式来展示滑动窗口的发送过程、接收过程以及移动过程。

33、写一个函数,计算给定的一个整数中有多少个0

分享到:
客服服务热线
关于我们
产品与服务
收费与推广
网站特色
咨询反馈
微信公众号
手机浏览

Copyright © 2018 All Rights Reserved 版权所有 宁国人才网 苏ICP备2024139598号-6

地址:安徽省合肥市瑶海区 EMAIL:

Powered by PHPYun.

用微信扫一扫