洪流學堂,讓你快人幾步逼泣。
本篇文章首發(fā)于我的公眾號:洪流學堂
今天整理了一些Unity面試題目辅柴,希望可以幫助到你。
面試官:叉乘和點乘的意義怠噪?
答:
叉乘:
幾何意義:得到一個與這兩個向量都垂直的向量恐似,這個向量的模是以兩個向量為邊的平行四邊形的面積。
在同一平面內(nèi)舰绘,結(jié)果>0表示B在A的逆時針方向蹂喻,結(jié)果<0表示B在A的順時針方向葱椭, 結(jié)果=0表示B與A同向捂寿。
點乘:
幾何意義:可以用來表征或計算兩個向量之間的夾角,以及b向量在a向量方向上的投影孵运。
兩個向量的點乘所得到的是兩個向量的余弦值秦陋,也就是-1到1之間,0表示垂直治笨,-1表示相反驳概,1表示相同方向。
面試官:虛方法和抽象方法的區(qū)別旷赖?
答:
- 抽象方法是只有方法名稱顺又,沒有方法體,即沒有方法的具體實現(xiàn)等孵,子類必須重寫父類抽象方法才能實現(xiàn)具體功能稚照;虛函數(shù)有方法名稱也也有方法體,但是子類可覆蓋俯萌,也可不覆蓋果录。
- 抽象方法是一種強制派生類覆蓋的方法,否則派生類將不能被實例化咐熙。
- 抽象方法只能在抽象類中聲明弱恒,虛方法不是。
- 派生類必須重寫抽象類中的抽象方法棋恼,虛方法則不必要返弹。
面試官:Addcomponent后哪個生命周期函數(shù)會被調(diào)用锈玉?
答:
對于AddComponent添加的腳本,其Awake义起,Start嘲玫,OnEnable是在Add的當前幀被調(diào)用的,其中Awake并扇,OnEnable與AddComponent處于同一調(diào)用鏈上去团,Start會在當前幀稍晚一些的時候被調(diào)用,Update則是根據(jù)Add調(diào)用時機決定何時調(diào)用:如果Add是在當前幀的Update前調(diào)用穷蛹,那么新腳本的Update也會在當前幀被調(diào)用土陪,否則會被延遲到下一幀調(diào)用。
面試官:Unity中協(xié)程是如何實現(xiàn)的肴熏?
答:
協(xié)程不是線程鬼雀,也不是異步執(zhí)行的。協(xié)程和MonoBehaviour的Update函數(shù)一樣也是在MainThread中執(zhí)行的蛙吏。使用協(xié)程你不用考慮同步和鎖的問題源哩。
協(xié)程其實就是一個IEnumerator(迭代器),IEnumerator 接口有兩個方法Current和MoveNext() 鸦做,只有當MoveNext()返回 true時才可以訪問Current励烦,否則會報錯。迭代器方法運行到y(tǒng)ield return語句時泼诱,會返回一個expression表達式并保留當前在代碼中的位置坛掠,當下次調(diào)用迭代器函數(shù)時執(zhí)行從該位置重新啟動。
面試官:圖集打包怎么分類治筒?
答:
- 按業(yè)務功能的預制屉栓,尋找依賴,收集所有預制引用的圖片耸袜。
- 如果有多個預制使用了同一張圖片友多,我們就把它扔到common文件夾。
- 讓圖集盡量緊湊堤框,沒有太多空白域滥,盡量讓圖集處于2的n次方大小。
擴展閱讀
關(guān)注洪流學堂胰锌,每周一定期推送骗绕。
我是大智,你的技術(shù)探路者资昧,下次見酬土!
別走!點贊格带,收藏哦撤缴!
好刹枉,你可以走了。