最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Unity面試題以及算法數(shù)據(jù)結(jié)構(gòu)(2020)

2020-10-14 14:35 作者:今日份的好心情呀  | 我要投稿


1.請(qǐng)簡(jiǎn)述值類型和引用類型的區(qū)別?

?????????值類型包括:數(shù)值類型,結(jié)構(gòu)體,bool型,用戶定義的結(jié)構(gòu)體,枚舉,可空類型。
?????????引用類型包括:數(shù)組,用戶定義的類、接口、委托,object,字符串,null類型,類。

2.C#中所有引用的基類是什么?

? ? ? ? 所有引用的基類是Object,包名是System

3.請(qǐng)簡(jiǎn)述ArrayList和List<Int>它們有什么區(qū)別?

??????ArrayList 是一個(gè)數(shù)組,繼承實(shí)現(xiàn)了List基類,是比較傳統(tǒng)使用的程序數(shù)組變量,存在拆箱裝箱操作,比較耗時(shí)。
? ? ? ? ? List<int>是調(diào)用List<T>,用了C#的泛型特性

4.簡(jiǎn)述四元數(shù)的作用,四元數(shù)對(duì)歐拉角的優(yōu)點(diǎn)?

???????四元素用于表示旋轉(zhuǎn)

? ? ? ? ?1)增量旋轉(zhuǎn)
?????????2)避免萬向鎖
? ? ? ? ?3)給定方位的表達(dá)式有2種,互為正負(fù)(歐拉角有多種

5.position和LocalPosition的區(qū)別?

? ? ? ? ?1)position是根據(jù)世界原點(diǎn)為中心點(diǎn)

? ? ? ? ? 2)localPosition是根據(jù)父節(jié)點(diǎn)為中心點(diǎn),如果?沒有父節(jié)點(diǎn)。localPosition和position沒有區(qū)別

??????????3)選中一個(gè)物體左上角Global和Local切換看物體世界坐標(biāo)軸和本地坐標(biāo)軸

????????? 4)transform組件下的Position屬性是一個(gè)先對(duì)于父對(duì)象的局部坐標(biāo),當(dāng)然,如果沒有父對(duì)象,其屬性框里顯示的自然也是世界坐標(biāo)了。如果有父對(duì)象,那么在unity編輯器顯示的值是這個(gè)transform以上一級(jí)父對(duì)象為基準(zhǔn)的坐標(biāo)。

6.RebderTexture是什么,他有什么作用?

????????是一種特殊的Textrue的類型,渲染紋理(鏡頭的模糊效果,后視鏡)

7.談?wù)勀闼赖腢nity內(nèi)存優(yōu)化方法?

??????方法有很多種:

????????????????????? ?壓縮自帶類庫(kù)

? ? ? ? ? ? ? ? ? ? ? ?將暫時(shí)不用的以后還需要的物體隱藏起來而不是直接Destroy掉(對(duì)象池)

? ? ? ? ? ? ? ? ? ? ? ?釋放AssetBundle占用的資源

? ? ? ? ? ? ? ? ? ? ? ?降低模型的片面數(shù),降低模型的骨骼數(shù)量,降低貼圖的大小

???????????????????????使用光照貼圖,使用多層細(xì)節(jié)(LOD),使用著色器(shader),使用預(yù)設(shè)(Prafab)

? ? ? ? ? ? ? ? ? ? ? ?代碼中少產(chǎn)生臨時(shí)變量

8.什么是DrawCall?如何降低DrawCall?

???????在unity中,每次引擎準(zhǔn)備數(shù)據(jù)并通知GPU的過程稱為一次DrawCall

? ? ? ? ? ?DrawCall越高對(duì)顯卡消耗就越大,降低DrawCall的方法:

? ? ? ? ???Dynamic Batching

? ? ? ? ? ?static Batching? 靜態(tài)批處理

? ? ? ? ? ?高級(jí)特性Shader降低為統(tǒng)一的低級(jí)特性的Shader

????????????具體詳細(xì)內(nèi)容可以看大佬總結(jié):https://blog.csdn.net/yupu56/article/details/50177935?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242

9.如何安全的在不同工程間安全的遷移Asset數(shù)據(jù)?

???????三種方法:

? ? ? ? ? ? ? ? ? ?將Assets目錄和Library目錄一起遷移

? ? ? ? ? ? ? ? ? ? 導(dǎo)出包 exprot Package

? ? ? ? ? ? ? ? ? ? ?用unity自帶的assets Server功能

