[zz from byhh]完整的腾讯面试经过

前言:

从9月10号开始到现在快两个月了,两个多月中,我经历数次面试和笔试,在经历这些的同 时积累了不少的经验,也学到了不少东西,在此把它记录下来,算是和一起找工作中的同 学一起共勉吧。我是本校的学生,专业是机械制造及其自动化,找工作的主要目标是计算 机软件类和机械制造方向的国内的企业,所以意向去外企的同学就不必浪费时间看这些面 经啦,想去国内IT企业的同学可以继续看下去。本贴中我把最近的腾讯面试经过写下来吧 。 腾讯是我经历的笔试面试过程中最为正规,梯度层次最为分明的一次面试过程,我将它简 单地总结一下,希望能对正在找工作和下一届的师弟师妹们积累一些经验。我的文笔不好 ,所以写得不清楚的地方,还请大家见谅。 腾讯是10月15日才到我校来开宣讲会的,不早也不晚,刚好在高峰时期来的。此时间段刚 好是各企业宣讲会和笔试的高峰期,鉴于我对腾讯已经比较熟悉了,所以没有去参加腾讯 的宣讲会。在腾讯宣讲之前,我一直很关注BBS求职信息发布版,有若干个帖子是关于腾讯 内部推荐的,据说是将自己的简历发到某邮箱,就可以进行内部推荐,推荐的结果据说是 简历可以直接通过。在14号的时候,我发现了一个腾讯客户端的内部推荐贴,于是我在网 投过的基础上将自己的简历发了过去。后来我的简历得以顺利通过,职位意向是客户端软 件开发,并未强制我更改意向,这是腾讯做得比百度好的地方。 笔试: 腾讯宣讲之后即开始发布各笔试名单,应该是属于海笔的那种,反正大多数同学都收到了 笔试通知,据说有4K多人参加笔试,我也很荣幸地在这4K多人当中,在西十二参加了腾讯 笔试。 笔试的题目难度还行,主要内容是C/C++的一些东西,包含一些数据结构、STL和智力题, 有很多陷进题目需要格外小心,这个如果对笔试有所准备的同学都应该知道。我记忆比较 清楚的是最后两道编程题。 第一题大概是:树的直径定义为两个叶子节点之间最长的距离,那么给出一颗树,求树的 直径。第二题可以转述为:10亿条数据中找出前100个较大的数据,只准遍历一遍数据。 第一题我的思路是,对某一个节点而言,求出其所有子树的深度,然后取最深的两棵子树 高度相加再加2,由此得到以该节点作为基点的直径,然后递归对以每个节点为基点求其直 径,所有求出的直径中,最大的,就是树的直径了。对第二题,可以以小顶堆的形式来完 成,我想这也是出题人的意思。 很值得称赞的是,腾讯为霸王笔的同学准备了霸王笔考场,可见腾讯也不想因为简历筛选 的疏忽将优秀的同学拒之门外。 笔试完毕之后,我感觉自己应该是可以进入面试的,但因为忙于其他公司的笔试面试,也 没怎么准备它的面试。 技术一面: 在参加完笔试两天后,收到腾讯的面试通知,腾讯的通知很有特色,全部在网上公布出来 ,然后对有资格面试的人发一条短信,让你自己去网上查询关于面试的相关信息,参加笔 试四千多人,参加一面的技术类学生有1042人。我从晚上得知我是下午两点面试。于是我 一点过就感到了珞珈山国际大酒店,在一个会议室里边,已经有很多同学在哪里等候,首 先是填了一个应聘登记表。两点钟的时候,我到了指定的房间敲门,准备面试,但是半天 没有反应,于是我又返回会议室,问是不是搞错了,结果这时电话响了,原来是面试官叫 我下去面试,我估计我去的时候他还在睡觉吧。面试正式开始。 腾讯的面试很简洁,没有自我介绍,首先一来就直接整技术问题,第一面的问题全部都是 一些算法和基础技术方面的。第一个问题就是问我感觉笔试卷子做的怎么样,觉得在哪些 地方会有错。我说在STL的题目上可能会错一些,在有些陷进题目上可能粗心会错掉,最后 两题应该是不会错的。面试官接着叫我讲了一些最后两题的思路,然后问我有没有把算法 写到试卷上,我说写出来了,并且指给他看。接下来它又将第二道大题改了一下叫我做。 仍然是10亿条数据中选前100条数据。我很纳闷,说这不是和考试时的题目一样么,他说不 一样,我不要求你只遍历一遍,你重新给我想。我闷一会儿,想到了一种算法,先根据内 存大小,将10亿条数据分成若干组,依次读入一组数据,进行依次归并排序,形成有序序 列并输出到一系列临时文件中,接下来从每个临时文件中读入前100个数据再次归并,以此 递归,便能得到最终结果。看面试官的表情,应该是对了。接下来面试官又问,如果让你 在一个新城市中规划加油站的建设地点你应该怎样考虑,这种问题完全没有标准答案,于 是我就按照软件工程的思想那一套理论开始跟他侃,包括做前期调研啊,可行性分析啊, 考察司机加油习惯,环境及交通问题啊,需求更改啊,后期完善啊等等,这个问题算是对付过去了。接下来又问了一个关于WinSock基本编程的问题—TCP服务 器与客户端编程,还好我提前准备了一下,应付过去了。后来又问了一些Windows内核编程 的一些东西,比如线程消息队列,工作线程与界面线程的区别,工作线程有消息队列吗。 我一直以为这些方面是我的强项的,结果有些问题居然没有回答上来,比如工作线程有无 消息队列,我当时脑袋发卡,说不太清楚,面试完毕一出门我就想起来了,工作线程当然 可以有消息队列,只要调用GetMessage或PeekMessage之类的API就能形成一个消息队列啊 。总之第一面的问题感觉很基础,很杂,我自己表现也不是很好,可能要挂掉。最后面试 官问我有什么问题,为了挽回我前半段的失败,我问了两个问题,第一是为什么QQ2009取 消入口参数而导致了所有QQ登录器都不能正常工作了,他并没有给我一个满意的回答,其 实我是想要向它表述我自己开发QQ登录器的一个完整过程,表明我对QQ客户端还是比较注 意的,嘿嘿;第二个问题,我向他请教QQ大家来找茬游戏的游戏界面为什么不能被其他程 序绘制标记,这个问题我在开发这个游戏作弊器的时候遇到过,因为一画上去之后立即就 被擦除了,这个面试官本身就是做游戏开发的,所以很了解这个技术,就跟我说是用什么什么技术导致其他程序无法在界面上绘制标记,主要是为了防止用户作 弊,我后来说,我还是把这个作弊器做出来了,我用了一个透明窗口悬浮在游戏窗口上方 ,在透明窗口上标记出不同点,为了让用户看起来这些标记像是直接绘制在游戏窗口上, 我做了一个钩子,拦截了游戏窗口的相关消息,效果非常好,你们如果要防作弊,是不是 也应该从这方面考虑一下呢,他笑着说,他们有专门的防外挂团队麽样麽样。临走时,我 觉得自己表现不是很好,弱弱地问了一句,我有没有希望过这一面,他说,三天之内等通 知吧,还说了一句,小伙子要对自己有信心嘛,百度技术二面你都过了你怕什么?我只好 灰溜溜地闪人了。 并不是所有同学一面都很难,后来回家后问了一些其他同学,他们说他们的第一面很简单 ,就是随便问问项目和一些简单的问题就没了。 技术二面: 腾讯的技术二面也是不尽相同的,后来我得知很多同学的技术二面都是聊聊项目啥的就完 了,而我除了项目之外还有很多很搞笑的题目,包括智力题。 虽然感觉一面不是很好,但是我还是报了一点幻想能进二面,很幸运的,我如愿以偿地进 入了二面,一面不知道刷了多少人,一半多至少应该有的,我想可能是我一面最后的几个 问题发挥了一些做用吧,^_^。二面我感觉非常轻松,因为当时我已经拿到了中国电子科技 集团第二十九研究所的offer,那是个非常好的研究所,我本来都打算签那里了。所以对于 QQ,则是能去就去,不去就不勉强啦。仍然是下午两点面试,我一点四十就来到了指定的 房间外边,看到HR正在那里等着,我也没有进去,面试官也没有叫我进去,因为时间没有 到,一点五十九分,我准时敲门。这一面的面试官一直在笑,感觉笑里藏刀。因为我当时 已经释然了,所以倒觉得无所谓,非常放松。面试正式开始。 首先要我介绍一下我做的最大的一个项目,我噼里啪啦一大堆的说出来,这一关自然好过 。面试官见没什么好问的,就开始整其他题目。第一题是有两个文件,每个文件里边包含 100万个手机号码,要求两个文件的交集和并集。我略微想了一下,这个题目和虹软的一个 考题类似,大致思路是先对两个文件按升序排序,然后分别用两个指针指向俩文件,向后 扫描,当两指针指向的号码相等怎样,不相等怎样等等;第二个问题是一个关于操作系统 的生产消费者模型在Windows下怎么实现的问题,关键是CreateSemaphore API,不要求写 代码,但要求说出思路,这题不难;第三题是一个文件,是压缩之后加密更好呢,还是加 密之后再压缩更好,这题把我郁闷死了,我没搞过这东西,自然不知道,但是细细一想, 觉得应该是加密之后再压缩好,因为压缩的基本原理是将二进制按一定算法进行再次编码 使文件处于一个二进制分布较为紧密的状态,如果是先压缩再加密,那二进制的状态可能 不是出于紧密状态,基于这种考虑,我认为加密之后再压缩更好。第四题 A、B两节点,中 间一条链路,链路是单工链路,要想办法变成双工链路,这道题我是这样回答的,借鉴CP U调度的思想,可以将链路作为CPU,那么有两种方式,一是再引入一条链路,这样A->B一条链路,B->A一条链路,AB之间变成了双工链路,另一种方式是采用时 分复用的方式,将一个时间段分成两个子时间段,在一个子时间段内由A向B发送数据,另 一个时间段由B向A发送数据,这样在宏观上看来,AB间是一个双工链路,这两种方式对应 于操作系统中的并行与并发特性。第五个问题,为什么TCP连接中,数据包不容易被伪造, 这道题我不懂,我就随便瞎扯了一些TCP链接的特性,比如它是面向连接的,有滑动窗口, 有ACK号严格匹配等,所以不容易伪造,也不知道回答对没。第六个问题是一个智力题,把 3/4个正方形划分成4个面积形状均相等的子图形,我没做出来,他叫我说思路,我说这个 划分应该是和3/4个正方形中的三个小正方形的中心有关,但是我暂时没有想出来怎么划分 ,很抱歉。六个问题问完之后,问我有什么问题,我就问了一下我被分到什么部门,他说 今天面试你的人是什么部门就代表你被分到哪个部门,他说他是海外事业部的,我过去之 后仍然做客户端,他给我讲了海外事业部主要是拓展QQ的海外业务等。后来又瞎扯了一些 ,我说我有四个同学都到了QQ,连我们的院花都被QQ带走了,他问我是什么部门的,我说 她是学工业设计的,叫XX,他还在他们内部的通讯工具上查询看我说假话没。总之气氛挺轻松的,虽然题目并不简单。 综合能力测试和HR面: 听我的同学说,二面过了就基本上确定了,其实并不是这样的,据我所知,参加综合能力 测试和HR面的同学还是有不少被刷掉的。据说QQ是要招200人,参加综合能力测试和HR面的 有233个人,意味着要刷掉33个人(其实不止)。 综合能力测试其实就只有10道题的行政能力测试题目和200多道性格测试题目,在网吧完成 的,没有什么特别的,只要不是人品有问题,应该问题不大。 HR面我被安排在上午十点二十,但是那HR可能刚开始太富有激情,一个人本来该面二十分 钟的,结果我前面的人面了四五十分钟,轮到我的时候都中午了,我面的时候,就有人打 电话叫他吃饭了,所以我就被匆匆地问了几个问题,包括我的学习情况,去深圳工作的话 和女朋友关系怎么办等等,没有什么特别的,这一面不要说错话应该就OK了。我面的时间 很短,我一出去,外边等待的一武大MM就说,你怎么这么快?我郁闷得很,心想这次估计 挂了。 等待和签约: HR面的时候,说31号前等通知,我从29号就开始盼啊盼,和一起参加HR面的几个同学都保 持联系,也和群里的同学在聊,从29号晚上开始,就有同学接到通知说通过HR面,具体的 等待后边通知,我一点消息都没有,有的同学通过内部的实习同学打听,据说也打听到了 他们在名单中,貌似被录取了,我认识的同学都不在海外事业部,所以我打听不到。30号 下午的时候,我着实放弃了,一个人买了一罐子鸡汤,窝到寝室看电视去了。晚上九点过 ,电话来了,一看号码我就是知道是腾讯来的87166666,接起来果然是,HR有气无力地报 了一通我被录取的职位,仍然是海外事业部客户端软件开发,薪资XX,签约时间,要带的 材料,就挂了。至此腾讯的offer总算是拿下了,前后持续了半个月。 后记: 因为综合考虑到IT业的不稳定,地理因素,MM因素,薪资因素等,综合了家人,朋友以及 白云网友的意见,我在1号拒绝了腾讯的签约。和我一起HR面的我所知道的同学中,有6个 人被刷掉或列为后备,只有我和另外一个武大的本科生拿到了offer,据我所知,那位武大 的同学也不会去腾讯,因为他打算去阿里研究院。 其实很多同学担心有人拿了offer又不去浪费了名额,其实这是么有必要的,就拿腾讯来说 ,它有很多后备的人选,有拒绝的,那么后备的人自然补上,所以如果你足够优秀,仍然 是可以去的,不存在浪费名额的说法。 总结: 1. 腾讯的整个招聘过程组织得非常有条理,而且为霸王笔的同学准备好了教室,据说还允 许霸王一面,不知是否属实,从这个意义上说来,腾讯公司还是很求才若渴的,不想因为 某些意外原因而错失人才; 2. 腾讯的招聘过程难度梯度比较明显,笔试时题目在我所参与的笔试中难度中等偏上,一 面是一些基础的算法、书本或编程中遇到的基础知识,二面在一面的基础上更进一步,考 察反应能力,我认为回答二面的问题基础知识是一方面,在基础知识方面仍然需要进一步 思考才能回答,正如我一腾讯的同学所说,二面是考思维能力吧。 3. 如果运气不好遇到比较喜欢问难题的面试官也不要紧,即使你有问题没有回答出来,他 也会综合考虑的。有些第一面问题非常简单的同学没有进入二面,这可能也和笔试成绩有 一定关系吧,所以笔试成绩也较为重要。 4. 腾讯技术类面试一般不需要穿正装,这个一般IT公司是一样的,比如百度宣讲时也再三 宣称,不要穿正装去面试。但是其他的,如产品类的,最好是正装啦。 5. 腾讯很保守,分两批通知人去签约,我猜想,第二批可能是补录的吧。据我所知的一同 学就被弄到补录名单中去了,这个对于学生而言,其实有些不人道,因为等待的过程是非 常难熬的。 我的整个腾讯的面试经过就这些了,期望能对大家找工作有一些作用,总之心态最重要, 自信最重要,后序我将陆续奉上百度、阿里巴巴、国企、及其他一些需要群面的企业的面 经,有时间就写写吧,快离开学校了,呵呵。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值