小默

zz

腾讯当时的笔试题好像就是侧重c++语法吧,似乎都是比较基本的题目。
面试开始就是问了一些简历的事情,记得问的还是比较仔细的,我的每个项目都逐个介绍了一遍。这道工序完了之后是让我写一个程序解决一个简单的问题,我也比较快就写出来了。他看了一下问了一些问题,我就逐一简答了一下。总共大概花了一个小时左右吧,我就出来了。
------------------------
面试官1周:
给了我一份试题,开始做题,都是一些比较基础的东西。
MFC和ATL/WTL的消息实现机制
排序算法,hash表的定义,优势。
使用C++实现一个单例模式
谈谈除IDE外的调试工具,DegView,WinDbg等等
编程题:
最有效的将54张牌随机生成,我多次使用的随机数,但是考官的要求是只使用一次随机数。

面试官2菜:
问我较多的是网络协议设计的问题,聊了些远程调试方面的技术,dump、minidump
问了些COM组件原理,开发相关的问题

面试官3 不详
问我对QQ文件传输模块的设计
编程题:
将一个超过64位的大数转换成16进制的数字

面试官4 林
问了线程管理相关的问题,COM组件接口的实现机制,调用机制,套间模型等等
-------------
   虽然最终没有选择腾讯,但是感觉腾讯的招聘还是一次很有代表的招聘,希望下面的
经历对大家有些用处。
   本人计算机类硕士,研究方向是三维图形及建模,对游戏很感兴趣,是个游戏玩家(非
网游),所以准备的方向是腾讯游戏类的工程师。
   第一轮:笔试。qq的笔试题还是很有特色的,考察重点是数据结构,Unix,IQ,数据结
构部分都是很基本的知识,如果你不会,那你就该检讨自己了。Unix部分,相对而言比较
陌生,但也不是很难,是Unix方面很基本的东西。这些东西在面试中又一再提到。IQ,比
较难了,尤其是最后一个选做题,题目大家应该都知道了。笔试及格成绩应该是50分左右
吧,而且给分还是很松的。笔试其实是很重要的,因为最后笔试试卷和你的个人材料都是
装订在一起的,每个面试官都会看到。所以,比较差的成绩即使进入了面试也很难走远。
   第二轮:技术类一面。这个和你具体选择的方向关系不大,主要分研发,测试,基础研
究等几个方向。我面的是研发方向的,这个方向我感觉是纯软件的,所以对计算机的学生
来说相当有利,尤其是从事网络,应用软件,数据库这些上层软件的。面试官以提问+代码
相结合。我的问题有:自我介绍,项目介绍,这两个是必须的,在介绍项目的时候,面试
官会深入问问题,会对某些细节,例如数据机构,算法复杂度,数据库连接问一些问题。
随后是专业面试,题目都是相当经典的题目,大致有:进程与线程;Unix和windows进程间
通信的主要方式和系统调用;叙述TCP/UDP协议,他们的应用,TCP的三次握手,滑动窗口
,超时重传;HTTP协议和COOKIE机制和一些COOKIE的问题(这个我不会);让你设计一个PD
A上的通信簿,你会用树还是哈希,从这个问题会引申出hash,平衡数,红黑数的一系列问
题;面向对象的多态是什么,设计一个多态的例子;C++的虚函数实现机制。问题不难,但
是你回答问题的手段和技巧很重要。几个经验:要有自信,敢说精通,熟悉这些词语,对
自己的强项一定要毫不犹豫的说精通。回答问题之前,好好组织一下语言,不要说的颠三
倒四,逻辑不清。问题一定要回答的全面,你说的越多越好,如果能把相关方面说出来更
好。
   在进行技术面的时候,一个最重要的问题就是,你要清楚的知道自己的强项,自己的特
长,尽可能的把面试官朝你的方向引。我的特长是应用软件开发和面向对象建模,所以我
每次自我介绍总要强调自己的软工很好,软件开发流程很熟,这样和很多面试官在软件开
发流程方面就有很多问题可以探讨。你一定要展现出你的技术专业性(你是技术类的)和你
对公司,职位的热情。
   在一面的时候,我向面试官展现了很多我在软件开发方面的技术和对游戏的热爱。所以
,当面试官向我祝贺说"我相信你应该可以进入腾讯",我就知道,这个offer应该有希望了

   第三轮:团队合作,这个问题大家也应该都知道,4副扑克搭塔放鸡蛋的。这一轮我认
