腾讯笔试面试经验及体会

  又一次由一个小小的随机事件驱动,最终我决定来哈尔滨试一下。这一试不要紧,改变了我对于腾讯的成见,改变了我对于许多事物的思考角度及态度。

  9月23日上午启程,下午4点多抵达哈尔滨。在火车站打听哈工大在哪儿,结果得到两种截然不同的回答,只好自己打开手机询问百度知道,在哈站兜了一个大圈,终于找到了去哈工大的公交。

  5点多抵达HIT,没有想象中的宏伟,也许浓缩的就是精华吧。计算机学院偏居一角,着实显得孤零零的,居然还没我们系的楼显得气派、现代和有科技感时尚感(也许我们的面子工程做得比较到位吧,呵呵)。一群老师正在抬一个名人的雕像,向几个同学打听了下腾讯笔试的情况,结果都说只知道他们之前在这儿开过宣讲会,不晓得笔试这回事。

  5点半,见到了刚下完课的龙哥,几年没见显得格外得亲切。怎么说呢,我和龙哥的交情也很特别,他是我干爹干娘的带了三年的"嫡系"学生,又是我高中三年同班同学,样子没变但显得更帅了一些(后来竟被旅店老板当成了韩国人,羡慕嫉妒爱与恨ing~)。在哈工大食堂请我吃了一顿饭之后帮我找旅馆安顿了下来,又不顾晚上有选修课怕我找不回去带我去在旅馆和正心楼之间走了两圈。

  9月24日上午,开考前一个小时竟然不知道考试地点的确切位置,因为23日下午收到的腾讯笔试通知短信只说了"哈尔滨站",让去网上查询详情。我联系了面试官Steven,他说工大和工程大概各有5个考场,具体帮我查查,我真不好意思麻烦他,就自己赶紧在工大外面找了个网吧。

  9点10分,在动用了一切人肉+狗肉的搜索手段之后,终于知道自己被分在了哈工程的一个考场,赶紧决定赶过去。出门打的也费了番周折,第一个的哥竟然不知道哈工程在哪儿,无语ing。

  司机很好心,车开进了哈工程并且一路打听21B楼在哪儿,又是兜了一个圈之后终于找到。楼前的奥列霍夫广场又很多人在那儿开着大喇叭宣讲,一派热闹。哪知我的考场由地下改为了二楼,又是一番周折,10点3分,刚开始发试卷,恰好赶到。

  答题时很闹心,外面那帮宣讲的,伴着重口味的音乐呐喊个不停。也许有些紧张和烦躁,最后一道附加题竟然只写在了试卷而非答题卡上(虽然不计入总分只作为参考,但毕竟浪费了时间)。12点交完卷来到广场却发现是一些科技协会的纳新。有瓦良格号航母模型(舰载机除了一架Su-33竟然还有一架前掠翼的Su-47,这同学的想象力也真够强的),有我在博创杯比赛现场看到了那种不知道是做间谍用的还是做自杀式鱼雷用的自游的"鱼",还有历年从哈军工-哈船舶-哈工程出来的两院院士的大幅照片,……围成了一个小迷宫。

  中午去哈工程校园内一个餐馆吃了饭,店主一家是在韩国待了很多年的朝鲜族人,大部分食物都是正宗的韩国风味。我点了泥鳅汤,没想到他们的做法是剔除了所有的骨头,当然肉都碎到了汤里,当然也去除了苦味,很好吃也很辣。店主女儿长得也很漂亮,一笑起来很迷人。

  饭后从哈工程门口打的去飞泷酒店准备面试,车刚开动,的哥--不,的叔拍了下我的大腿,“你十几?”这时我突然意识到今天我竟然穿了运动服去面试,看起来活像高中生(这也许就是著名IT公司令人向往但地方,Google、Facebook等公司的创始人都希望他们的公司像大学一样充满自由和创造力),我说明了此行但目的,他说他很羡慕我们这个年龄段的人。

  这次腾讯的笔试题目不难,很多题目颇有考研题目和软件设计师题目的风格。但结果颇为意外:我自己感觉良好的选择题得分却不及平均水平;而自己感觉发挥较差的大题得分却在前几名,笔试总成绩也就一般般。但因为是内推的缘故(感谢佳彤姐姐和Boss -- Chris)所以能够先期得到批阅和首先得到面试机会。

  本来通知是两点半面试的,但是出了点差错,因为Steven没找着我的试卷,所以只得统一改,这样我就在酒店大厅等待。当天还有海信、海格等公司的面试,趁机会也打听了些情况,认识了一些哈工业、哈理工等学校的应聘者,他们普遍羡慕知名IT公司的工资和工作环境的自由。还认识到了哈尔滨人和沈阳人的差别:前者喜欢到外地闯荡;后者对外地人心存畏惧一心想窝在东北。

  下午五点多,Steven通知我一面开始,他先拿了我的卷子说笔试考得一般般,看看面试怎么样,并问我如果通过了一面下面有何打算,我支支唔唔也没有明确回答出来。他拿出纸和笔想了想就神速写下两道题目,要求编程做出,写出代码。我先做第二道,因为这道高中就做过,不过很多年也不太熟悉了,我先用一种"科学家用的"伪代码描述(有点故弄玄虚,但他看也没看),之后用C++实现,用了不到7分钟。接下来做第一道,确实有难度,这次我没打算把具体代码写出,就直接写算法思路,然后一部分一部分地优化,给出了两种方案,汉字描述写了整整一页纸,哪知他扫了一眼后说"我让你写代码,不是算法描述,怎么怎么做谁不知道啊,关键是代码实现",看来取巧不成,只得硬着头皮写……

  从堆排序到基数排序到数字特征,从STL的sort到vector(mainshi.cnrencai.com),能用的都用上了,许多东西写了又删去,因为找到了一种更简洁高效的实现方式……就这样过去了半个多小时。他看了代码第一句就说,"你假设数据都在内存中了,可这么大数据在内存中能放下吗?合适吗?考虑内外存的交换了没?" 我先是傻了眼,然后灵机一动说,"一亿零一万个整数也就是400多兆,现在的机器基本都是4G,十分之一的空间放这个也不足为过,况且最大分配连续空间是可调的。但说实话,如果考虑内外存的交换的话需要归并外排序,我对于这个只知道大致原理,实现不太熟悉",(呵呵,他设计的数据量还不足够大,救了我一命,估计后面面试的人就没这么幸运了) 然后他继续看代码,先是点了点头然后又皱了眉头,我在旁边不停地解释我算法的思想,还有一些特殊的实现细节比如异或交换两数,而且尤其强调我算法的O(n)的线性复杂度。不一会儿,他指着我的代码,点评“后面这些有必要再放在一个循环中吗?不能和前面的合并吗?边统计边排不行吗?”原来这个东西最优的算法只需要过一遍就行了,而我的算法虽然达到了O(n)的复杂度但却扫了三趟。

  他最后给出了评价,40分钟,扣掉你写算法描述浪费的十几分钟,半个小时的时间完成了两题,虽然第一道题有一点问题但毕竟达到了最优的复杂度,基本方法也就是那个样子,编程功底比较好,按照以往经验应该属于上等。接下来他又问了几个关于TCP/IP、网络通信、C++的问题,我答得好坏参半。

  他指了指桌上的试卷,"这是笔试较高的同学,17个,都是本科生",又指了指床上的一摞试卷,"这是淘汰的,很多研究生也在里面。我感觉本科生答这些题目更有优势,研究生项目做多了,基础的都忘了"。又嘀咕了一句,大概是前面的选择题我怎么能做得和研究生一样差。他又说分析了下我的试卷,感觉我的不足在Linux、数据库、C++方面(汗!这些都是以往我认为的强项啊……),数据结构的基础还是比较好的,能否有机会进入下一轮取决于这17个人里有多少面试表现比你差,不出大的意外的话应该有机会。还建议我火车票不要改签了,因为下面的面试官27号才会来。

  这次哈尔滨之行,让我看到了腾讯员工行动与思维的敏捷与睿智,看到了我自认为的强项竟然是如此的weak。同时也再次验证了这么多年考试的一个事实:自己感觉考得好的一般很差;自己感觉发挥得差的却未必差。

本文已影响6827
上一篇:关于面试准备的一些技巧经验 下一篇:广州苏宁面试经验小结

相关文章推荐

|||||