天天操天天拍-天天操天天射天天-天天操天天射天天操-天天操天天添-欧美乱码伦视频免费-欧美乱一级在线观看

您現在所在的位置:首頁 >學員就業 > 就業寶典 > Unity面試題部分高頻題目整理匯集

Unity面試題部分高頻題目整理匯集

來源:奇酷教育 發表于:

大的游戲公司很看重個人基礎、綜合能力;小公司看你實際工作能力,看你的Demo。

  數據結構和算法很重要,圖形學也很重要!
 
  大的游戲公司很看重個人基礎、綜合能力;
 
  小公司看你實際工作能力,看你的Demo。
 
  1. 請簡述值類型與引用類型的區別
 
  答:區別:
 
  1)值類型存儲在內存棧中,引用類型數據存儲在內存堆中,而內存單元中存放的是堆中存放的地址。
 
  2)值類型存取快,引用類型存取慢。
 
  3)值類型表示實際數據,引用類型表示指向存儲在內存堆中的數據的指針和引用。
 
  4)棧的內存是自動釋放的,堆內存是.NET中會由GC來自動釋放。
 
  5)值類型繼承自System.ValueType,引用類型繼承自System.Object。
 
  可參考
 
  2.C#中所有引用類型的基類是什么
 
  答:引用類型的基類是System.Object 值類型的基類是
 
  同時,值類型也隱式繼承自
 
  3.請簡述ArrayList和List的主要區別
 
  答:ArrayList存在不安全類型‘(ArrayList會把所有插入其中的數據都當做Object來處理
 
  裝箱拆箱的操作(費時
 
  List是接口,ArrayList是一個實現了該接口的類,可以被實例化。
 
  4.請簡述GC(垃圾回收)產生的原因,并描述如何避免?
 
  答:GC回收堆上的內存
 
  避免:1)減少new產生對象的次數
 
  2)使用公用的對象(靜態成員
 
  3)將String換為
 
  5.請描述Interface與抽象類之間的不同
 
  答:抽象類表示該類中可能已經有一些方法的具體定義,但接口就是公公只能定義各個方法的界面 ,不能具體的實現代碼在成員方法中。
 
  類是子類用來繼承的,當父類已經有實際功能的方法時該方法在子類中可以不必實現,直接引用父類的方法,子類也可以重寫該父類的方法。
 
  實現接口的時候必須要實現接口中所有的方法,不能遺漏任何一個。
 
  參考
 
  6.下列代碼在運行中會產生幾個臨時對象?
 
  string a = new string("abc");
 
  答:其實在C#中第一行是會出錯的(Java中倒是可行)。應該這樣初始化:
 
  7.下列代碼在運行中會發生什么問題?如何避免?
 
  答:會產生運行時錯誤,因為foreach是只讀的。不能一邊遍歷一邊修改。
 
  8.請簡述關鍵字Sealed用在類聲明和函數聲明時的作用
 
  答:類聲明時可防止其他類繼承此類,在方法中聲明則可防止派生類重寫此方法。
 
  9.請簡述private,public,protected,internal的區別
 
  答:
 
  public:對任何類和成員都公開,無限制訪問
 
  private:僅對該類公開
 
  protected:對該類和其派生類公開
 
  internal:只能在包含該類的程序集中訪問該類
 
  protected internal:
 
  10.反射的實現原理?
 
  答:審查元數據并收集關于它的類型信息的能力。
 
  參考
 
  反射個人認為,就是得到程序集中的屬性和方法。
 
  實現步驟:
 
  1)導入
 
  2)Assembly.Load("程序集")加載程序集,返回類型是一個
 
  得到程序集中所有類的名稱
 
  4)Type type = assembly.GetType("程序集.類名");獲取當前類的類型
 
  5)Activator.CreateInstance(type); 創建此類型實例
 
  6)MethodInfo mInfo = type.GetMethod("方法名");獲取當前方法
 
  7)mInfo.Invoke(null,方法參數
 
  11. .Net與Mono的關系?
 
  答:Mono官網主頁
 
  mono是.net的一個開源跨平臺工具,就類似java虛擬機,java本身不是跨平臺語言,但運行在虛擬機上就能夠實現了跨平臺。.net只能在windows下運行,mono可以實現跨平臺跑,
 
  可以運行于linux,Unix,Mac OS等。
 
  12.簡述unity3d支持的作為腳本的語言的名稱
 
  答:Unity的腳本語言基于Mono的.Net平臺上運行,可以使用.NET庫,這也為XML、數據庫、正則表達式等問題提供了很好的解決方案。
 
  Unity里的腳本都會經過編譯,他們的運行速度也很快。這三種語言實際上的功能和運行速度是一樣的,區別主要體現在語言特性上。
 
  JavaScript:和網頁中常用的JavaScript不一樣,它編譯后的運行速度很快,語法方面也會有不少區別。
 
  Boo:可以看做是Python語言的變種,又糅合了Ruby和C#的特性,它是靜態類型語言
 
  13.Unity3D是否支持寫成多線程程序?如果支持的話需要注意什么?
 
  答:參考
 
  僅能從主線程中訪問Unity3D的組件,對象和Unity3D系統調用
 
  支持:如果同時你要處理很多事情或者與Unity的對象互動小可以用thread,否則使用coroutine。
 
  注意:C#中有lock這個關鍵字,以確保只有一個線程可以在特定時間內訪問特定的對象
 
  14.Unity3D的協程和C#線程之間的區別是什么?
 
  答:
 
  多線程程序同時運行多個線程 ,而在任一指定時刻只有一個協程在運行,并且這個正在運行的協同程序只在必要時才被掛起。
 
  除主線程之外的線程無法訪問Unity3D的對象、組件、方法。
 
  Unity3d沒有多線程的概念,不過unity也給我們提供了StartCoroutine(協同程序)和LoadLevelAsync(異步加載關卡)后臺加載場景的方法。 StartCoroutine為什么叫協同程序呢,所謂協同,就是當你在StartCoroutine的函數體里處理一段代碼時,利用yield語句等待執行結果,這期間不影響主程序的繼續執行,可以協同工作。而LoadLevelAsync則允許你在后臺加載新資源和場景,所以再利用協同,你就可以前臺用loading條或動畫提示玩家游戲未卡死,同時后臺協同處理加載的事宜asynchronous[e ?? s ?? kr ? n ? s] .synchronous同步。
 
  15.U3D中用于記錄節點空間幾何信息的組件名稱,及其父類名稱
 
  答:Transform 父類是
 
  16.簡述四元數的作用,四元數對歐拉角的優點?
 
  答:四元數用于表示旋轉
 
  相對歐拉角的優點:
 
  1)能進行增量旋轉
 
  2)避免萬向鎖
 
  3)給定方位的表達方式有兩種,互為負(歐拉角有無數種表達方式
 
  17.向量的點乘、叉乘以及歸一化的意義?
 
  1)點乘描述了兩個向量的相似程度,結果越大兩向量越相似,還可表示投影
 
  2)叉乘得到的向量垂直于原來的兩個向量
 
  3)標準化向量:用在只關系方向,不關心大小的時候
 
  18.矩陣相乘的意義及注意點
 
  用于表示線性變換:旋轉、縮放、投影、平移、仿射
 
  注意矩陣的蠕變:誤差的積累
 
  19.為何大家都在移動設備上尋求U3D原生GUI的替代方案
 
  不美觀,OnGUI很耗費時間,使用不方便
 
  20.請簡述如何在不同分辨率下保持UI的一致性
 
  NGUI很好的解決了這一點,屏幕分辨率的自適應性,原理就是計算出屏幕的寬高比跟原來的預設的屏幕分辨率求出一個對比值,然后修改攝像機的size。
 
  原生GUI http://unity3d.9ria.com/?
 
  21.為什么dynamic font在unicode環境下優于
 
  Unicode是國際組織制定的可以容納世界上所有文字和符號的字符編碼方案。
 
  使用動態字體時,Unity將不會預先生成一個與所有字體的字符紋理。當需要支持亞洲語言或者較大的字體的時候,若使用正常紋理,則字體的紋理將非常大。
 
  22.Render的作用?描述MeshRender和SkinnedMeshRender的關系與不同
 
  A renderer is what makes an object appear on the screen。
 
  23.簡述SkinnedMesh的實現原理
 
  24.在場景中放置多個Camera并同時處于活動狀態會發生什么?
 
  答:游戲界面可以看到很多攝像機的混合
 
  25.Prefab的作用?如何在移動環境的設備下恰當地使用它?
 
  答:Prefab在實例化的時候用到,主要用于經常會用到的物體,屬性方便修改
 
  26.如何銷毀一個UnityEngine.Object及其子類
 
  答:
 
  27.為什么Unity3D中會發生在組件上出現數據丟失的情況?
 
  答:組件上綁定的對象被刪除了
 
  28.如何安全的在不同工程間安全地遷移asset數據?三種方法
 
  答:
 
  將Assets目錄和Library目錄一起遷移
 
  導出包
 
  用unity自帶的assets Server功能
 
  29.MeshCollider和其他Collider的一個主要不同點?
 
  答:Convex?
 
  30.當一個細小的高速物體撞向另一個較大的物體時,會出現什么情況?如何避免?
 
  穿透(碰撞檢測失敗
 
  31.OnEnable、Awake、Start運行時的發生順序?哪些可能在同一個對象周期中反復的發生?
 
  答:Awake -》OnEnable-》
 
  OnEnable在同一周期中可以反復地發生
 
  32.請簡述OnBecameVisible及OnBecameInvisible的發生時機,以及這一對回調函數的意義?
 
  答:當物體是否可見切換之時。可以用于只需要在物體可見時才進行的計算。
 
  33.Unity3D如何獲知場景中需要加載的數據?
 
  題目是獲取的意思?
 
  34.MeshRender中material和sharedmaterial的區別?
 
  修改sharedMaterial將改變所有物體使用這個材質的外觀,并且也改變儲存在工程里的材質設置。
 
  不推薦修改由sharedMaterial返回的材質。如果你想修改渲染器的材質,使用material替代。
主站蜘蛛池模板: 国产精品久久久久久久午夜片 | 久久成年片色大黄全免费网站 | 精品国产v | 国内精品51视频在线观看 | 久久久久9999 | 精品蓝导航视频福利在线 | 韩国一级毛片a级免观看 | 国产黄色片在线看 | 九九爱精品 | 国产精品毛片久久久久久久 | 国产午夜亚洲精品不卡福利 | 古装一级毛片免费观看 | 国产嫩草视频 | 国内偷自拍对白视频 | 国产宾馆在线 | 国产www在线播放 | 国产三级精品91三级在专区 | 韩国黄色a级片 | 国产卡一卡二卡四卡无卡 | 国产午夜伦伦伦午夜伦 | 成年女人毛片免费观看不卡 | 精品国产91在线网 | 国产日韩欧美精品一区 | 国产高清第一页 | 九九久久久久午夜精选 | 国产日韩在线 | 久久亚洲人成国产精品 | 精品一区二区三区视频 | 精品400部自拍视频在线播放 | 国产精品免费播放 | 国产视频久久久 | 看特级毛片 | 久久久久国产 | 久久亚洲免费视频 | 国产女人水多毛片18 | 国语三级 | 久久永久影院免费 | 国产区人妖精品人妖精品视频 | 波多野衣结在线精品二区 | 国产特黄视频 | 草草视频人人爽 |