腾讯实习求职经历-百转千回终取offer(后附大量面试题)

腾讯笔试面试经历 
笔试时间是4.8晚上,由于要求电脑要有摄像头,好不容易借了个,笔试题考的范围很广,还有各类语言,我只会C/C++,因此对于Python,java,object-c看到这类题就直接选C,选择题磕磕绊绊,大题还好考的比较基础,无奈本身基础不牢,但仍是认真填写了。

面试时间是4.14-4.17
本觉得笔试挂了打算去霸面的,结果4.13下午收到面试通知,后来一问,班上参加笔试的同窗基本都经过了,暗自庆幸了。13号下午有个在腾讯学长说他们部门能够另外推荐面试,要咱们发简历,想着能够有两次面试机会,就发了份简历,没想到晚上就收到面试通知。
个人两个面试都是下午,个人同窗上午面试的不少,你们都在群里讨论,最快的有些上午就直接二面,内心有些不安定了。下午的面试一个2点,一个4点,吃过饭就早早赶去面试酒店。腾讯真的很土豪,几乎把整个酒店都包下了,从6-29楼都是面试的。
第一个面试,我提早到达面试房间,我应该是下午第一个,去的时候门还没开,估计面试官在休息。进去后,面试官直接要我写代码,反转链表,他就本身烧水去了,我5分钟就写了(其实不用这么久,佯装思考了下,嘿嘿),而后边跟他讲思路,边指代码。面试官看了没问题,就拿着简历问项目,而后又问了虚函数的实现,最后聊了几句,问我有什么问的,就结束了,我看了下时间总共才17分钟。出来以后内心七上八下的,面的时间过短了。

第二个面试,至关于霸面,提早跟部门leader通了电话约时间,恰好我电话过去,他们部门leader说有时间,我就直接去了面试房间。面试官很亲切,问了下项目,指出了项目中的一些不足,咱们讨论了下。而后就是各类问题目,写代码,运气很好,问的都是我会的,具体题目后面有。结束时,面试官问我以前那个面试官的房间号。这面总共面了30多分钟,自我感受不错。
回来路上已是下午5点多了,收到一个学长的qq消息,说他们部门leader对个人印象不错,要我好好准备,等二面,当时心中一阵窃喜,到了晚上,那边学长又说,第一个面的部门也经过了,要我先从流程上结束第一个部门的面试才能转到他们部门来,想一想两个部门都经过一面了,内心何止是喜悦,比捡钱还高兴。

转折点 
接下来的时间就是等二面通知了,个人其余同窗也有不少经过一面的,基本他们都是(4.14)晚上就收到二面通知,次日(4.15)去面试,最快的已经到hr面了,我查了下个人状态仍是初试阶段,当时我就想只要没挂,反正那边已经查到一面过了,我就安心等吧,次日我安心的查漏补缺,我有些被拒的同窗已经去霸面了,我等了一天也没收到任何通知。当晚(4.15)已有部门同窗收到hr面的通知了,我仍是初试状态,到了第三天(4.16),我有些坐不住了,打算再没消息就直接过去问问,结果到了中午,我同窗电话我说在那边没有查到个人任何面试经过的信息,我查了微信状态,竟然变成不适合该岗位,把我拒了,心情顿时低落的,立刻收拾心情,打电话跟学长讲了本身的状况,他也很惊讶,他帮我问了下,说他们部门二面面试官下午就要走了,因此没办法安排二面面试了,因此此次就这样结束了。我内心很不甘心,想着立刻要走了,我立马动身打的赶到了面试地点,找学长要了他leader(一面面试官)的电话,直接打电话过去,恰好他立刻要离开,我请求他帮我安排二面,当时他说帮我问问,后来过了几分钟,我以为不妥,又打电话过去确认,最后帮我将个人面试流程改为复试,说下午若是二面面试官有时间才面试,没有就没办法了,让我先等着。我已经很感激面试官帮我争取了这么个机会了,到了下午,面试官们开始面试了,我只能等着,想了想等着不是个事,我打听到了二面面试官的房间号,本身直接就上去了,在房外等着有机会就进去,运气还比较好,我前面就一我的面试,等着面试完,我直接进了面试房间,确认下是否是那个部门的面试官,而后说明了本身的来历,面试官赞成让我面试了,随便聊聊以后,面试官说下午要赶着回去,今天就这样了,有机会就帮你看看。内心已经很知足了,可以争取到这么多已经不容易了,就带着一丝不甘心回去等了。

