2010腾讯校园招聘过程
2010腾讯校园招聘过程(后台开发C/C++方向)——由校园招聘看我们学习的方向
笔试:
腾讯技术类主要以C/C++为主,我的一同学J2EE大牛,中软国际实习优秀个人、优秀团队双料得主,连腾讯面试的通知都没有收到。去霸面,人家说,怎么又是J2EE啊,很惊讶的样子。实际上,向网易、迅雷、腾讯这样的网络软件公司大部分技术都是用C/C++实现的,只是公司内部的管理系统用的是J2EE,加之大家最初学的都是C,所以如果没有什么兴趣大可不必去追求J2EE的框架之类的东西。所以,底层的内存模型原理、操作系统、基本数据结构、基本算法才是王道。
比如,腾讯西安站技术类第一题就是:
int b = 2;
int *a = &b;
下列哪一个是错误的:
... ...
C、(++a) = (a++) + 1;
D、(a++) = (++a);
要是想做出这道题,首先要对a++、++a的实现机制很熟悉,要对程序在内存中的存放形式很清楚。
再如,最后一道编程题给了一段信息说的是“树的直径”,然后又给了一个树的定义,编程计算树的直径。还是要求我们对数结构的操作很清楚,对基本的递归算法很熟悉。
附加题是一道关于海量信息存储、筛选的问题,我觉得要我们对外排序、归并排序、树结构很清楚才可以写一些有意义的想法上去的。
技术一面:
刷人很多,面试官首先给你出一道编程题,基本的C算法的那种,给我出的是:用C编写一个函数,对于一个给定字符串,将其空格去掉、并返回空格个数。
我写了一个函数: int getSpaceNumAndDelSpace(char* string); (从软件工程的角度来说这个名字的内聚性不够高,一个函数里完成了两个操作,后来面试官也问道我这个问题了) 我的算法:主要是遍历字符串,遇到空格后把后边的字符依次前移,算法复杂度O(n2)的那种。面试官看完问我有没有其他方法,我说:还可以在函数内部在声明一个字符串,然后遍历原来字符串,把非空格字符依次拷贝到这个临时字符串中,最后在把这个临时串复制到原串中。面试官又问,这样子还是要占用多余的空间啊,能不能不占用这个空间呢。我又想了一会,告诉他没有想出来,并说:这个临时变量在用完之后不是就释放掉了吗?他笑了笑,问我这个临时串是存放在哪的?栈。然后又问了我一些堆、栈、全局变量区的问题;后来还问了关于static关键字的用法;还有extern "C"的含义;虚拟内存的优点与必要性;汇编中为什么没有听说过页寄存器;TCP/IP UDP协议的包头格式、Linux一些常用命令(问到我ls、cd的深层次区别,我当时一点思路都没有)、问到一个算法,关于大量数据的处理,我当时想到的是用一个树形结构……
最后面试官问了一下我的理想工作地点,我答:北京。面试官一脸不悦,说深圳行不行,又给我说了一堆深圳的好处……汗
技术二面:
二面的是一个年轻帅哥,属于典型的思路敏捷型的。上来让我做了一道二分查找的题目,给了函数原型:
int bsearch(int a[], int len, int num);
返回值为找到的元素的下标,没有找到返回比这个数大一点的数的下标。我不到10分钟就写好了,交给他(后来知道是有一点越界错误的)。
他问我了另外一道题目:两个盘子,一个里边5个apple,另一个6个apple,两个人轮流从盘中取apple,每个人每次只能从一个盘子里取,并且最少取一个、最多可以一次取完,问有没有必胜策略。这个题我总共做了一小时(其中中途插了一个霸面的,中断了一段时间)。都中午12点多了,我才想出来。他还算是感到满意,又从一面中我的错题里找了几道,又问道我全局变量加static和不加static有什么区别,我又没有答上来(回宿舍后疯狂百度)……
最后,那个GG问到我为什么选择腾讯、自己相对别的同学有什么优势之类的问题。
就这样,第二天下午就接到短信通知HR面。
HR面:
这一面其实我的感觉还可以,但是就是没有过。去之前同学们一再嘱咐我不要拿offer,一个保研的人了,要那个offer也没有用,还浪费找工作同学的名额,一路上心里很矛盾……
腾讯的HR面试官也很年轻,一派在HR部门呆的很久,人际关系很老练的样子。他主要问我现在有没有拿offer、将来会选择哪里工作、家里几个小孩(有歧义的问法)、期望薪水等。我也没有怎么准备,给他的一些答案也很朦胧。
又过了三天,没有消息,被拒了……
也好,可以一心一意读研了。
后记:
笔试过网易、面试过腾讯,发现这两家公司要求员工的基本知识掌握是很牢的,编程的基本功底要好,人的心理要健康。
正好前两天在CSDN上看到一篇文章,叫《C语言学习深度》,在这里一同献上。
最后,我用了两个小时早上的宝贵时间来写这个文章,希望大家不会骂我太多就可以了,另外腾讯公司对笔试、一面的招聘内容要我做保密的。我想,既然offer都发了,这也应该解密了吧。
祝大家都能拿到腾讯这样的offer~
2009-10-31