记一次腾讯IEG面试失败经历

时间:2023-01-23 17:23:36

如果这是一次成功的经历,估计浏览量不会低。无奈本人能力有限,而且一直在实习,准备时间与面试经验有限导致此次失败,不过,失败也是一种宝贵的经验,我希望也相信这里能给大家一些比较珍贵的经验,废话不多说,上干货。

本人面试的职位是PC客户端开发,听说是录取比例最低的。。。

首先是几点经验

第一,简历别浮夸,会啥写啥,如果想让简历看起来风光,就得对得起你在上面写的东西,哪怕花时间去集中复习一下达到能基本应对一般问题的程度。比如本人写了directX,面试官是IEG游戏事业群的,所以百分之99会问你directX相关的知识,你要是答不上来,那换位思考,面试官基本就知道你的水平了,起码你的简历可能不止一个地方有水分。

第二,第一轮面试前集中复习什么?我看过好多面试经历,有的人一面主要问一些笔试答题的情况,比如哪些没做出来有没有新的思路,或者把原题改一改等。还有的人是主要针对你的简历问。面试官也是普通人,他手里有一些资料问问题会更舒服,每次问的一样也会很烦的。

所以,我看来如果你是在学校笔试的,面试官手里有你的卷子,那他多多少少会问你一些笔试的内容,如果手里有你的简历那肯定会围绕简历问。如果你是网申的,那一定要把自己简历的东西好好复习。没错,就算是你自己做的项目你也可能记不清的。

第三,学会引导面试官,让他问你你擅长的东西,如果面试官围绕简历问,那你的主动权是非常大的。你完全可以在谈到某个知识时,重点说到某个专业名词,面试官很有可能继续问你这个名词是什么意思等。

第四,同时针对你的事业群与职位做准备,很明显你的职位当然决定你需要哪些知识,不过很多一面除了基础的数据结构(还真是一点都没问我),计算机网络,操作系统等基础知识,就是你的项目了。为什么看事业群?我的面试官是游戏事业群的,他看到我有游戏经验,肯定会在这方面多下功夫问,因为别的他不太在行也就不太好衡量你的水平。当然,对于一个非大神的同学,你还是认为面试官懂得非常多就行了,人家面试官经验摆在那呢。

这些点是我觉得有用的值得参考的,如果觉得我面试没过还在这乱分享那请不要再看了。。。

下面就给说一下我的面试经历吧。

我是网上投的简历,在线做的笔试。因为实习真的没时间去校招,我在这里还是建议大家这时候多去武汉哈尔滨什么的地方准备秋招,机会大大的多啊!!好名校哪也不用去自然就是来各种公司。接着说笔试题,总体来说难度不是很大,选择题以c/c++语法,数据结构(树的遍历排序等)为多,还有少量的设计模式,操作系统,计算机网络,当前的大数据知识了解Spark(map reduce等)。很快网上就应该有题目了,可以搜一下。大题的话,一共是四道,一个生产者消费者问题(当时还没有理解清pv→_→),一个是给你一个类似九宫格让你写程序满足条件的。一个是实际问题解决,让你从一堆红包中快速挑选出想要的内容。还有一个是一个用算法生成一个特殊数列的(没做出来)。没错,四道题两个没做出来还能进面试!而且做的也不一定对!是不是很励志?

现在虽然对生产者消费者问题有进一步理解,但这个讲起来真的不容易,贴个个博客大家参考一下。

生产者-消费者问题详解

关于红包那道题,记得条件是有一个面值的红包的数量占一半以上,所以我自然想到了二分法。而我实际的操作和快速排序的原理差不多,取到一个数,快排一次,然后再取一次,直到这个数在中间位置。有关取数据的一些题,思路一般与哈希函数,散列思想,二分法有关系,掌握各种排序(尽量做到会手写,只要用功并不难),对解这一类的题很有帮助。

面试,我本来以为自己面试挂了。没想到面试前两天收到通知去上海的一个酒店,腾讯这次通知发的很早,很够意思。我这个low当时还没去过酒店面试(以前华为招实习也这么弄过,不过当时不自信等也没去)。到了感觉还不错,现场面试的人好多(很多霸面的),都在大厅等着。有好几个hr在那做指导。

轮到你的时候,会叫你去一个房间(没错,就是明目张胆的开房O_o)。面试官对着一个电脑,上面记录你的网申信息。把简历给面试官,坐下来发现连个像样的桌子都没有,我一想果断不会让我写代码了。

