unity演算法面試 unity 常見的面試題總結

2021-10-13 06:13:22 字數 1197 閱讀 9543

一.介面和抽象類的區別:

1.抽象類可以有構造方法,介面中不能有構造方法;

2.抽象類中的靜態成員變數的訪問型別可以任意,但介面中定義的變數只能public static final型別,並且預設即為public static final型別

3.乙個類可以實現多個介面,但只能繼承乙個抽象類;

4.抽象類可以包含靜態方法,介面中不能包含靜態方法

5.介面不能包含字段,抽象類可以有欄位。

6.實現介面的時候必須要實現介面中的所有的方法,不能遺漏任何乙個。

二:堆和棧的區別:

1.棧區(stack):由編譯器自動分配釋放。

2.堆區(heap):一般由程式設計師分配釋放,會產生gc**。

3.棧頂的位址和棧的最大容量是系統預先規定好的,如果申請的空間超過棧的剩餘空間時,會報overflow溢位的錯誤;而堆是不連續的記憶體區域,是由系統用鍊錶來儲存的空閒記憶體位址的,堆的大小跟計算機系統中有效的虛擬記憶體。

三:四元數和尤拉角的區別:

尤拉角的任意乙個角度可以有很多種表示,會造成萬向鎖的現象,而四元數只有一種表示;例如:使用尤拉角的時候0°和360°以及-360°都是一樣的

四:向量的點乘、叉乘以及歸一化的意義?

答:1)點乘描述了兩個向量的相似程度,結果越大兩向量越相似,還可表示投影;角度越小,cos的值越大

2)叉乘得到的向量垂直於原來的兩個向量所形成的平面

3)標準化向量:用在只關係方向,不關心大小的時候

五:過載和override的區別:

overload:過載就是在同乙個類中,方法名相同,引數列表不同。引數列表不同包括:引數的個數不同,引數型別不同等。

override:說的是兩個類繼承,子類重寫父類的方法,在呼叫的時候,子類的方法會覆蓋父類的方法,也就是會呼叫子類的方法。在父類中的方法必須有修飾符virtual,而在子類的方法中必須指明override。(方法名稱必須相同,引數也要相同)

六:如何優化記憶體:

1.精靈壓縮

2.使用objectpool物件池將暫時不用的以後還需要使用的物體隱藏起來而不是直接destroy掉;

3.釋放assetbundle占用的資源;

4.降低模型的片面數,降低模型的骨骼數量,降低貼圖的大小;

5.使用光照貼圖,使用多層次細節(lod),使用著色器(shader),使用預設(prefab)。

6.動態批處理,靜態批處理;

7.遮擋剔除處理;

unity演算法面試 Unity面試經驗

工作經驗快滿三年了,從學校實習開始到目前為止只經歷過一次找工作的經驗。這次出來找工作還是有點感觸的。下面是我對上家公司工作的乙個反思和本次找工作的經歷的乙個簡短總結。1.在前一家公司的時候什麼活都幹,而且也基本上可以勝任。可以說在這家公司裡把知識面開拓的很寬,但是終究對於我來說沒有壓箱底的技術。因為...

Unity常考題目

unity檢測碰撞條件 雙方都要有碰撞器,一方有剛體就能發生碰撞 碰撞和觸發是碰撞檢測兩種方式,一種是利用碰撞器,另一種則是利用觸發器。碰撞器與觸發器的區別 碰撞有碰撞效果,觸發沒有碰撞效果 使用觸發器時,碰撞器根據物理引擎引發碰撞,產生碰撞的效果 不使用時,碰撞器被物理引擎所忽略,沒有碰撞效果。1...

Unity面試整理

1 什麼是drawcall,有什麼方法可以減少drawcall drawcall是啥?其實就是對底層圖形程式 比如 opengl es 介面的呼叫,以在螢幕上畫出東西。在每次呼叫draw call之前,cpu需要向gpu傳送很多內容,包括資料,狀態,命令等。在這一階段,cpu需要完成很多任務作,例如...