很多朋友好奇Unity面試會(huì)問(wèn)的問(wèn)題,千鋒老師就在這里給大家展示一些。
1. 請(qǐng)簡(jiǎn)述值類型與引用類型的區(qū)別
答:區(qū)別:
1)值類型存儲(chǔ)在內(nèi)存棧中,引用類型數(shù)據(jù)存儲(chǔ)在內(nèi)存堆中,而內(nèi)存單元中存放的是堆中存放的地址。
2)值類型存取快,引用類型存取慢。
3)值類型表示實(shí)際數(shù)據(jù),引用類型表示指向存儲(chǔ)在內(nèi)存堆中的數(shù)據(jù)的指針和引用。
4)棧的內(nèi)存是自動(dòng)釋放的,堆內(nèi)存是.NET中會(huì)由GC來(lái)自動(dòng)釋放。
5)值類型繼承自System.ValueType,引用類型繼承自System.Object。
2.C#中所有引用類型的基類是什么
答:引用類型的基類是System.Object 值類型的基類是System.ValueType 同時(shí),值類型也隱式繼承自System.Object
3.請(qǐng)簡(jiǎn)述ArrayList和List的主要區(qū)別
答:ArrayList存在不安全類型‘(ArrayList會(huì)把所有插入其中的數(shù)據(jù)都當(dāng)做Object來(lái)處理) 裝箱拆箱的操作(費(fèi)時(shí))
List是接口,ArrayList是一個(gè)實(shí)現(xiàn)了該接口的類,可以被實(shí)例化。
4.請(qǐng)簡(jiǎn)述GC(垃圾回收)產(chǎn)生的原因,并描述如何避免?
答:
產(chǎn)生原因:
GC回收堆上的內(nèi)存
避免:
1)減少new產(chǎn)生對(duì)象的次數(shù)
2)使用公用的對(duì)象(靜態(tài)成員)
3)將String換為StringBuilder
5.請(qǐng)描述Interface與抽象類之間的不同 (待)
答:抽象類表示該類中可能已經(jīng)有一些方法的具體定義,但接口就是公公只能定義各個(gè)方法的界面 ,不能具體的實(shí)現(xiàn)代碼在成員方法中。
類是子類用來(lái)繼承的,當(dāng)父類已經(jīng)有實(shí)際功能的方法時(shí)該方法在子類中可以不必實(shí)現(xiàn),直接引用父類的方法,子類也可以重寫該父類的方法。 實(shí)現(xiàn)接口的時(shí)候必須要實(shí)現(xiàn)接口中所有的方法,不能遺漏任何一個(gè)。
8.請(qǐng)簡(jiǎn)述關(guān)鍵字Sealed用在類聲明和函數(shù)聲明時(shí)的作用
答:類聲明時(shí)加Sealed可防止其他類繼承此類,在方法中聲明則可防止派生類重寫此方法。
9.請(qǐng)簡(jiǎn)述private,public,protected,internal的區(qū)別
答: public:對(duì)任何類和成員都公開,無(wú)限制訪問(wèn) private:僅對(duì)該類公開 protected:對(duì)該類和其派生類公開 internal:只能在包含該類的程序集中訪問(wèn)該類 protected internal:protected internal
當(dāng)然來(lái)說(shuō),千鋒老師手里有很多Unity面試會(huì)問(wèn)的問(wèn)題,但是你得來(lái)學(xué)啊(笑)~
課程定制與咨詢:010-64707530 QQ:2645567689金老師