第一项竟然是三分钟的自我介绍!我摔!网上经验说好的自我介绍不要超过四句话的。。。好吧,那我就扯吧,不得不把学生工作,爱好说了说,然后拽到了实习的内容上。果然,面试官就开始问我,在实习做什么?为什么不留在原来的公司?我说在研究cryengine编辑器的源代码,拓展功能。原来的学习和研究氛围觉的不理想等等。又问我玩过什么游戏,cryengine可以做什么游戏?这里虽然不是很重要,但是觉得回答的不太好,没有凸显我玩了特别多的游戏,了解各种游戏等。

接下来,他就开始顺着我的简历开始问了。。果然,第一眼就看见了MFC,问我做过什么,当我说了几个那种普通的系统后,他来了句就是做做界面被!果然,猜他就会这么说,接下来我就开始说我了解win32编程,MFC主要封装了WIN32的API,操作是基于消息循环的,winmain函数,如何循环等,然而表达的也是有点啰嗦,说了一半被打住了。。。(这里我强烈建议平时在校只做各种管理系统的同学,深入研究一下mfc,gdi等)

下面又是大boss,directX。让我介绍一下Device,其实就是两个偏底层的框架,HAL与RCL.HAL是硬件抽象层,在GPU与逻辑代码之间进行转换,从而进行渲染顶点等操作。RCL是。。。利用CPU进行计算,正式运行游戏时不会用这个。(好吧,其实当时我没答出来,都忘了)。他还问了我世界坐标系与逻辑坐标系的关系。

终于不问了这个了,到了我自以为拿手的Unity。我立刻把手机里比赛得奖的手游给他展示了一下,他就问了跳跃如何实现,飞机的AI怎么做的,游戏中是人物动还是场景动,为什么这样设计,状态转换是怎么做的?我都负责哪些部分?跳跃的部分不是我做的,但是我原来是知道的,不过忘记了。。人物动场景动我答的也不清,我连自己都做了哪些都有点记不清,我都怀疑这是不是我做的游戏了→_→不怪面试官。后来,我说到了游戏中RPC进行网络通信,他就问什么是RPC,如何实现。我过远程地址转换协议,可以方便调用非本地的函数,用socket或者管道。问我写没写过代码?我说没写过,他就没在继续问。

然后问我擅长什么语言?我说c++。就问我const的用法,当时已经蒙了,直说了声明不可直接修改变量和指针const用法,其实还有参数const,类const,引用const等,不过我当时都忘了,当然因为还是不够熟悉,用的不多。

随既他又问了c++创建线程的函数,我说是createthread他说不对,我晕。。。无奈我说我知道linux中常用的pthread创建线程函数是phread_create。

经历了如此多的打击,面试官又来补刀。问了句你觉得还有什么你擅长的我没有问?我心中一凉,而且我也不知道我到底擅长啥,悲伤,大家一定要有拿的出手的技能啊!。我就说数据结构和计算机网络。

这个面试官貌似对数据结构没有兴趣,就问我tcp与udp的区别(有链接与链接,可不可靠,首部长度),ip的分类(A,B,C,D,E.127.0.0.1 255.255.255.255等)这里其实完全可以进一步扩展为地址分配DHCP,NAT转换等,然而并没有说出来,因为中间有些东西记得不是很牢固就卡住了,这里我觉得其实没必要像笔试那样较真,比如A类B类地址的范围,大概差不多就行,如果面试官追究你再仔细考虑。

就这样到了最后环节,你有什么想问我的么?

我问了他的事业群,果然是IEG(虽然早就猜出了)。LOL里面角色与技能直接的关系,如何协调不同人物技能之间的关系。他竟然说这个不难,你回去自己好好想想有很多办法的,好吧。。。基本上就这样结束了。

很可惜第一轮就被刷了,很是郁闷。然而,经过这次面试准备我却提升很大,可以手写大部分排序算法,遍历算法。了解大数据解决问题的思路,大数据优化,Map-reduce,bloomfilter等,还有操作系统,win32,计算机网络FIN  Timewait。当然还有面试的失败经验,总之,人就是在锻炼中成长么,之后还是有很多机会的,大家加油!

最后,提一下,这次校招发现很多公司用的是赛马网提供的服务来完成在线编程,所以要求结果必须对,这样就不能像腾讯那样代码写的差不多就行,建议大家多多练习,熟练使用各种接受字符与字符串的方法,可以参考我的上一篇博客。

C++按格式接收输入字符(京东,滴滴,360笔试必用)

滴滴,京东,360网上笔试都是类似的题。