1. 程式人生 > >騰訊 IEG Unity 面經

騰訊 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,具體說說?