转自小巫:http://blog.csdn.net/wwj_748/article/details/51278689#comments
前言
好吧,最近很多人都想知道我是如何拿到腾讯社招的offer的,这里不说教,毕竟我不是什么大牛,也没有很干很干的货给到大家,只把我面试的过程分享给大家,给大家一个参考罢了,面试像BAT这样的顶级互联网公司,光凭你满腔热血是根本行不通的,想顺利通关,你面试过程中的具体表现决定了你成败与否。这不是废话吗?确实有点废,下面就说点细节,我是如何一步步最终拿到Offer的。
如何得到面试机会?
这个面试机会我真的只能说是幸运,具体是谁给我这个机会的,我就不透露了,我能说的是我走的应该是内推流程,就是内部人员的推荐所得到的面试机会。这是很普遍的一种招聘手段,能节省招聘成本,更能有效的获得优秀人才。所以很多企业鼓励内部员工推荐人才,来简化招聘流程。那么除了内推流程,还有其他办法得到面试机会么?说实话,除非你的简历特别出众,一般想通过投简历的方式获得面试机会是比较难的一件事,也可能遇到岗位急需用人的情况,你获得面试机会的机率会大些。如果是应届毕业生的话,因为想去BAT的人真的太多了,如果你不是特别出众,比如你在笔试面试展现专业基础扎实,实习经历突出之类的,否则你也很难在众人脱颖而出。所以最后得出的结论,努力提升自己的能力,让自己拥有稀缺性,才有机会去更大的平台。
关于腾讯社招面试流程
我不知道其他岗位是怎样的流程,我先说我求职的岗位吧,我面的是Android工程师,无线研发部,一共四轮面试,分别是:

  • 第一面:组长面(这里两个人面我)
  • 第二面:总监面
  • 第三面:部门经理面
  • 第四面:HR面
    因为我在广州,去的是深圳,一共去了两趟,折腾得我不轻,刚好那段时间身体不好, 面完之后我头晕脑胀的。不过结果倒是好的,如我所愿拿到了最终的offer,这里非常感谢面试官对我的认可。
    第一面
    先说第一面,我面的是社招的基础岗位,所以这一面基本上是你今后的上级面你,两位技术哥,当时都拿着macbook pro,一看就是专业的。一开始,就简单做了自我介绍,然后就开始对我的技术进行全面的考察,因为是社招,不会像招应届生那样考基础,主要是看你的项目经验,还有思维逻辑性,对项目整体的认识,包括技术的选型和架构的设计等等。我们面了差不多一个多小时,基本上把我做得最长的一个项目,全面剖析了一遍,面试官问得很细,提了很多具体的使用场景,比如多线程的控制、性能优化、数据库设计、加密混淆等等。最后,面试官通过我对整个项目的讲解,基本对我的技术水平有一定的了解,并给出了评价,我所涉及的东西还是比较窄。因为我是做app开发,业务逻辑不会非常复杂,所以更多的是面向用户的需求。最后,面试官问我有什么想问的,我就说想知道了解多一点关于团队的事情,面试官说了一通之后,整个面试就结束了,然后顺利进入下一轮。
    第二面
    这是总监面,跟第一面一样,问的问题都是开放性问题,主要看重你是如何解决问题的,看你的思维方式是怎么发散的。比如面试官问我,你为什么觉得你做的产品就比别人好?你为什么要对你们的产品进行性能优化,主要瓶颈在哪里?你是通过什么方式进行优化?你优化的点是怎么考虑的?你在使用第三方服务是处于什么目的,你对它的评价是什么,它们给你带来的好处是什么?如果让你去思考如何更好的为开发者提供服务,你觉得还有什么东西是开发者需要的?你对开发工具类产品感兴趣吗?可以从这些问题看出,面试官并不仅仅看重你的技术能力,还有你对产品的认识。第一面的时候,面试官就谈到说:

我们想找一个比较全面的人,考虑的问题层次不只是说产品某个方面不合理,而是能够推动某个产品的诞生,对产品提出有用的意见。