为是过场,只要你技术面表现的不错,你这一面都不大会刷。一组8个,我们做的很成功,
两个实验都完成了。但是最后还是只有两个进入了第三轮。而且,最后HR面试的时候,我
偷偷看了一下我的面试记录单,第二面是空的,根本没用啊。
   第四轮:继续技术面,manager技术面,面的很辛苦,腾讯组织的非常不好,很多人等
了很久才开始面,而且一部分面试官因故走了,结果这一面很多人面的很郁闷。面我的据
说是互动娱乐部的一个manager(HR说的),面的问题很无聊:进程和线程,TCP/UDP,排序算
法(让我给他完整的说了一遍我所知道的排序算法和他们的时间复杂度),Windows的内存寻
址方式,Socket中阻塞模式干什么用的,你所认为的软件开发模式和你对你所做项目的一
些评价。最后是一个程序题,写代码,个题非常重要,如果做不出来或者做错了,那就
估计没戏了。题目是给定一个字符串,例如abc123de4f67,把里面所有的数字字串找出来,
并且存贮起来,例如你要把123,4,67找出来,放到3个char型数组里。这个题目很经典了
,相信很多人都知道。
   第五轮:HR面,paul一面定乾坤,淘汰率很高,据说一半。HR面无非就是谈谈薪水啊,
你的家属啊,发你offer你来不来啊,可能根据个人情况还会谈一些其他的。paul和我谈了
很多网游的问题,包括网游的发展前景,一些成功网游的经验,一些竞争公司的情况,游
戏引擎的一些情况,介绍了一下我要去的部门和职位。总之,你应该表现的更加专业点,
要有自信。
   之后发offer,签约会。确定deadline是11月20号。
   对技术类公司的一些总结:基础全面,重点突出,专业对口,满足这三点,就绝对可以
找到一个不错的技术类职位。如果你能对你所要从事的行业有清醒的认识(主要公司,目前
格局,发展趋势),那你将在求职中无往不胜。
   首先感谢腾讯给了这么长的面试流程,好好锻炼了下自己。感谢给了这么长的deadlin
e,好进行选择和思考。感谢面试时认识的很多朋友。
转载请注明出自应届生求职招聘论坛 http://bbs.yingjiesheng.com/,本贴地址:http://bbs.yingjiesheng.com/thread-14383-1-1.html