10.向量的點(diǎn)乘,叉乘以及歸一化的意義是什么?

????????點(diǎn)乘描述了兩個(gè)向量的相似程度,結(jié)果越大兩個(gè)向量越相似,可表示投影

????????????叉乘得到的向量垂直于原來的兩個(gè)向量

????????????標(biāo)準(zhǔn)化向量用在關(guān)系的方向,不關(guān)心大小的時(shí)候

11.不同的手機(jī)設(shè)備尺寸分辨率都不一樣,該如何進(jìn)行適配

????????NGUI很好的解決了這一點(diǎn),屏幕分辨率的自適應(yīng),原理就是計(jì)算出屏幕的寬高比

????????????跟原來的預(yù)設(shè)的屏幕分辨率求出一個(gè)對(duì)比值,然后修改相機(jī)的size

????????????UGUI通過錨點(diǎn)和中心點(diǎn)和分辨率也可以解決這個(gè)問題

12.unity中的碰撞器和觸發(fā)器的區(qū)別?

????????一個(gè)有碰撞效果(碰撞器),一個(gè)沒有碰撞效果(觸發(fā)器)

13.動(dòng)態(tài)加載資源的方式有哪些?

????????????Resources和AssetBundle的方式加載資源

14.請(qǐng)簡(jiǎn)述一個(gè)對(duì)象池,你覺得在FPS里哪些東西適合使用對(duì)象池?

????????對(duì)象池就是存放需要被反復(fù)調(diào)用資源的一個(gè)空間,當(dāng)一個(gè)對(duì)象會(huì)大量生成的時(shí)候,

如果每次都銷毀創(chuàng)建會(huì)很浪費(fèi)時(shí)間,通過對(duì)象池把暫時(shí)不用的對(duì)象放到一個(gè)池子中

(也就是一個(gè)集合),當(dāng)下次要重新生成這個(gè)對(duì)象的時(shí)候先去池子中查找一下是否

有可用的對(duì)象,如果有的話就直接拿出來使用,不需要再創(chuàng)建,如果池子中沒有可

用的對(duì)象,才會(huì)需要重新創(chuàng)建,利用空間換時(shí)間來達(dá)到游戲的高速運(yùn)行的效果,

在FPS游戲中要常被大量復(fù)制的對(duì)象包括,子彈,敵人,粒子 等

15.請(qǐng)簡(jiǎn)述private,public,protected,internal的區(qū)別?

????????public:對(duì)任何類和成員都公開,無限制訪問

????????????private:僅對(duì)該類公開

????????????protected:保護(hù)修飾符,對(duì)該類和其派生類公開

????????????internal:只能在包含該類的程序集中訪問

16.Unity3D腳本從喚醒到銷毀有著一套比較完整的生命周期,請(qǐng)列出系統(tǒng)自帶的幾個(gè)重要的方法?

????????Awake——>OnEnable——>Start——>Update——>FixedUpdate——>

LateUpdate——>OnGUI——>OnDisable——>OnDestroy

17.物理更新一般放在哪一個(gè)系統(tǒng)函數(shù)里?

????????FixedUpdate沒固定幀繪制時(shí)執(zhí)行一次,和Update不同的是FixedUpdate是渲染幀執(zhí)行,如果你的渲染效率低下的時(shí)候FixedUpdate調(diào)用次數(shù)就會(huì)跟著下降。FixedUpdate比較使用于物理引擎計(jì)算,因?yàn)槭歉繋秩居嘘P(guān)。Update就比較適合做控制。

18.在場(chǎng)景中放置多個(gè)Camera并同時(shí)處于活動(dòng)狀態(tài)會(huì)發(fā)生什么?

????????游戲界面可以看到很多相機(jī)的混合

19.Readonly和Const的區(qū)別是什么?請(qǐng)簡(jiǎn)單描述

????????readonly只讀字段可以不設(shè)置初始值,而const常量就不行必須在創(chuàng)建時(shí)設(shè)置初始值

????????????readonly可以在構(gòu)造方法中進(jìn)行賦值,而const常量就不可以

20.C#中的排序方式有哪些?

????????冒泡排序,選擇排序,插入排序,快速排序,希爾排序,歸并排序

21.C#中反射的實(shí)現(xiàn)原理?

????????審查元數(shù)據(jù)并收集關(guān)于它的類型信息的能力。實(shí)現(xiàn)原理:在運(yùn)行時(shí)根據(jù)程序集及其中的類型得到元數(shù)據(jù)