其实我平时都有关注大公司的技术分享,在面试过程中我就有提到我是如何参考大厂里面的大牛如何解决问题的,并根据他们的实践来完善我们的产品。这两面,有很多细节没有谈到,可以看到面试官想找的人不仅仅要你在技术上有亮点,还有其他方面能吸引到他们,比如面试官在我简历看到我经常写博客,问我出于什么样的目的去写东西,从什么时候开始坚持的,并说这是一个很吸引人的地方。
第三面
顺利通过前面两关,第二个星期进入第三面。这一次面对的是腾讯的部门经理,是一位中年大叔,在腾讯干了十几年技术,跟他交谈的过程中,他给我的感觉都是很平静的。他拿到我的简历,稍微看了一下,就说:挑一个你最熟悉的项目讲讲吧。然后我就说了我是怎么从0到1对项目进行开发和改造的,比如刚开始架构非常混乱,代码结构也不清楚,我是重构了整个项目,并按功能进行分包。然后又问了我是如何进行优化的,在Android中适配是一个很麻烦的问题,你又是怎么做的?这部分我的回答是,尽量不要写死,布局能做到自适应就做到自适应,比如说字体的采用sp,间距采用dp的单位。一般我们都会上传到云测进行机型适配,看反馈的结果,然后再做调整,毕竟要适配所有机型几乎是不可能的事情。然后又为了我怎么做性能优化的问题,我就回答一种是UI上的优化,比如减少过度绘制,不必要嵌套布局,利用include标签来复用控件等等;一种是内存优化,主要通过一些工具检查是否有内存泄露,用一些优化比较好的图片加载框架来按需加载图片,减少内存的消耗。后面就问我有什么要问题,基本上每一轮面试最后都会让你问问题,这一轮我问了关于团队有多少人;当初是怎么把腾讯bugly组建起来的这些需求是从哪里来的;同事们之间的关系怎么样等等。最后,面试官面完之后,就说给我安排HR进入下一轮面试,到了这里我内心其实是很激动的,因为技术面终于结束了,不过HR还是有可能把我刷掉,所以就平复了一下心情进入第四面。
第四面
到了这一轮,基本上你离offer不远了,因为HR很少刷人,除非HR觉得你人品有问题,小巫人品还算不错,所以这一关我很有信心哈。HR问的问题我前面有写过一篇文章,基本上问问题的套路跟这篇文章一样,可以去看看:
求职面试-HR会问什么问题
其实这一面可以说是跟HR之间的博弈,你为什么要离开公司?你在上一家公司负责什么?你是如何跟同事进行交流的?你是如何在一个公司保持自己技术上的更新?你技术上成长最快的是什么时候,为什么?如果你跟产品经理撕逼,如何解决你跟他/她的冲突?你有女朋友么,如果你过来深圳,她怎么办?等等。因为这一关HR是会根据你的回答进行评分的,所以还是得认真对待,尽量展现你个人的能力,规避掉自己的一些缺点,这一关也就没什么大的问题了。
最后
过了几天之后,我就收到HR的口头offer,第二天正式收到offer,刚好那天是我的生日,感觉就像做梦一样。说一下我这次面试腾讯的感受吧,面试官都很友好,问的问题都挺专业。因为我面的是社招岗位,所以不会像招实习生那样考察你的基础,面试官更看重你的工作经验和思维方式,因为这是没办法准备的,经验是你在实际工作中踩坑并填坑所得到的,而像算法、数据结构这些是可以花时间准备,这对有经验的人意义不大。面试过程中,如果你能做到不卑不亢,保持自信的话,你基本已经成功一大半了,你要做的是全面展示你的实力,这样面试官才可能认可你。说到思维方式的锻炼,要给大家安利一个进阶的好地方 stay4it.com 有心课堂。小巫也有在学的。它不仅仅是告诉你需求如何实现,还会教你如何分析,如何选择解决方案以及为什么要这样来实现。让你从每天的复制粘贴,盲目的debug中解放出来,找到解决问题的本质。相信你会有很大的收获。基本上,腾讯的面试经历就这样了,虽然我最终拿到了offer,但觉得有运气的成分在。如果大家还有什么想了解的,可以直接给我留言,我看到会及时回复,最后,感谢大家的阅读。

欢迎关注我的公众号,分享生活、分享技术:wwjblog