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

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