----------------------
昨天我正式收到了腾讯的实习生offer,暑假我要去深圳的腾讯总部了~
从开始想到申请腾讯实习生,一直到接到lily通知我拿到offer,过程还是挺曲折的~我只是想记录下这段经历~
腾讯的面试是我第二次的正式面试。第一次是以前写过的51job.com重庆200强选拔赛中的面试,那次貌似碰到一个不搞技术的人来问我很多非技术的问题,我比较郁闷,他比我更郁闷。。。
网申
按我的记忆,以前网页上写明了,在全国招300名技术类实习生到深圳的腾讯总部实习。我看到这个要求,感觉自己还蛮符合的(至少不像MSRA的实习生要求那么高,在此羡慕一下sixsix),于是我进行了网申。在线填完简历之后,迟迟没有提交,因为面对繁多的职位不知道选哪个好。于是我想到了在腾讯工作的晖哥,咨询他老人家当然是必不可少的~
牛人都是很忙的,晖哥也不例外,不过晖哥仍然愿意在繁忙的工作中为我出谋划策。在网站上可以看到腾讯的招聘计划中,没有任何一个职位是在重庆招聘的,这让我感到希望渺茫。如果这个时候我仍然执着地等待网申的结果,可能我就与腾讯无缘了。。。于是我选择了:
内部推荐
事实证明,网申也没有任何回音。晖哥让我把电子简历发给他看看,耐心地看过之后,晖哥说希望我能来他的组工作。我也想啊。。。不过这件事不是晖哥就能说了算的。。。晖哥把我的简历交给他们部门的HR老大,然后让我等消息~
一面
6月3日上午10点54分,晖哥给我QQ发了条消息,说“准备一下面试,随时可能有电话”,不过这个时候我并没上QQ。。。人在实验室做网络安全课程设计,大概11点接到一个0755区号的电话,心想应该是深圳的,果然是一面的电话面试。面试官是个男青年声音,问我现在方不方便讲话,我走到窗户边的安静地方跟他说方便。
一面持续了大概20多分钟,基本全是技术面。他首先说看过了我的简历,让我从做过的项目里选择一个来谈谈。主动权掌握在了我的手中我就不客气了,我选择了Dreambook,这是我们DreamX小队最引以为豪的项目,经历过MSRA大牛们的提问,已经向不知道多少人展示过。他问了我一些很常规的技术面问题——介绍一下这个项目,我们开发团队有几个人,开发了多久,如何分工,我在这个项目中担任了什么职责,用到了一些什么技术,软件的架构和某些流程是怎样的,软件的缺陷和前景在哪里。了解了整个项目之后,他问到了一些技术细节——每个模块是依据什么技术和想法实现的,模块之间的接口是怎样的,测试是否考虑到各种实际情况,某些功能是否会在不同的情况下失效,软件是否做过性能测试,如何发现软件的瓶颈所在,软件是否根据用户的进一步需求改进过并且如何改进的,我们参加比赛的时候,我们的作品为什么比其他作品好。
这个项目是我参与过开发周期最长的一个,他问到的这些问题,我们早就有过考虑,并且有着完善的解决方案。技术面没有难倒我。之后他问了我一个RP题,我认为自己在性格上的优缺点是什么。我说我的优点在于乐于并善于学习新鲜的东西,然后举例说明,缺点在于有时候容易骄傲自满,我自己也知道这个缺点,正在努力改进中。。。
最后他问我对腾讯公司有没有什么想了解的,或者想问的问题,我说没有。他问为什么,我说我有晖哥,以前了解过一些,以后有不了解的也可以问他。然后电话就挂了。
晖哥问起我,我才发现我不应该不问问题。晖哥猜不出是谁面的我,我还不知道什么时候会有二面的消息。。。于是再次等消息。。。
二面
6月4日,晖哥告诉我,一面通过了,等端午节过了准备二面。我跟晖哥说,看来腾讯对实习生的技术要求不高啊,一面还是比较简单的。后来才知道,BT的在后面。二面过程是我目前见过的第二BT面试(第一BT的当然是MSRA的面试)。幸好我还是认真准备了的——我在网上搜以前腾讯招实习生的笔试面试题,结果一个都没有,只有招员工的时候的笔试面试题,我就按这些题准备,思考腾讯可能考察哪些方面,后来确实派上了些用场。这告诉我,无论认为多么简单,面试一定要有准备。
6月17日,一个陌生的女人闯入我的生活,她就是lily。她打电话告诉我恭喜我通过了初试,希望我能参加在成都进行的复试。我问了一下lily,为什么要去成都,不来重庆面,她说因为重庆地区通过了一面的就我一个人。。。我彻底绝望了,看来不得不去一趟成都。我问二面是谁来面,她说是一个部门的主管。我又问二面主要是什么问题,她说还是以技术面为主。晖哥建议我准备一下算法。
6月19日早上,我在川大旁的一个酒店12楼的客房里面试,lily给我的schedule是9点到9点半面试,实际上从9点面到了 10点45分。在这1个多小时内,面试官的问题密度灰常大,覆盖面之广,技术难度之深,在本人短暂的职业生涯中史无前例。他问到了Unix/Linux 或 Windows 开发平台下的C++,CGI,JS\AJAX\CSS\ASP\FLASH,Java EE网站开发,Java ME手机开发,嵌入式,3D渲染原理,3D游戏引擎,网络分层,TCP/IP协议的原理,Winsock编程,服务器集群,分布式,Web服务器原理,数据库设计,数据库压力测试,搜索引擎技术,基于.Net/C#的Web开发,大并发访问网站的架构设计,软件工程,算法和数据结构。基本上把我熟悉的,我了解皮毛的,和我听说过的,我没听说过的,全部问了一遍。面完出来之后,我的头都是晕乎乎的。。。
二面的面试官人很好,我没回答好的问题,他有时候会给我解释一遍。他把我的每个项目都看了一下,针对每个项目都有至少一个的比较有深度的问题。因为问题太多,具体的印象比较深刻的问题能想起几个就写几个:
让我把Dreambook软件的系统架构图画出来,问我系统架构图、功能模块图、用户流程图的区别。(这个比较简单)
哪个部分是Dreambook的核心,为什么?
下载一本书的所有网页后,生成一本书的目录、每章、每节之间的链接,这个树形结构分析的算法是怎样的?
去除每本书的网页的广告内容时,如何判断哪些是正文,哪些是无效信息?(模糊匹配算法)是否是基于HTML标签的?(是,但是不全是)是否是精确匹配的?(不是)
如何做用户需求分析?是不是需要准备什么?举例说明。
对Baidu和Google搜索引擎的原理了解多少?我们的搜索是搜索全文还是搜索摘要?(搜索全文,举了Lucene的例子说明全文搜索原理)搜索量很大时,如何保证性能高效?(将搜索结果分页显示,一次只列出10个搜索结果)
有没有在Linux下做过C++编程?开发平台是什么?写出该开发平台编译一个test.c文件的命令。
有没有开发过3D游戏引擎?做了一个什么样的游戏?这个游戏的特色在哪里?
OSI网络7层结构是什么?详述TCP连接3次握手的过程,如果在VC下开发,这个过程分别对应调用哪些Windows API?(我发现这个问题是腾讯对所有人必考的问题)设计一个异步传输模式下的数据包结构。
对Java EE框架下的Spring、Hibernate、Struts了解多少?对一个Web服务器的原理机制,比如Apache服务器的原理机制了解多少?IIS呢?
叙述当一个用户登录QQ时,与腾讯的服务器进行连接的过程。需要经过几层的路由?如果要自动选择最快的服务器进行连接,应该用什么方法实现?测试用户与腾讯的多个镜像服务器之间响应时间,是由用户发起测试还是由服务器发起测试?(服务器)采用什么协议测试?(ICMP)
对于一个访问量很高的网站,性能瓶颈在哪里?可以做哪些优化,架构如何设计?
如何探测一个网络协议漏洞?发出的探测数据和接收到的响应数据是怎样的?如何判断是否存在漏洞?
最后一个问题印象最深,他说最后一个问题很简单(他笑),就是让我写一个双向链表的插入删除操作,要求1:每次插入删除之后,链表里的元素 ——假设是int——是按升序排列的;要求2:必须用C++实现2个类CNode和CLink,CLink类里面封装add()和delete()方法。时间是20分钟,他要求我在这20分钟内,从12楼坐电梯下到1楼大厅,在大厅找个桌子,用纸笔写好,然后上12楼交给他。
我在XXY寝室里写模拟文件系统写到4点睡的,写了一晚上的指针操作,这个问题我还是比较熟悉,按时交给了他。代码有优化的余地,不过没来得及优化,跟他说明了一下。注意的地方有2点,一个是指针操作的时候,删除哪个,连上哪个,操作顺序安排容易出错,要细心,还有就是添加和删除的结点位于第一个和最后一个时,处理方式有些不同。
最后他问我有没有什么问题,我问他什么时候给答复,他说下周内。然后他就叫下一个面试的同学进去了。
面完了才知道,这个面试官是晖哥所在部门老大的老大。。。大大牛啊~
转载请注明出自应届生求职招聘论坛 http://bbs.yingjiesheng.com/,本贴地址:http://bbs.yingjiesheng.com/thread-548371-1-1.html
--------------------
腾讯宣讲,知道今年在重庆要扩招,要招35个。呵呵,高兴啊,越来越有戏了。后来加上川美的一共要了27个。想一想,还是印证那句话,机会只留给那些有准备的人。华为面完第二天就是腾讯笔试,绿盟和腾讯笔试时间冲突,放弃。绿盟也是一家非常好的公司!腾讯研发岗位是一笔三面,前两面是纯技术面,也是最重要的,最后的HR面对开发的来说,基本没关系。之前看了很多腾讯笔经,都是考C和数据结构,加一点点C++,基本没有问题 笔试之前我都直接准备面试的东西了,包括之前成都笔试过的同学传回来的信息。笔试题很正常,但我看到卷子一发下来,傻了。两大题:一、选择60分,二、程序填空40分。题目结构没有问题,和往年一样,但问题是选择题部分,完全不着边。往年就是考考C和数据结构,而这次基本没有,有hash加密,操作系统也考了很多,而且比较偏。直接把会做的快速做完,主要做后面的程序填空,这个比较难。但我知道他们肯定看重程序这块。程序填空两道题,一题是四则混合运算,相当于计算器吧;另一题是背包算法。苦思冥想,基本做好,时间根本不够 两道附加题都没做。笔完后,也无所谓了,听天由命吧。后来进入一面了,大家基本都进了。呵呵,看样子腾讯知道错了,要海面了。后来一面我才知道,我的选择是对啊。主攻程序填空,笔试成绩他们也基本认可,而且没让我写程序,很多人都要求写了。一面是一个和我们年纪差不多的小伙子,很友善,完全就是项目。我就讲了一下自己的那个核心项目,也是最有技术含量的。呵呵,主要问了自己做了哪些东西,项目的瓶颈,以及你为解决这些瓶颈做的工作。还问了额外的两个问题:怎样用宏把多条语句括在一起?脑子里没啥想法,立马先说一个,用两个大括号括起来就行了。他说再想想。想了几秒,他提示说用while什么的可以不?我想起来了,用while(0)语句。Linux内核黑客很经典的一个东西,然后他又说这样做的好处是什么?以前看过,想了一会儿,说就是多一个分号和少一个分号的区别。他没有追究下去。第二个问题,全局变量、静态变量、局部变量在虚拟地址空间中怎么存放?这个小case了。最后面试官问了我有什么问题问他。我说你怎么不问问我socket方面的东西呢?他说我知道你掌握的很好了,不用问了。嘿嘿,看样子对我比较满意,基本过关了,回去准备二面。

