網(wǎng)易游戲面試經(jīng)歷總結(jié)

電話面試
第一輪的電話面試是在周一上午十點(diǎn),可是我一直等到10點(diǎn)40才接到面試官的電話,第一面的面試官是南京大學(xué)的學(xué)長(zhǎng),人非常nice,沒有問(wèn)什么很難的問(wèn)題,基本上一開始就是從我做過(guò)的戰(zhàn)棋游戲的項(xiàng)目入手,因?yàn)槲邑?fù)責(zé)的主要是GamePlay,所以問(wèn)的問(wèn)題也都集中在這一塊,比如游戲中的狀態(tài)機(jī)的設(shè)計(jì),動(dòng)畫曲線的設(shè)計(jì),相機(jī)的移動(dòng),游戲中如何使用MVC之類的(可以參考我的 這篇文章 )等等。然后就是我一個(gè)人在扯一些Cocos2d-x的事情了,因?yàn)槲冶救藢?duì)Cocos2d-x還算有點(diǎn)研究,就把Cocos2d-x的一些重要的特性說(shuō)了下,但是學(xué)長(zhǎng)好像是做Unity3D的,感覺有點(diǎn)對(duì)不上路。算法方面的問(wèn)題倒是一個(gè)也沒問(wèn),面試結(jié)束后,我問(wèn)了下學(xué)長(zhǎng)對(duì)我的印象如何,學(xué)長(zhǎng)說(shuō)各方面都還不錯(cuò),我就覺得這一輪差不多了。
總之第一輪的電話面試,還算簡(jiǎn)單,只要你有幾個(gè)拿得出手的項(xiàng)目就行了,最好是移動(dòng)游戲,實(shí)在不行的話,做過(guò)移動(dòng)App也行吧。當(dāng)然,熟悉Unity3D或者OpenGL之類的有加分,要是獲悉一些后端的東西,比如網(wǎng)易的Pomelo就更好了。
網(wǎng)易游戲二面
過(guò)了一周之后,網(wǎng)易發(fā)來(lái)了通知,叫我去杭州參加第二次面試,知道這個(gè)消息還是蠻興奮的,因?yàn)榫W(wǎng)易的本科生錄取率還不到5%吧。。。又過(guò)了一周,果斷買票趕往杭州!
網(wǎng)易的第二次面試實(shí)際上是三次面試,就是三個(gè)工程師會(huì)輪流對(duì)你進(jìn)行面試,然后綜合評(píng)價(jià)之后,再判斷是否給你下一輪的機(jī)會(huì)。對(duì)于這次面試我還是做了不少準(zhǔn)備的,我不但專門為這次游戲做了一個(gè)游戲Demo,用MVC架構(gòu)做了一個(gè)Cocos2d-x的游戲, 源碼在這 ,而且專門準(zhǔn)備了一份自我介紹和一些想問(wèn)面試官的問(wèn)題。
去進(jìn)行面試的一共有6個(gè)人,五個(gè)是應(yīng)聘實(shí)習(xí)生的,一個(gè)是春季補(bǔ)招的,也就是說(shuō),網(wǎng)易對(duì)實(shí)習(xí)生的招聘和正式員工的校招要求的水平基本一致,這點(diǎn)各位注意一下。一般過(guò)了第一面之后,在杭州這一次是6個(gè)里面淘汰5個(gè),這6個(gè)人基本都拿到BAT或者同級(jí)別的的offer了,除了我和我的一個(gè)同學(xué)(我兩之前一起做了那個(gè)戰(zhàn)棋游戲。。。)是本科生外,其他人基本都是研究生,可見網(wǎng)易的選拔還是比較嚴(yán)格的。
接下來(lái)說(shuō)一說(shuō)二面都問(wèn)了些什么問(wèn)題吧,我一一列舉如下,各位可以參考一下(網(wǎng)易的人別打我,我這不算泄露機(jī)密吧):
-
如何對(duì)手機(jī)游戲進(jìn)行優(yōu)化,我的回答基本上是以下這樣的
- 一般分為內(nèi)存優(yōu)化幀數(shù)優(yōu)化,內(nèi)存優(yōu)化和運(yùn)存優(yōu)化。
- 幀數(shù)優(yōu)化可以考慮對(duì)一個(gè)message loop中的邏輯運(yùn)算進(jìn)行優(yōu)化,比如可以考慮A*的剪枝?;蛘哌M(jìn)行time slice,具體可以參考我的 這篇文章
-
體積和運(yùn)行內(nèi)存優(yōu)化有以下幾點(diǎn)
- 使用工具對(duì)資源進(jìn)行打包,使用TexturePacker等工具把多張資源合成一張圖片。
- 采用png壓縮工具,在打包圖片之前對(duì)每張圖片進(jìn)行壓縮,降低圖片質(zhì)量。
- 針對(duì)不同的平臺(tái)使用特定的壓縮格式的圖片
- 如果項(xiàng)目中幀序列占的比較多,那么可以采用降幀的方式來(lái)優(yōu)化。
- 縮放圖片,將原來(lái)圖片縮小為原來(lái)的70% ~ %80,再對(duì)圖像進(jìn)行放大
- 采用編輯器,將大圖轉(zhuǎn)化為拼接,那么就可以利用地圖編輯器、動(dòng)作編輯器等從而減少體積,降低內(nèi)存的使 用。
-
如何在對(duì)游戲的“手感”進(jìn)行改進(jìn):
- 游戲手感一般指的是打擊感,那么我就在打擊到一個(gè)游戲?qū)ο髸r(shí),游戲?qū)ο笠a(chǎn)生擊退的效果,產(chǎn)生該對(duì)象被打擊的感覺。
- 時(shí)間控制要恰當(dāng),要讓某個(gè)對(duì)象(比如火球,拳頭)打擊到另一個(gè)游戲?qū)ο蟮臅r(shí)候,才產(chǎn)生擊退效果,這就需要進(jìn)行使用消息機(jī)制和回調(diào)來(lái)解決。
-
如何在數(shù)據(jù)庫(kù)中存儲(chǔ)一個(gè)人的所有裝備
- 建立一個(gè)人物ID和裝備ID的關(guān)系表。
- 將人物的所有裝備的id序列化為一個(gè)JSON字符串存儲(chǔ)為人物的一個(gè)字段。
- 這兩個(gè)最大的區(qū)別是在修改裝備時(shí),第一個(gè)只會(huì)影響一條記錄,當(dāng)時(shí)第二個(gè)會(huì)影響所有裝備,一旦出現(xiàn)bug還讓玩家損失所有裝備。兩者各有利弊,根據(jù)使用場(chǎng)景自己權(quán)衡。
- C++11的新特性?
- 如何對(duì)一個(gè)快排進(jìn)行優(yōu)化使得它的最壞的時(shí)間復(fù)雜度達(dá)到O(LogN)?
- Lua和Unity中的協(xié)程是怎么使用的,都有什么區(qū)別?
- 我的游戲Demo中AI的設(shè)計(jì)思路是怎樣的。
- 如果讓你設(shè)計(jì)一個(gè)暗黑破壞神的簡(jiǎn)化版手機(jī)游戲,你會(huì)從哪里開始設(shè)計(jì)。
只記錄了一些我認(rèn)為比較有價(jià)值的問(wèn)題,有些問(wèn)題沒有記錄,其實(shí)除了這些問(wèn)題之外,我和面試官的許多交流都圍繞在我做的游戲Demo上了,討論了許多關(guān)于這個(gè)游戲AI,架構(gòu)和Cocos2d-x相關(guān)的問(wèn)題,我還把自己的游戲代碼給面試官看了,很多問(wèn)題都是邊看代碼邊聊的,還是和第一次一樣基本沒問(wèn)算法,大部分時(shí)間是在聊項(xiàng)目。所以各位同學(xué)們,有個(gè)拿得出手的項(xiàng)目還是很重要的。
總而言之,和這幾個(gè)面試官的聊天過(guò)程,還是比較開心的,大部分問(wèn)題都能答得不錯(cuò),幾個(gè)面試官對(duì)我的評(píng)價(jià)也不錯(cuò),順利進(jìn)入下午的三面。
要注意的是二面的時(shí)間比較長(zhǎng),每一面的時(shí)間都有30分鐘以上,還要連著跟三個(gè)面試官聊天,前一天一定要休息好,要不然可能撐不住。
網(wǎng)易游戲三面
三面是總監(jiān)面,到了三面的時(shí)候,6個(gè)人又被淘汰了幾個(gè),然后我第一個(gè)被叫過(guò)去總監(jiān)面,三個(gè)總監(jiān)貌似是主策,主美和主程。這一面的壓力還是蠻大的,問(wèn)的問(wèn)題明顯要比二面的時(shí)候難了不少,我整理了一下三面中一些比較難的問(wèn)題,供大家參考一下:
- C++11有那些特性?
- C++11模板中的特化和偏特化分別指什么?都在那些情況下應(yīng)用?
- C++11模版的高級(jí)使用有那些?請(qǐng)舉出例子。
- Java Runtime和Lua Runtime有什么區(qū)別和相同點(diǎn)?
- 游戲中狀態(tài)機(jī)如何實(shí)現(xiàn)REDO,UNDO和MERGE?(用stack即可實(shí)現(xiàn))
- 極大極小算法的原理和在AI中的應(yīng)用?
- 3D游戲中相機(jī)是有那三個(gè)元素構(gòu)成的(Translate,Target和Up Vector),分別起什么作用,如何使用四元數(shù)進(jìn)行相機(jī)的變換?
由于本人計(jì)算機(jī)圖形學(xué)比較菜,很多相關(guān)的問(wèn)題沒法打上來(lái),在第三次面試中真實(shí)蠻失敗的,最終很可惜,沒拿到offer,只好下次再戰(zhàn)。。。
網(wǎng)易游戲到底招什么樣的應(yīng)屆生?
網(wǎng)易游戲的面試流程整體走下來(lái),感覺還是蠻規(guī)范的,網(wǎng)易確實(shí)在認(rèn)真的招人和面試,我的感覺是網(wǎng)易希望招聘的應(yīng)屆生除了有一個(gè) 拿得出手的項(xiàng)目 之外(最好是游戲相關(guān)的),還要在以下這兩個(gè)方面 至少熟悉一樣 :
- 計(jì)算機(jī)圖形學(xué)
- 游戲服務(wù)器編程
然后再說(shuō)一下網(wǎng)易的基本要求,當(dāng)然了,什么數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng),數(shù)據(jù)庫(kù),編譯原理這些的 基本原理和應(yīng)用 就不細(xì)說(shuō)了,都是本科生基礎(chǔ)必會(huì)的東西,說(shuō)些和游戲相關(guān)的要求:
- 對(duì)C++的模版的高級(jí)用法要了解的比較深入。
- 對(duì)C++的內(nèi)存管理的各種解決方案要非常熟悉并親手實(shí)驗(yàn)過(guò)。
- 對(duì)AI的各種算法要有了解:比如博弈論中的極大極小算法,A*算法的優(yōu)化等等
- 對(duì)C++的裝載鏈接過(guò)程和Lua的虛擬機(jī)的一些底層實(shí)現(xiàn)要有了解
- 對(duì)VS或者Xcode這兩種IDE需要可以熟練的應(yīng)用
- 需要的項(xiàng)目經(jīng)歷: 自己開發(fā)過(guò) 一個(gè)簡(jiǎn)單的游戲引擎或者是做過(guò) 比較復(fù)雜的 游戲Demo(大概是Kingdom Rush這個(gè)級(jí)別就可以了吧)
- 對(duì)Unity3D或者Cocos2d-x有著豐富的使用經(jīng)驗(yàn) (可以沒有,有的話加分)
- 對(duì)OpenGL或者是DirectX要有了解,做過(guò)一些Shader和Renderer (可以沒有,有的話加分)
- 了解過(guò)網(wǎng)易的后端框架Pomelo(可以沒有,有的話加分)
再說(shuō)一下,網(wǎng)易手游這邊目前的一些相關(guān)信息,
- 游戲引擎:主要是Unity,有部分Cocos2d-x
- IDE:主要是Xcode
- 后端:主要是Pomelo
- 項(xiàng)目前景:大部分是被砍
相關(guān)文章
- 這篇文章主要介紹了網(wǎng)易游戲的面試題與參考答案,總結(jié)了網(wǎng)易游戲入職面試中的常見問(wèn)題及對(duì)應(yīng)參考答案,涉及線程、數(shù)據(jù)庫(kù)、爬蟲、以及各種算法的Python實(shí)現(xiàn)技巧,需要的朋友可2019-09-23
網(wǎng)易2018校園招聘面試編程題真題與參考答案集合
這篇文章主要介紹了網(wǎng)易2018校園招聘面試編程題真題與參考答案,整理了2018校園招聘面試編程題及相應(yīng)的解題思路、參考答案,涉及各種常用數(shù)據(jù)結(jié)構(gòu)與算法使用技巧,需要的朋友2019-09-19網(wǎng)易2019實(shí)習(xí)生招聘面試編程題與參考答案集合
這篇文章主要介紹了網(wǎng)易2019實(shí)習(xí)生招聘面試編程題與參考答案,結(jié)合具體實(shí)例形式分析了網(wǎng)易招聘面試中的編程題目,涉及字符串處理、數(shù)值運(yùn)算及常用的算法操作技巧,需要的朋友2019-09-18阿里、網(wǎng)易、滴滴共十次前端面試碰到的問(wèn)題小結(jié)
這篇文章主要介紹了阿里、網(wǎng)易、滴滴共十次前端面試碰到的問(wèn)題小結(jié),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-25兩個(gè)月面試經(jīng)歷回顧:阿里,攜程,小紅書,美團(tuán),網(wǎng)易等等
這篇文章主要介紹了兩個(gè)月面試經(jīng)歷回顧:阿里,攜程,小紅書,美團(tuán),網(wǎng)易等等,分享給大家經(jīng)驗(yàn),有興趣的可以了解一下2019-06-25騰訊的外包c(diǎn)++面試經(jīng)歷總結(jié)
這篇文章主要介紹了騰訊的外包c(diǎn)++面試經(jīng)歷,總結(jié)記錄了一次騰訊C++面試的經(jīng)歷,包括面試的流程、面試題目與相應(yīng)的參考答案,需要的朋友可以參考下2019-09-29百度java后臺(tái)實(shí)習(xí)生招聘面試題集錦
這篇文章主要介紹了百度java后臺(tái)實(shí)習(xí)生招聘面試題,整理總結(jié)了百度java后臺(tái)招聘過(guò)程中一面、二面與三面所遇到的各種問(wèn)題,涉及Java相關(guān)概念、原理及算法等,需要的朋友可以參2019-09-27- 這篇文章主要介紹了阿里面試必會(huì)的20道C++面試題與參考答案,涉及C++指針、面向?qū)ο?、函?shù)等相關(guān)特性與使用技巧,需要的朋友可以參考下2019-09-26
- 這篇文章主要介紹了搜狐前端崗一次失敗的面試經(jīng)歷,整理記錄了一次搜狐前端招聘過(guò)程中所經(jīng)歷的各種問(wèn)題與最終失敗的總結(jié),需要的朋友可以參考下2019-09-25
華為Java社招面試經(jīng)歷詳解【已拿到offer】
這篇文章主要介紹了華為Java社招面試經(jīng)歷,詳細(xì)記錄了華為java面試的流程、相關(guān)面試題與參考答案,需要的朋友可以參考下2019-09-17