腾讯求职经历(后附大量面试题+面试心得+学习资料)详细
实习经历
在鹅厂实习了六个月,时间说快也快,现在趁着写毕设的空,整理下,聊聊自己的感受吧,顺便再赚取大伙的眼球。
搞开发的确实很忙:个人感觉,忙的原因并不是因为工作量太大,压缩了时间。可能我是实习生的原因,PM给大家任务时尽量都留buffer的,好几次leader跟pm都问我,工作紧不紧,忙不忙的过来。我觉得我忙是因为我要学习新的知识,新的技术,汲取周围牛逼同事的技能,还要应对跟周边组件的交流。
氛围轻松:大家坐在一块,有问题直接喊就是,隔空交流,吃饭喊一声大家一起去,时不时有人在交流群里发个图或段子,大家立马加入讨论一番,然后继续coding,总有一两个人牺牲小我,自黑任人黑,逗得大家乐呵呵,隔壁的产品女神团队也经常来鼓励我们,发红包跟吃饭是常有的事,每次大家都会为此忙一阵子。周一来了,又周五了。程序猿的生活虽算不上高雅(有些人私下里过得很有品味),但至少不压抑。
福利多多:几乎每天腾大广场都有活动,不论新老员工都很乐意参加,公仔从来不嫌多。部门里活动基本也是一个月组织一次,绝对占用的是工作时间,不是周末。年会就不用说了,人们口中说的“别人家的年会”。还有很多住房等福利,估计等我正式入职了才知道,听说很厚很厚。还有漂亮的妹子也很多。
技术成长:牛人很多,身边总有人是你佩服的,总有技术是你需要学习的,总有地方是你的能力可以发挥的。
以上是我个人的一些切实经历,并不是为了说明什么,但想提醒大家,一个好的公司(包括Google,Facebook,MS,BAT等等)是值得我们这些找工作的人为此努力付出的。
腾讯笔试面试经历
笔试时间是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了。这一路过来,心路历程各种坎坷,经历了大起大落,终于取得正果,坚持就是胜利。实习结束考核面试
GM面试,面试内容比较简单。
聊了下实习期间收获了什么,学到了什么技术。问了一个算法题,一个tcp网络的问题。当时面试感觉并不是很好,但后来私底下联系了GM,补充了一些实习感受。
最后有惊无险的拿到了offer,再过了一个多月就给了SP。
个人经历感觉,面试过程必备下面四个方面:
1.研究生一般会先问项目,所以对项目的描述一定要重点突出,细节部分要了如指掌,要将项目的背景提升到一个大的高度,最重要的是体现自己的工作量(包括遇到的困难,如何解决)。
2.基础知识要熟悉,这里说的并不是所有的基础知识,常问也就那么几个,为了面试针对性的复习就好了(后面有干货)。
3.手写代码技能,个人感觉要在代码中体现两点,边界条件考虑;能体现思路清晰,不一定每个函数都得实现,但算法思路一定要体现。另外还有必要的注释会帮助面试官理解你的思路。
4.最后来一碗鸡汤:对自己想要的东西,要不顾一切的去追求,不要轻易放弃。 谢谢牛友听我啰嗦完,下面是本次腾讯面试的题目汇总,有些是身边同学提供的,没有给出答案,相信牛友们会自己找的。
面试题汇总(干货)
计算机网络相关
- TCP三次握手、四次挥手
- TCP滑动窗口机制
- TCP拥塞控制机制
- socket模型
C/C++相关
- 虚析构、模板和宏
- 虚函数实现机制
- vector与list的区别,map是如何实现的,查找效率是多少
- extern 关键字有什么用
- malloc和new的区别,能否malloc(1.2G)
linux以及操作系统相关
- 内存池实现
- 进程间通信机制
- Linux ps命令,以及看内存当前使用状态的命令
- 进程与线程的区别,共享的数据
- 进程的内存空间
算法与数据结构 (手写代码实现)
- 大整数加、减、乘、除、求模运算实现
- 很多整数,找其中出现次数最多的那个数
- 单链表翻转(两个指针如何实现)、查找、删除、插入以及双向链表、有序链表合并
- 判断一个整数是否是2的整数次幂.(n&(n-1))
- 二分查找(注意边界条件)
- 常见排序算法的实现以及稳定性(快排跟归并考的很多)
- 字符串翻转(O(n))、匹配(KMP算法)
- 最长递增子序列(nlogn的算法)
- 链表判断是否有环,环的入口,两个链表是否相交(快慢指针)。
- 指定一个数组,求2个数的和等于指定的和(某一个数),如果是3,4,5,n个等于个的和(某一个数)呢?(可以看作背包问题)
- 跳台阶问题
其他
- 红黑树的性质以及插入和删除
- 解析XML文件
- 千万级的用户,提供一个服务,该服务有很多模块,现在有一个底层模块需要优化,问怎么实现,在不影响其他服务模块以及用户体验的情况下。(面IEG)
- 卡特兰数以及公式推导(应多很多)
- 未知大小的文件,翻转整个文件
- 如果内存中有个cache存储qq号和最近登录时间问怎么样做hit和淘汰
- 检测短信敏感词
- 大数据问题
- C++、java和PHP有什么本质区别
面试资料分享
最后针对于上面的面试问到的知识点我总结出了互联网公司java程序员面试涉及到的绝大部分面试题及答案做成了文档和架构视频资料免费分享给大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等等架构技术资料)转发+微信获取!