騰訊 IEG Unity 面經
問題有點多。我會分塊列舉
基礎相關
1.Animator的使用和機制 以及與Animation的區別
2.什麼是弱引用?弱引用的使用和作用?弱引用和強引用的區別?
3.Unity的路徑有哪些?物件池的使用?
4.瞭解過音訊壓縮嗎,音訊檔案怎麼降噪?瞭解過動畫壓縮嗎,3DMAX如何進行骨骼優化?
5.各種排序演算法的時間複雜度,實現快排?
6.C# lambda表示式和表示式樹的用法?
7.瞭解過A*演算法嗎,簡單說說
8.說一說狀態機和行為樹
網路相關
9..UDP和TCP的區別?什麼是三次握手四次揮手?為什麼要三次握手?四次揮手的過程?
10.TCP連線中如果客戶端突然網路中斷會發生什麼?
11.UDP如何實現可靠傳輸?資料包的合併?
12.如果讓你做一款Moba類或者其他多人競技遊戲,你會選擇哪種通訊協議,為什麼?
13.你知道的同步方式,區別是什麼?
14.如果讓你做一款Moba類或者其他多人競技遊戲,你會選擇哪種同步方式,為什麼?
15.在一局Moba類遊戲中如何實現斷線重連功能?
16.你的邏輯判斷是在客戶端還是在伺服器上?如何保證客戶端邏輯判斷的準確性?
17.對於FPS比較低的客戶端如何保證資料傳輸的可靠性?
18.如何保證各個客戶端的遊戲進度一樣?
19.最後說說你怎麼解決網路優化和基於網路的效能優化問題?
效能優化相關
20.大致談一下效能優化?
21.如果讓你開發一款Moba類遊戲,如何做具體的效能優化?(我簡單說了一下所瞭解的王者榮耀的效能優化)
22.你覺得Unity的UGUI在效能方面的表現如何?如何優化UGUI?(因為我知道王者榮耀在這塊是有自己的UI框架,所以不太敢隨便回答)
24.如何解決低效能機器掉幀、卡幀問題?
25.對於大量資料包傳輸,由於客戶端無法在給定的時間內解析完資料包,如何解決這一問題?
26.假設我的機器就只有1核1G的CPU如何讓你的遊戲也能在這上面執行,不會崩潰?
27.最後說一下你的專案所做的效能優化的嘗試?
圖形學相關
28.瞭解OpenGL和DX3D嗎?瞭解shader嗎?
29.什麼是頂點著色器?什麼是片元著色器?
30.Unity渲染管線?請簡單描述一下這個過程?
31.可程式設計渲染管線和固定管線的區別和優勢?
32.什麼是Z緩衝?什麼是G緩衝?作用?
33.Unity如何將一個頂點變換到螢幕上?請寫出矩陣變換的過程?
34.如何實現頂點動畫?舉一個你自己的例子
35.法線變換和頂點變換有什麼區別的關係?
36.深度測試和模板測試?
37.說說shader怎麼做效能優化?DrawCall優化?
38.最後簡要描述一下你自己實現過的一個shader例子?
lua相關
39.Lua框架?
40.XLua如何實現熱更新?
41.Lua如何實現面向物件?
42.Lua協程?
43.Lua GC垃圾回收機制?
44.Lua如何呼叫C/C++函式
45.最後一個問題,自己有沒有改過XLua,具體說說?