本文獻給,想踏入3D游戲客戶端開發的初學者。
畢業2年,去年開始9月開始轉作手機游戲開發,從那時開始到現在一共面的游戲公司12家,其中知名的包括搜狐暢游、掌趣科技、藍港在線、玩蟹科技、天神互動、樂元素。開始做虛幻3游戲程序開發,現在轉作UNITY3D。面試了12家公司大概總結一下面試的常考方向(以下排名不分先后,紅色是需要着重了解的,但不僅限於此,如果有錯,望指正)。
1、面試方式:所有面試,只有3家有面試題,藍港是其中之一,題量2-4頁不等;其他都是1對1,2對1,或者3對1直接面試;主要考C#、unity基礎,大公司問的不難,但問得深,基礎必須扎實。
2、3D圖形學、渲染:渲染管道流程、3D渲染優化,延遲渲染、Shader編程。
3、數學、數據結構:二維矩陣、三維矩陣相乘、轉置;向量點乘和叉乘方法和意義;四元數、歐拉數;二叉樹、堆棧;線性表、鏈表。
4、unity3d:熟悉NGUI(原理機制);物理引擎;DrawCall優化;AI、自動尋路;做unity3d遇到的坑(unity吭特多,只有親手做過才知道),協同程序,動畫系統;光照烘培;Trigger; 異步加載(AssetBundle.LoadAsync)。多看API(用戶手冊、組件手冊、腳本手冊)
5、C#語言:Event和委托;抽象類和接口;垃圾回收器,多線程。
6、英語能力:外語文檔閱讀能力順暢,因為很多時候要去國外網站了解新技術,所以這個是做的好的關鍵。面試的時候,也會給你一篇英文技術文檔給你翻譯。
7、思想:MVC思想、代碼耦合性;代碼編寫風格(代碼頭部注釋、方法注釋);愛玩的游戲以及對它的評價(缺點,怎么改進更好);如果讓你設計一個MMO,你應該怎么做等。
下面舉幾個面試的具體例子:
1、一個物體,它頂上有個攝像機,攝像機離他越來越遠,最后讓物體消失(不是隱藏它)。
2、鼠標點擊一個物體,然后屏幕上顯示他的坐標和名稱信息。
3、TCP/UDP區別
參看面試題:
http://www.cnblogs.com/zhibolife/p/3680621.html
http://www.cnblogs.com/zhibolife/p/3624916.html
其他參考資料:
NGUI機制:http://www.cnblogs.com/zhibolife/p/3642000.html
網上找到一張unity3d知識體系大綱圖,可以對照着學習,有利於形成思維體系。