第四天(4.17)身边同窗都面完hr了,我这边却没有任何音信,我也就再也不关心这事了,知道本身没戏了。
后来知道4.21-4.24在长沙面试,买了个车票打算去长沙霸面。
到了4.20号,忽然接到一个深圳的电话,竟然是腾讯hr打来的,说要面试,简单的聊了20分钟,最后说等通知,聊完就把车票给退了。这真是又意外,又惊喜。
4.24号中午吃饭前收到腾讯hr电话,确认信息,给offer了。
这一路过来,心路历程各类坎坷,经历了大起大落,终于取得正果,坚持就是胜利。

我的经历感受,面试过程必备下面四个方面: 

1.研究生通常会先问项目,因此对项目的描述必定要重点突出,细节部分要了如指掌,要将项目的背景提高到一个大的高度,最重要的是体现本身的工做量(包括遇到的困难,如何解决)。  
2.基础知识要熟悉,这里说的并非全部的基础知识,常问也就那么几个,为了面试针对性的复习就行了(后面有干货)。  
3.手写代码技能,我的感受要在代码中体现两点,边界条件考虑;能体现思路清晰,不必定每一个函数都得实现,但算法思路必定要体现。另外还有必要的注释会帮助面试官理解你的思路。  
4.最后来一碗鸡汤:对本身想要的东西,要不顾一切的去追求,不要轻易放弃。  

谢谢牛友听我啰嗦完,下面是本次腾讯面试的题目汇总,有些是身边同窗提供的,没有给出答案,相信牛友们会本身找的。

面试题汇总(干货) 
计算机网络相关  
1 TCP三次握手、四次握手
2 TCP滑动窗口机制
3 TCP拥塞控制机制
4 socket模型

C/C++相关  
1 虚析构、模板和宏
2 虚函数实现机制
3 vector与list的区别,map是如何实现的,查找效率是多少
4 extern 关键字有什么用
5 malloc和new的区别,可否malloc(1.2G)

linux以及操做系统相关  
1 内存池实现
2 进程间通讯机制
3 Linux ps命令,以及看内存当前使用状态的命令
4 进程与线程的区别,共享的数据
5 进程的内存空间

算法与数据结构   (手写代码实现)  
1 大整数加、减、乘、除、求模运算实现
2 不少整数,找其中出现次数最多的那个数
3 单链表翻转(两个指针如何实现)、查找、删除、插入以及双向链表、有序链表合并
4 判断一个整数是不是2的整数次幂.(n&(n-1))
5 二分查找(注意边界条件)
6 常见排序算法的实现以及稳定性(快排跟归并考的不少)
7 字符串翻转(O(n))、匹配(KMP算法)
8 最长递增子序列(nlogn的算法)
9 链表判断是否有环,环的入口,两个链表是否相交(快慢指针)。
10 指定一个数组,求2个数的和等于指定的和(某一个数),若是是3,4,5,n个等于个的和(某一个数)呢?(能够看做背包问题)

其余  
1 红黑树的性质以及插入和删除
2 解析XML文件
3 千万级的用户,提供一个服务,该服务有不少模块,如今有一个底层模块须要优化,问怎么实现,在不影响其余服务模块以及用户体验的状况下。(面IEG)
4 卡特兰数以及公式推导(应多不少)
5 未知大小的文件,翻转整个文件
6 若是内存中有个cache存储qq号和最近登陆时间问怎么样作hit和淘汰
7 检测短信敏感词
8 大数据问题
9 C++、java和PHP有什么本质区别