二面已经过去两天了,还没收到通知,我想已经基本可以宣布我这次面试腾讯实习已经失败了。从我知道腾讯实习招聘,到今天已经过去了将近一个多月了,这个月里曾经努力过,也曾经十分接近腾讯了,但最后还是失败了,难免内心十分失落和伤感。但回首过来,我审视我自己是否有进入腾讯实习的能力的时候,我会觉得我还有很多不足的地方,至少在准备的层面上,我可以做的更加细致。但现实就是那样的,当一些机会你没有好好把握住,他就过去了。但我还是幸运的,至少我还看到了他在我的面前。下面我想好好回忆和总结下每一个流程。
报名:个人认为腾讯的宣传工作已经做的十分的充足的了,但是到我去面试的时候,竟然还有很多人是不知道的。所以我想有必要提一下。今年腾讯的实习招聘特别早,3月初就开始了,我也忘了我是怎么知道的,可能因为我的简历上年没有通过,所以今年就留了一个心眼,也因此很早就知道了。但是在报感兴趣的岗位上,我犹豫了。因为的平时做的主要是java和前端,所以一开始的时候我报的是java开发的,但是后来听我一个同学说,腾讯java要的人非常少,所以后来改为报javascript的。经过后来的面试和笔试,我觉得我的选择是正确的。
笔试:腾讯组织还是十分有效率和规范的,很快腾讯就开始组织笔试了。因为很早就公布了笔试的时间,而我一直没有收到笔试的通知,本来以为已经杯具了,但是到了笔试的前一天晚上,我终于收到了腾讯的笔试短信通知。于是想身边的人四处打听。笔试的同伴,后来竟发现基本报了笔试的同学,都进了。再上腾讯招聘网站上看了下,发现通知笔试的人将近5k人。正如想象的那样,笔试的时候,浩浩荡荡的人群去到大学城的华工,几乎把两栋教学楼塞满了。
笔试的内容也令我十分惊讶,开始我上网找的时候,大部分人都是说笔试javascript的基本内容,当试卷下来的时候,在场的人是否都比较惊讶。笔试的内容跟javascript和前端一点关系都没有。里面的内容主要包括数据结构,计算机网络,编译原理,还有一题SQL,而且还有一些数学题,基本就是一些排列组合呀什么的。题目包含了20道选择题,7道填空题,还有两题附加题。本来腾讯安排我们2个小时的时间去做题,开始以为我可以一个小时可以交卷,但最后我连附加题都没做,前面的也仅仅做完而已,因为中间的一些题涉及到比较多的运算和做递归推倒的时候需要大量时间。后来考完出来发现,竟然所有面试技术类软件开发的,做的题目都一样的。
总结这次面试来说,腾讯的笔试基本是海选,而笔试的内容主要是考技术人员的基本能力和思维能力。如果非要准备的话,那从本科开始就要好好地把我上面提到的一些科目学习好吧。因为我觉得我自己也没考好,所以我也不好推荐我的方法了。
一面:过了三天时间,我就收到了腾讯的一面的邮件和短信了,个人觉得他们的效率还是非常高的。但回头问了下跟我一起去笔试的同学,大概5、6个人,结果发现只有我一个人收到了腾讯的一面通知。其实先不说我比他们考的有好多少,因为他们报的都是后台开发,而我报的是前端开发,当天公布笔试名单的时候,我就发现后台开发报的人将近1k人,而前端javascript方向的才200多人。可想他们的那个方向的竞争是多么的激烈,也说明了当初我选择报js是正确的。
来到大学城华工中心酒店的时候,发现来面试的人真多啊,特别是那些非技术类的,什么游戏策划呀,运营呀,因为他们需要群面,所以人都是一群一群的,所以显得人比较多,而我去报到后,就直径走到了面试的房间了。进去的时候是一个年轻的穿着蓝色的衬衣的男面试官,他还比较友好吧,坐下来后,我先自我介绍,然他叫我做了3道选这题和一道大题,这回就是javascript的题目了,题目的难度也还好,这个后来我在网上都找到这些题目了,(简单的搜javascript面试题,一大堆)。做的时候也问了我一些题目,例如ff和ie在获取事件的区别等等一些简单的问题,然后看了下我的简历,接着也看了下我的题目,就说,好吧,准备下二面吧,然后又跟我说看看html5如果这个不会,进来也没用。(就是这句话,我真是想捶胸顿足啊,后来会知道我二面在html5方面准备得是多么的不足)
二面:一面回来以后,我认真地把我一面做过的题目对比下,发现填空题全部都错了。一度让我觉得,那位面试官是不是礼貌地才跟我说那么一句呢?不过很快,第二天下午我就收到了腾讯二面的通知,那种感觉又紧张又兴奋。准备二面这段时间,我也是努力地在不补一些我javascript方面基础的知识和看了下html5方面的资料。前一天晚上我还看了一场恒大(但后来有点后悔,为什么不好好再认真看看html5呢?)就这样,第二天,我就昂首走进了二面的房间。
面试我的是一个高高瘦瘦的男的,进来没有自我介绍,直接看我的简历,一开始的时候,先是问我本科哪里读(我本科学校并不是十分优秀,然后我考来了另一个211学校),我说出来了,他就说那学校不好吧,高考没考好吧,在我的痛处说了一通,然后又说为什么我不考华工的研究生,没考上吧?就这样,一开始,面试官就不断地给我施压,场面我也有点难堪。接着才问我第一个技术问题,(1)网页加载的流程是怎么样的呢?这个我只是把网页加载的过程讲了下,然后他又问(2)具体的http协议的请求有是怎么样的呢?其实这个我答的不好,接着他又说(3)其实http协议的头还包含什么,请求过程是怎么样的。其实到这里,他这个问题基本上我是打不出来的了,只是随便扯了下。后来他很认真地把我的简历一行一行认真看了下。于是问我项目都做什么了,然后我就直接说了,接着他又说,好像(4)你做的东西技术含量不高呢?于是我又扯了一番。当我提到我做页面优化的时候,他又问我,(5)页面优化大概有哪些方法?我讲了两种,减少http链接和压缩(其实还有利用缓存等等,当时我没答上),他看我的回答,似乎有点不满意,而我的内心这时候已经被他打击的有点失落和难受,后来他又问(6)css中怎么处理浏览器兼容性的问题(因为前面我提过这方面的东西),不知道为什么,这些我每天做的东西,在那一瞬间我竟然只是说出一种方法。可能因为我当时情绪已经受到了影响吧,心态已经不平衡了。(7)接着他还问我平时看什么书,我说了我看了“javascript高级编程”我一说完,他似乎很惊讶,说你都开发了,还看那么基础的书呀。我当场被他打击的无比的失落。接着还问了(8)html5的东西,这方面我只是说了一些,他的脸并没有表情,然后说平时可以多留意一下最新的资信什么的。(9)于是还问了一些我平时都上什么论坛,我大概地把国内的论坛都说了一些,他似乎好像不太满意。后来还跟我扯了下(10)平时有没有参加什么开源项目呀,除了编程还有看什么课外的书呀,都做过什么了,后面的时候,我的回答已经显得不那么自信了。
一直面试的时候,他的脸上都是没有表情的,有时候我回答得不怎么样的时候,会有些皱眉头,过程还是比较平和,中间我没回答上的时候,有些冷场,但是他一直问的问题让我一直觉得非常大的压力,可能一方面我自己的技术没跟上吧,另一方面可能是所谓的压力面试吧。不过二面出来后,我基本就觉得我没希望了,从充满希望,到一下子的失落,内心是无比难受,而且突然间会觉得自己特别的累。但是后来我还是有点神经过敏了,第二天的时候,只要短信一响,就以为是腾讯的三面通知,反正就紧张兮兮的,不过,后来我还是慢慢地接受了被淘汰的现实。
总结:跌倒不可怕,重要的是要从失败中找到自己的不足,并且告诫自己不要再犯同样的错误。再者,腾讯这次面试也是我的大公司规范面试的处女面,其实自己真正的javascript研发上面的时间真的不多,而且自己做的项目,现在回头去想,还真的觉得有些简单,所以被刷下来也并不是十分意外,况且这是实习面试,后面的正式招聘还是有机会的。为了日后在更多细节处理好,这里简单总结下这次面试的一些经验:
1、基本编程素养很重要,这里说的不是你编码的规范,而只得是一个程序员,数据结构,网络,操作系统还有编译原理,设计模式和一些数学知识等等,这些基础的知识就是一个优秀的程序员的基本素养,而这些素养也是进入一些公司的第一道门槛。
2、要专注,平时参与一些开发,学习的时候,可以多学习一些框架,多做一些实践,但是在具体某一方面,例如是javascript或者是java,要显示出自己深厚的功底,并且要相对一般学习的人具有一定的竞争力。
3、把握技巧,提前准备。很多时候面试的题目,或者问题,在网上都有人做过,所以可以多找一些面试的题目来做做,一方面看出自己的水平,还可以对那些题目留一个心眼。例如我这次面试,一面的时候,那些题目网上都有。
4、要开阔自己的眼界和深入探讨问题。很多时候我们自己做项目的时候,没有接触过一些大规模的问题,那么我们就需要经常去一些专业的论坛看看那些在参与项目的人说出自己的问题,然后去学习他们解决的方案(这个是在二面的那个面试官提醒我的)。这些书本和平时自己实践都无法接触的,而大公司却很需要这些问题的解决方案。
5、注意自己简历上的每一句话,因为上面的每一句话都有可能成为面试官提问的点,而在面试的过程中,如果是探讨问题的话,可以适当地把面试官引入到自己熟悉的领域,或者是自己已经准备好的方面,当然准备的时候必须要充分,而且要有深度,不然把面试官引入到一个问题,自己却答不上来,那就基本是失败的了。
6、尽量做一些有技术含量的东西,当自己动手去做的时候,要尽量深入地去看问题然后参考下别人做的,尽量把问题做开,不要怕麻烦,做的更加有深度,否者做一千个简单的项目,不如做一个复杂的好项目。但是我也觉得当做项目的时候有一个技术的牛人带着,这方面可以走一些捷径。
另外还有一些,其实大家基本上开始上学都接触到的,例如注重积累,调整心态等等我就不多啰嗦了,反正一句话,成功是留给有充足准备的人。