进入二面,也是最关键最难的一面,过了offer就基本到手了。过去一看,是那个香港人,去年师兄就倒在他的枪下,长得像中国人,但说中文像老外,中间还夹杂着一些英语单词。不管了,豁出去了。第一个问题:看了你的简历,TCP网络知识学的不错,那讲一下TCP和UDP的区别。(简单!)OK,那你讲一下为什么TCP要三次握手?我说建立连接。他说其实没有什么连接这东西,都是虚的。他说的很对,所谓的连接确实很虚,人为的定义而已。以前没想过这个问题,综合所有对TCP的理解,我想了一会儿,我说为了协商窗口大小和初始序列号。他说对,是协商,那怎样协商初始序列号呢?我倒!没想过这个。那就临时想,应该是随机选取一个数,做为初始序列号。他说对,那为什么要随即选呢?我靠!!不整死我你不罢休啊 我想了半天,无果!他说随机选一个,就是第一个包的序列号一定是随机协商的那个数,其他的序列号的包就丢弃,也就是所谓的连接,可靠的传输。呵呵,问到这里,我明白了。这家伙确实厉害,其实知识很简单,就是你有没有想过为什么TCP他要这样做呢?一直往下问,为什么?为什么??这才是对技术的追求,对技术的热爱!他说OK,下一问题:如果有一个很大的程序,很 ci CPU。我说什么是ci CPU,他说就是很耗CPU。我说噢,心想很耗CPU就是很耗嘛,什么很ci啊。他继续说,你怎么找到那段很ci CPU的代码?我说主要看一下while循环、for循环的语句。他说code builder(没听清,好像是这两个单词)也是要做,但如果几十万行、几百万行的程序,有什么方法或工具去找呢?我说我们一般没这么大代码的程序,一般就是查看一下while循环、for循环的语句什么的。他说噢,那下一问题:volitate有什么作用?我了解一点,好像是防止编译器优化。他说怎么防止优化?我说不知道,只是了解这个东西,没具体用过。下一问题:函数栈空间里面有哪些东西?我说局部变量、参数、返回地址。他说嗯,返回地址是什么东西?我看过,但不大清楚,只怪在自己知识掌握的不大扎实。后来在他的慢慢开导下,知道了函数栈的大概原理。下一问题:就是上面说的谈谈select和epoll的区别。还有一个问题,记不起来了。想想整个面试过程他问的问题,都不难,刚开始都能回答,但他会一直往下问,一直问为什么?为什么要这样做?就招架不住了,就是看你对知识的掌握是追根求源还是浅尝辄止。这个面试官大概30出头,是个技术高管,但整个过程他非常有激情,感觉比我们还有活力,心态更年轻。他说的话比你多得多,对你有压倒性技术优势,别被他压倒。我心态很好,他跟我飚英语,我也加一些I see、OK之类的话,很淡定。对于技术面试,一定要放松,表现的比较牛,面试官更喜欢。呵呵,还有就是我能感受到他对技术的理解和追求的深度,虽然已经是高管了,但心态还是那样的年轻、有活力。我能看出腾讯是个怎样的公司,技术人员的培养方式和工作环境,很喜欢!二面完了之后,没底啊。等结果,最后三面就没啥了,提前看一下企业文化四个词,对于技术类的hr面,基本不会刷人。后来所有27个进HR面,都签约了。在等待二面结果的时候,华为让签三方,到了最后通牒了,相当纠结啊。后面没什么好公司了,搞不好华为、腾讯两头空。后来一狠心,不签了,既然选择了腾讯,就相信自己!用《奋斗》里面徐志森跟陆涛说的话:你这是在赌博,有个决心我一定要下,就是和你一起回到小巷中,在那里只有一条出路,你决不能回头,你只能往前冲,那是冒险冲出来的,这是一种生意 一种人生,那就叫做绝处逢生。

总结腾讯的面试经验,一定要实际动手做过项目,并为解决关键问题做出贡献!然后专业基本知识要扎实掌握,就问你简历上的东西,不要你什么都懂,就对你所掌握的那些知识要学的很深、很扎实,确实对技术执着、追求、热爱!

------------------

posted on 2010-03-31 01:02 小默 阅读(973) 评论(0)  编辑 收藏 引用 所属分类: Jiong


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

留言簿(13)

随笔分类(287)

随笔档案(289)

漏洞

搜索

积分与排名

最新评论

阅读排行榜