【求职经历】⽹易游戏实习⽣⾯试体验
作者:,出处:欢迎转载,也请保留这段声明。如果你喜欢这篇⽂章,请点。谢谢!
如果你⼤学⾥有想过从事游戏开发的话,你对⽹易游戏肯定不会陌⽣,⽹易开发出过梦幻西游,倩⼥幽魂这种端游⼤作,可惜在页游和⼿游⽅⾯现在依旧毫⽆建树,⽹易游戏的特点有以下⼏个:
⼯作环境⾮常好,或者极端点说,可能是国内所有公司⾥⼯作环境最好的,具体可以参考知乎⾥的这个问题⾥的第⼀个回答
学编程的游戏app⼯资待遇⾮常⾼,实习⽣的⼯资具体数额⼀般是其他互联⽹公司的两到三倍左右,各位可以⾃⼰算算,应届毕业⽣的薪资⽔平也可能是国内IT⾏业最⾼的(最低每年在250k以上,280K⽐较多,360K也有),当然你要⾮拿阿⾥星来⽐我也没有办法。
基本上只招C9的学⽣加上北邮,华南和华科这⼏个学校的硕⼠及以上学历,如果你是其他学校的学⽣或者是C9的本科⽣却没有好的经历的话在HR筛选简历时会把你直接刷掉。
培训体系⾮常完善,毕竟是当年云风他们⼀⼿搭建的培训机制。如果你是实习⽣的话,你会和其他实习⽣(包括策划,开发和美术)组队做⼀个MiniGame,然后在两个⽉的实习期结束之后,分组做ppt演⽰,然后评分,⼀般刷掉50%的⼈,留下剩下50%的⼈。不是像其他公司⼀样实习⽣跟版本打杂,这个机制挺有
意思,但是具体好坏也不好评判。
加班较少
实习⽣不需要租房⼦,⽹易提供单⾝宿舍和餐厅,就是说⾷宿基本不花钱。但是你⾮要下馆⼦我也没办法。。。
关于学历的事情强调下,下⾯是各个学校的录取⽐例:
哎。。。我怎么说了好多⽹易游戏的特点好像都是在夸⽹易游戏啊,那再说下⽹易游戏不太好的地⽅吧。
⼿游包括端游砍项⽬或者回炉重做的现象⽐较频繁,⼿游的话⼀般⼗个项⽬砍掉⼋九个?感觉⾯试的时候⾯试官在项⽬上的压⼒还蛮⼤,⼀直说⼿游的竞争很激烈,但我感觉⽹易游戏的内部竞争更激烈,被砍的依据⼤多不是市场表现,⽽是部门⽼⼤的评价和判断。
⽹易游戏还是偏保守,⽹易基本上已经错过了页游的巨⼤市场,现在看也基本上错过了⼿游,不过⽹易是个好学校,⾮常适合应届⽣去。
还有更多的观点可以参考知乎上的这个问题:我就不⼀⼀列举了。
前⾯说了⽹易游戏基本不招本科⽣,那我为什么去⾯试了呢?因为⽹易游戏最近移动游戏这边看来是⽐较缺⼈,所以在招聘要求上特意标明了可以招收本科⽣,我⼜对移动游戏很感兴趣,学习了很多相关的知识,对Cocos2d-x,Lua等游戏相关的技术也算⽤的⽐较熟了。最终HR就给了我电话⾯试的机会。
第⼀轮的电话⾯试是在周⼀上午⼗点,可是我⼀直等到10点40才接到⾯试官的电话,第⼀⾯的⾯试官是南京⼤学的学长,⼈⾮常nice,没有问什么很难的问题,基本上⼀开始就是从我做过的战棋游戏的项⽬⼊⼿,因为我负责的主要是GamePlay,所以问的问题也都集中在这⼀块,⽐如游戏中的状态机的设计,动画曲线的设计,相机的移动,游戏中如何使⽤MVC之类的(可以参考我的)等等。然后就是我⼀个⼈在扯⼀些Cocos2d-x的事情了,因为我本⼈对Cocos2d-x还算有点研究,就把Cocos2d-x的⼀些重要的特性说了下,但是学长好像是做Unity3D 的,感觉有点对不上路。算法⽅⾯的问题倒是⼀个也没问,⾯试结束后,我问了下学长对我的印象如何,学长说各⽅⾯都还不错,我就觉得这⼀轮差不多了。
总之第⼀轮的电话⾯试,还算简单,只要你有⼏个拿得出⼿的项⽬就⾏了,最好是移动游戏,实在不⾏的话,做过移动App也⾏吧。当然,熟悉Unity3D或者OpenGL之类的有加分,要是获悉⼀些后端的东西,⽐如⽹易的Pomelo就更好了。
过了⼀周之后,⽹易发来了通知,叫我去杭州参加第⼆次⾯试,知道这个消息还是蛮兴奋的,因为⽹易的本科⽣录取率还不到5%吧。。。⼜过了⼀周,果断买票赶往杭州!
⽹易的第⼆次⾯试实际上是三次⾯试,就是三个⼯程师会轮流对你进⾏⾯试,然后综合评价之后,再判断是否给你下⼀轮的机会。对于这次⾯试我还是做了不少准备的,我不但专门为这次游戏做了⼀个游戏Demo,⽤MVC架构做了⼀个Cocos2d-x的游戏,,⽽且专门准备了⼀份⾃我介绍和⼀些想问⾯试官的问题。
去进⾏⾯试的⼀共有6个⼈,五个是应聘实习⽣的,⼀个是春季补招的,也就是说,⽹易对实习⽣的招聘和正式员⼯的校招要求的⽔平基本⼀致,这点各位注意⼀下。⼀般过了第⼀⾯之后,在杭州这⼀次是6个⾥⾯淘汰5个,这6个⼈基本都拿到BAT或者同级别的的offer了,除了我和我的⼀个同学(我两之前⼀起做了那个战棋游戏。。。)是本科⽣外,其他⼈基本都是研究⽣,可见⽹易的选拔还是⽐较严格的。
接下来说⼀说⼆⾯都问了些什么问题吧,我⼀⼀列举如下,各位可以参考⼀下(⽹易的⼈别打我,我这不算泄露机密吧):
如何对⼿机游戏进⾏优化,我的回答基本上是以下这样的
⼀般分为内存优化帧数优化,内存优化和运存优化。
帧数优化可以考虑对⼀个message loop中的逻辑运算进⾏优化,⽐如可以考虑A*的剪枝。或者进⾏time slice,具体可以参考我的
体积和运⾏内存优化有以下⼏点
使⽤⼯具对资源进⾏打包,使⽤TexturePacker等⼯具把多张资源合成⼀张图⽚。
采⽤png压缩⼯具,在打包图⽚之前对每张图⽚进⾏压缩,降低图⽚质量。
针对不同的平台使⽤特定的压缩格式的图⽚
如果项⽬中帧序列占的⽐较多,那么可以采⽤降帧的⽅式来优化。
缩放图⽚,将原来图⽚缩⼩为原来的70% ~ %80,再对图像进⾏放⼤
采⽤编辑器,将⼤图转化为拼接,那么就可以利⽤地图编辑器、动作编辑器等从⽽减少体积,降低内存的使⽤。
如何在对游戏的“⼿感”进⾏改进:
游戏⼿感⼀般指的是打击感,那么我就在打击到⼀个游戏对象时,游戏对象要产⽣击退的效果,产⽣该对象被打击的感觉。
时间控制要恰当,要让某个对象(⽐如⽕球,拳头)打击到另⼀个游戏对象的时候,才产⽣击退效果,
这就需要进⾏使⽤消息机制和回调来解决。
如何在数据库中存储⼀个⼈的所有装备
建⽴⼀个⼈物ID和装备ID的关系表。
将⼈物的所有装备的id序列化为⼀个JSON字符串存储为⼈物的⼀个字段。
这两个最⼤的区别是在修改装备时,第⼀个只会影响⼀条记录,当时第⼆个会影响所有装备,⼀旦出现bug还让玩家损失所有装备。两者各有利弊,根据使⽤场景⾃⼰权衡。
C++11的新特性?
如何对⼀个快排进⾏优化使得它的最坏的时间复杂度达到O(LogN)?
Lua和Unity中的协程是怎么使⽤的,都有什么区别?
我的游戏Demo中AI的设计思路是怎样的。
如果让你设计⼀个暗⿊破坏神的简化版⼿机游戏,你会从哪⾥开始设计。
只记录了⼀些我认为⽐较有价值的问题,有些问题没有记录,其实除了这些问题之外,我和⾯试官的许多交流都围绕在我做的游戏Demo上了,讨论了许多关于这个游戏AI,架构和Cocos2d-x相关的问题,我还把⾃⼰的游戏代码给⾯试官看了,很多问题都是边看代码边聊的,还是和第⼀次⼀样基本没问算法,⼤部分时间是在聊项⽬。所以各位同学们,有个拿得出⼿的项⽬还是很重要的。
总⽽⾔之,和这⼏个⾯试官的聊天过程,还是⽐较开⼼的,⼤部分问题都能答得不错,⼏个⾯试官对我的评价也不错,顺利进⼊下午的三⾯。
要注意的是⼆⾯的时间⽐较长,每⼀⾯的时间都有30分钟以上,还要连着跟三个⾯试官聊天,前⼀天⼀定要休息好,要不然可能撑不住。
三⾯是总监⾯,到了三⾯的时候,6个⼈⼜被淘汰了⼏个,然后我第⼀个被叫过去总监⾯,三个总监貌似是主策,主美和主程。这⼀⾯的压⼒还是蛮⼤的,问的问题明显要⽐⼆⾯的时候难了不少,我整理了⼀下三⾯中⼀些⽐较难的问题,供⼤家参考⼀下:
C++11有那些特性?
C++11模板中的特化和偏特化分别指什么?都在那些情况下应⽤?
C++11模版的⾼级使⽤有那些?请举出例⼦。
Java Runtime和Lua Runtime有什么区别和相同点?
游戏中状态机如何实现REDO,UNDO和MERGE?(⽤stack即可实现)
极⼤极⼩算法的原理和在AI中的应⽤?
3D游戏中相机是有那三个元素构成的(Translate,Target和Up Vector),分别起什么作⽤,如何使⽤四元数进⾏相机的变换?
由于本⼈计算机图形学⽐较菜,很多相关的问题没法打上来,在第三次⾯试中真实蛮失败的,最终很可惜,没拿到offer,只好下次再战。。。
⽹易游戏的⾯试流程整体⾛下来,感觉还是蛮规范的,⽹易确实在认真的招⼈和⾯试,我的感觉是⽹易希望招聘的应届⽣除了有⼀个拿得出⼿的项⽬之外(最好是游戏相关的),还要在以下这两个⽅⾯⾄少熟悉⼀样:
计算机图形学
游戏服务器编程
然后再说⼀下⽹易的基本要求,当然了,什么数据结构,操作系统,数据库,编译原理这些的基本原理和应⽤就不细说了,都是本科⽣基础必会的东西,说些和游戏相关的要求:
对C++的模版的⾼级⽤法要了解的⽐较深⼊。
对C++的内存管理的各种解决⽅案要⾮常熟悉并亲⼿实验过。
对AI的各种算法要有了解:⽐如博弈论中的极⼤极⼩算法,A*算法的优化等等
对C++的装载链接过程和Lua的虚拟机的⼀些底层实现要有了解
对VS或者Xcode这两种IDE需要可以熟练的应⽤
需要的项⽬经历:⾃⼰开发过⼀个简单的游戏引擎或者是做过⽐较复杂的游戏Demo(⼤概是Kingdom Rush这个级别就可以了吧)
对Unity3D或者Cocos2d-x有着丰富的使⽤经验(可以没有,有的话加分)
对OpenGL或者是DirectX要有了解,做过⼀些Shader和Renderer (可以没有,有的话加分)
了解过⽹易的后端框架Pomelo(可以没有,有的话加分)
再说⼀下,⽹易⼿游这边⽬前的⼀些相关信息,
游戏引擎:主要是Unity,有部分Cocos2d-x
IDE:主要是Xcode
后端:主要是Pomelo
项⽬前景:⼤部分是被砍
好了,这篇⽂章就写到这⾥,有什么其他不明⽩的问题,可以到微博上私信我,QQ不想加⼈了。。。好友太多。