写给学生朋友的一点建议–面试腾讯有感(转)


前两天去试了一下腾讯。或许很多人不喜欢腾讯,但是不得不说他是中国互联网的一个标志。家里人不懂IT,你说我在qq工作,肯定也稍稍有些自豪感。无论工作环境、待遇,我想都是大多数人想要的。

很不幸,我被腾讯狠狠的鄙视了。

先是笔试,老长的一张卷子。两部分题目,选择题和程序填空题。因为签过保密协议,细节就不多说。卷子考察的内容涉及到所有你本科所学到的知识,具体来说是这几门课:数据结构、算法、操作系统、数据库、计算机组成原理等。前三门占的内容最多。没有什么开放性试题(不过有附加题,但是也不怎么开放。。。)。也就是说,考察的都是基础。不管你投的是开发还是测试,题目都是一样的,更别提具体投的是哪个方向了。程序填空题是两道C程序题(貌似有道是C++,记不得了),不是很难,也是基础的数据结构和算法题。

选择题做的我那个纠结啊,都忘的差不多了。以前也从来不是一个好学生,操作系统是忘的一点不剩了。凭记忆挣扎的做完了选择题,感觉特无语。程序填空题做的还可以,虽然貌似很多没用过C了,但是填空还是没什么问题,程序也不难理解。

很幸运,笔试过了。不过我知道,去腾讯是没戏了。果然,面试就是笔试的翻版而已,仍然是本科时学过的基础科目知识,最后还叫写个程序。和笔试不一样的是没了选择题变成问答,程序题不是填空而已。很多东西真的是记不得了,也只能被腾讯鄙视了。

其实说腾讯,是因为腾讯是最典型的一个。其他大公司,像淘宝之类,其实笔试面试和腾讯差不多,只是没腾讯基础的那么彻底。写这些就是想给还在本科阶段的同学提点建议。

1.成绩很重要,别以为绩点无所谓。面试官问我的第一个问题就是,你年级几名?腾讯的FAQ上也写了,腾讯招收的大多数是成绩20%的学生。这一点也很容易理解,我这边主要要讲的,就是让同学们扎实基础。成绩自然是基础的体现。所以,不要感觉翘课去写代码很好,虽然这是我经常做的,但我现在还是很后悔的。

2.基础很重要。或许你可以参加一下软考,来看看你的基础怎么样。很多人觉得操作系统之类的课程没有用,那是你还没到这个境界。很多时候,你只知道你的程序可以运行了,却不知道如何运行的。如果让你去优化一下,可能更加无从下手了。从腾讯的面试也可以看出,腾讯要的人才不是说做了什么什么项目,得了什么什么将项,这些人家问的很少。当然如果你得的奖是ACM或者数学建模之类,看起来比较学院派的奖项,你会很有竞争力。

3.不要做太多工程化的东西。很多人跟着老师做项目,基本上老师有什么需求,就去学什么内容。很多人自以为自己很牛了,什么都会了。但是其实不是这样,任何事情都是一个双刃剑,要把握好度。很多人为了老师的项目,课也不去上了,或者干脆上课也带个本在写,完全没有必要。还有一点,学的东西广度当然重要,但是深度往往更重要。一个方向的知识,从一个项目中能学到多少?其实项目学到的最多的还是开发的过程,多人协作的方法,所以,不需要太多。

4.很多人看完上面的会问,死读书就有用?我简历上写什么?我一个朋友就是这么问的。如果你把我说的理解为死读书,做书呆子,我也没有办法,但是我想大多数人明白这其中的道理。简历上写什么?这是个问题,却不是重点。大公司一般都有一笔三面。足够一个有经验的程序员判断你是否是他们需要的人才,是不是一个基础扎实,勤奋创新的人才。你肚子里有多少水,一拎就知道了。简历很重要,但不是全部。

5.适当的去做一些项目。找自己感兴趣的方向去做,而不是只是老师的跟班。对android感兴趣,就去做android。你可以去好好的学习java,学习android开发,学习数据库。最好还要学习设计模式,懂一点javaEE,你就会发现,你可以开发一个android应用了。而不是说只看看android的文档,就开始做老师的项目了,做完了就完了。以为自己学到了,其实并没有学到很多。

当然,一上只是个人意见,只是希望对大家有所帮助。不同意的不必太过激动,我只是提一点建议,作为一个过来人。

发表评论