腾讯实习总结
昨天我正式收到了腾讯的实习生offer,暑假我要去深圳的腾讯总部了~
从开始想到申请腾讯实习生,一直到接到lily通知我拿到offer,过程还是挺曲折的~我只是想记录下这段经历~
腾讯的面试是我第二次的正式面试。第一次是以前写过的51job重庆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点,一个是指针操作的时候,删除哪个,连上哪个,操作顺序安排容易出错,要细心,还有就是添加和删除的结点位于第一个和最后一个时,处理方式有些不同。
最后他问我有没有什么问题,我问他什么时候给答复,他说下周内。然后他就叫下一个面试的同学进去了。
面完了才知道,这个面试官是晖哥所在部门老大的老大。。。大大牛啊~
结束,新的开始
回来之后跟李祺讨论了一下面试题,李祺和潘玉云都说BT。其实MSRA的面试题才BT,举个例子,这是李朋的一个电话面试题,比如 1~泡椒凤爪做法1000这1000个数存在计算机中,随机删除其中一个,让你出删除的是哪一个?这个问题是不是更BT?之所以举这个例子是因为我能答出来,李朋电话面试的其他问题我是一个都答不上来。。。可见MSRA面试的BT程度~
感谢:晖哥(宇宙无敌霹雳感谢);超人、李7比熊、sixsix(这个都不用说了,无敌的DreamX小队,呕液);爹娘;XXY(自己对号入座);SZD(自己对号入座,too);518寝室的兄弟伙们。
希望能够早点去实习,深圳,海边。。。哎,还是先把课程设计做了吧。。。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论