22.C#中四種訪問修飾符是哪些?各有什么區(qū)別?

屬性修飾符:

????????Serializable:按值將對(duì)象封送到遠(yuǎn)程服務(wù)器。

????????STATread:是單線程套間的意思,是一種線程模型。

????????MATAThread:是多線程套間的意思,也是一種線程模型。

存取修飾符:

????????public:存取不受限制。

????????private:只有包含該成員的類可以存取。

????????internal:只有當(dāng)前工程可以存取。

????????protected:只有包含該成員的類以及派生類可以存取。

類修飾符:

????????abstract:抽象類。指示一個(gè)類只能作為其它類的基類。

????????sealed:密封類。指示一個(gè)類不能被繼承。理所當(dāng)然,密封類不能同時(shí)又是抽象類,因?yàn)槌橄罂偸窍M焕^承的。

成員修飾符:

????????abstract:指示該方法或?qū)傩詻]有實(shí)現(xiàn)。

????????sealed:密封方法??梢苑乐乖谂缮愔袑?duì)該方法的override(重載)。不是類的每個(gè)成員方法都可以作為密封方法密封方法,必須對(duì)基類的虛方法進(jìn)行重載,提供具體的實(shí)現(xiàn)方法。所以,在方法的聲明中,sealed修飾符總是和override修飾符同時(shí)使用。

????????delegate:委托。用來定義一個(gè)函數(shù)指針。C#中的事件驅(qū)動(dòng)是基于delegate + event的。

????????const:指定該成員的值只讀不允許修改。

????????event:聲明一個(gè)事件。

????????extern:指示方法在外部實(shí)現(xiàn)。

????????override:重寫。對(duì)由基類繼承成員的新實(shí)現(xiàn)。????

????????readonly:指示一個(gè)域只能在聲明時(shí)以及相同類的內(nèi)部被賦值。

????????static:指示一個(gè)成員屬于類型本身,而不是屬于特定的對(duì)象。即在定義后可不經(jīng)實(shí)例化,就可使用。

????????virtual:指示一個(gè)方法或存取器的實(shí)現(xiàn)可以在繼承類中被覆蓋。

????????new:在派生類中隱藏指定的基類成員,從而實(shí)現(xiàn)重寫的功能。 若要隱藏繼承類的成員,請(qǐng)使用相同名稱在派生類中聲明該成員,并用 new 修飾符修飾它。

23.Heap與Stack有何區(qū)別?

?????????heap是堆,stack是棧。

????????stack的空間由操作系統(tǒng)自動(dòng)分配和釋放,heap的空間是手動(dòng)申請(qǐng)和釋放的,heap常用new關(guān)鍵字來分配。

????????stack空間有限,heap的空間是很大的自由區(qū)。

24.值類型和引用類型有何區(qū)別?

????????1)值類型的數(shù)據(jù)存儲(chǔ)在內(nèi)存的棧中;引用類型的數(shù)據(jù)存儲(chǔ)在內(nèi)存的堆中,而內(nèi)存單元中只存放堆中對(duì)象的地址。

????????2)值類型存取速度快,引用類型存取速度慢。

????????3)值類型表示實(shí)際數(shù)據(jù),引用類型表示指向存儲(chǔ)在內(nèi)存堆中的數(shù)據(jù)的指針或引用

????????4)值類型繼承自System.ValueType,引用類型繼承自System.Object

????????5)棧的內(nèi)存分配是自動(dòng)釋放;而堆在.NET中會(huì)有GC來釋放

????????6)值類型的變量直接存放實(shí)際的數(shù)據(jù),而引用類型的變量存放的則是數(shù)據(jù)的地址,即對(duì)象的引用。







Unity面試題以及算法數(shù)據(jù)結(jié)構(gòu)(2020)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
庆城县| 台南县| 新邵县| 万州区| 福贡县| 正定县| 宜宾市| 深圳市| 宜丰县| 土默特左旗| 织金县| 喜德县| 湘潭县| 宜春市| 讷河市| 平罗县| 来宾市| 颍上县| 石景山区| 错那县| 天镇县| 绿春县| 竹溪县| 西乌珠穆沁旗| 连平县| 永吉县| 开江县| 梨树县| 泸水县| 敦煌市| 仙游县| 罗甸县| 克东县| 镇巴县| 当涂县| 德昌县| 宾阳县| 温宿县| 阿鲁科尔沁旗| 镇坪县| 泊头市|