Unity面試題1

1.在類(lèi)的構(gòu)造函數(shù)前加上static會(huì)報(bào)什么錯(cuò)?為什么?

答:在構(gòu)造函數(shù)如果有public修飾的靜態(tài)構(gòu)造函數(shù)時(shí)會(huì)報(bào):“靜態(tài)構(gòu)造函數(shù)中不允許出現(xiàn)訪問(wèn)修飾符”,如果什么修飾符都不加的話不會(huì)報(bào)錯(cuò),靜態(tài)構(gòu)造函數(shù)一般是起初始化作用。?

2.C#

StringBuilder類(lèi)型比string類(lèi)型的優(yōu)勢(shì)是什么?

答:StringBuilde的優(yōu)勢(shì)在于拼接,string的優(yōu)勢(shì)在于對(duì)字符串做一些處理,在使用過(guò)程中看具體的需求。

3.C#函數(shù)Func(string

a, string b)用Lambda表達(dá)式怎么寫(xiě)?

答:(a,b)=>{}

4.數(shù)列1,1,2,3,5,8,13...第n位數(shù)是多少?用C#遞歸算法實(shí)現(xiàn)


5.請(qǐng)簡(jiǎn)述值類(lèi)型與引用類(lèi)型的區(qū)別

答:區(qū)別:

1.值類(lèi)型存儲(chǔ)在內(nèi)存棧中,引用類(lèi)型數(shù)據(jù)存儲(chǔ)在內(nèi)存堆中,而內(nèi)存單元中存放的是堆中

存放的地址。

2.值類(lèi)型存取快,引用類(lèi)型存取慢。

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

4.棧的內(nèi)存是自動(dòng)釋放的,堆內(nèi)存是.NET中會(huì)由GC來(lái)自動(dòng)釋放。

5.值類(lèi)型繼承自System.ValueType,引用類(lèi)型繼承自System.Object。

6.請(qǐng)簡(jiǎn)述ArrayList和List<>的主要區(qū)別

答:ArrayList是非泛型列表,存儲(chǔ)數(shù)據(jù)時(shí)把所有的數(shù)據(jù)都當(dāng)成object類(lèi)型存儲(chǔ),存在裝箱問(wèn)題,取出來(lái)使用的時(shí)候存在拆箱問(wèn)題,裝箱拆箱會(huì)使性能變差,而且存在數(shù)據(jù)安全問(wèn)題,但是優(yōu)點(diǎn)在于可以讓值類(lèi)型和引用類(lèi)型互相轉(zhuǎn)換。

List是泛型列表,在使用的時(shí)候才去定義數(shù)據(jù)類(lèi)型,泛型避免了拆箱裝箱的問(wèn)題,存入讀取速度較快,類(lèi)型也更安全。

7.請(qǐng)簡(jiǎn)述GC(垃圾回收)產(chǎn)生的原因,并描述如何避免?

答:GC回收堆上的內(nèi)存避免:

1)減少new產(chǎn)生對(duì)象的次數(shù)

2)使用公用的對(duì)象(靜態(tài)成員)

3)如果字符串拼接多的將String換為StringBuilder

8.請(qǐng)描述Interface與抽象類(lèi)之間的不同

答:語(yǔ)法不同處:

1.抽象類(lèi)中可以有字段,接口沒(méi)有。

2.抽象類(lèi)中可以有實(shí)現(xiàn)成員,接口只能包含抽象成員。

3.抽象類(lèi)中所有成員修飾符都可以使用,接口中所有的成員都是對(duì)外的,所以不需要修飾符修飾。

用法不同處:

1.抽象類(lèi)是概念的抽象,接口關(guān)注于行為。

2.抽象類(lèi)的子類(lèi)與父類(lèi)的關(guān)系是泛化關(guān)系,耦合度較高,而實(shí)現(xiàn)類(lèi)和接口之間是實(shí)現(xiàn)的關(guān)系,耦合度比泛化低。

3.一個(gè)類(lèi)只能繼承一個(gè)類(lèi),但是可以實(shí)現(xiàn)多個(gè)接口。

11.請(qǐng)簡(jiǎn)述關(guān)鍵字Sealed用在類(lèi)聲明和函數(shù)聲明時(shí)的作用

答:Sealed訪問(wèn)修飾符用于類(lèi)時(shí),該類(lèi)是密封類(lèi),可防止其他類(lèi)繼承此類(lèi)。

在方法中使用時(shí)則可防止派生類(lèi)重寫(xiě)此方法。

13.反射的實(shí)現(xiàn)原理?

答:審查元數(shù)據(jù)并收集關(guān)于它的類(lèi)型信息的能力。

14.Net與Mono的關(guān)系?

答:mono是.net的一個(gè)開(kāi)源跨平臺(tái)工具。.net只能在windows下運(yùn)行,mono可以實(shí)現(xiàn)跨平臺(tái),可以運(yùn)行于linux,Unix,Mac OS等。

15.請(qǐng)說(shuō)出4種面向?qū)ο蟮脑O(shè)計(jì)原則,并分別簡(jiǎn)述它們的含義。

答:1)單一職責(zé)原則:一個(gè)類(lèi),最好只做一件事,只有一個(gè)引起它的變化.

2)開(kāi)放-封閉原則:對(duì)于擴(kuò)展是開(kāi)放的,對(duì)于更改是封閉的

3)里氏替換原則:子類(lèi)必須能夠替換其基類(lèi)

4)依賴(lài)倒置原則:依賴(lài)于抽象

5)接口隔離原則:使用多個(gè)小的專(zhuān)門(mén)的接口,而不要使用一個(gè)大的總接口。

16.Hashtable是無(wú)序的嗎?

答:電腦沒(méi)有絕對(duì)的無(wú)序,hashtable是通過(guò)哈希碼讓開(kāi)發(fā)者感覺(jué)無(wú)序。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. [C#語(yǔ)言基礎(chǔ)]請(qǐng)簡(jiǎn)述拆箱和裝箱。 答: 裝箱操作: 值類(lèi)型隱式轉(zhuǎn)換為object類(lèi)型或由此值類(lèi)型實(shí)現(xiàn)的任何...
    胤醚貔貅閱讀 4,989評(píng)論 1 28
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類(lèi)相關(guān)的語(yǔ)法,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,824評(píng)論 18 399
  • *面試心聲:其實(shí)這些題本人都沒(méi)怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來(lái)就是把...
    Dove_iOS閱讀 27,655評(píng)論 30 472
  • 轉(zhuǎn)自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帥199207閱讀 8,807評(píng)論 3 93
  • (一)Java部分 1、列舉出JAVA中6個(gè)比較常用的包【天威誠(chéng)信面試題】 【參考答案】 java.lang;ja...
    獨(dú)云閱讀 7,275評(píng)論 0 62

友情鏈接更多精彩內(nèi)容