.net開發(fā)面試題
.net工程師要做好準(zhǔn)備才能在面試中脫穎而出,提前了解開發(fā)面試題很重要。下面小編已經(jīng)為你們整理了.net開發(fā)面試題,希望可以幫到你。
.net開發(fā)面試題(一)
1、請(qǐng)你說說.NET中類和結(jié)構(gòu)的區(qū)別?
答:結(jié)構(gòu)是值類型,在堆棧上分配地址,所有的基類型都是結(jié)構(gòu)類型,如System.int或System.string,不能被繼承。
類是引用類型(new),可以被繼承,在堆上分配地址,堆棧的執(zhí)行效率要比堆的執(zhí)行效率高,但堆棧的資源有限。
2、死鎖的必要條件?怎么克服?
答:系統(tǒng)資源不足,資源分配不當(dāng),一個(gè)資源每次只能被一個(gè)進(jìn)程使用,一個(gè)資源請(qǐng)求資源時(shí),而此時(shí)這個(gè)資源阻塞,且對(duì)已獲得的資源不放
3、接口是否可以繼承接口?抽象類是否可以實(shí)現(xiàn)接口?抽象類是否可以繼承實(shí)體類?
答:接口是可以繼承接口;抽象類是可以實(shí)現(xiàn)接口;抽象類可以繼承實(shí)體類,只要實(shí)體類有明確的構(gòu)造函數(shù).
4、構(gòu)造器Constructor是否可以被繼承?是否可以被Override?
答: Constructor不可以被繼承,因此不能被重寫(Override),但可以被重載(Overloading)
5、當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的方法后,其它線程是否可以進(jìn)入該對(duì)象的方法? 答:不可以,一個(gè)對(duì)象的方法只能由一個(gè)線程訪問
6、C#是否可以對(duì)內(nèi)存直接進(jìn)行操作?
答:可以,因?yàn)榭梢允褂弥羔?/p>
7、數(shù)組有沒有Length()這個(gè)方法?string有沒有這個(gè)方法?
8、談?wù)刦inal,finally,finallize的區(qū)別?
答:final用來申明屬性、方法、類,表示屬性不可變,方法不可以被覆蓋,類不可以被繼承。
Finally是異常處理語句結(jié)構(gòu),總是執(zhí)行。
Finallize是object類一個(gè)方法,在垃圾回收機(jī)制中執(zhí)行的時(shí)候會(huì)被調(diào)用被回收對(duì)象的方法。
.net開發(fā)面試題(二)
1.Override, Overload,的區(qū)別?
答:Override是重寫的意思,它表示重寫基類的方法,
而且方法的簽名【名稱,返回類型,參數(shù)類型,參數(shù)個(gè)數(shù)】要與基類相同。
Overload是重載是意思,它也表示重寫基類的方法,但是只要方法名相同,別的必須不同。
2.概述反射和序列化?
答:反射:要給反射下一個(gè)定義還是比較難的,這里先說說我的理解。
序列化:將對(duì)象轉(zhuǎn)換為另一種媒介傳輸?shù)母袷竭^程。
如,序列化一個(gè)對(duì)象,用Http通過internet在客戶端和服務(wù)器之間傳遞該對(duì)象,在另一端用【反序列化】從該流中重新得到對(duì)象。
3.什么是ERP?ERP的演變過程?
答:所謂ERP是英文Enterprise Resource Planning(企業(yè)資源計(jì)劃)的簡寫。它是從MRP(物料資源計(jì)劃)發(fā)展而來的新一代集成化管理信息系統(tǒng),它擴(kuò)展了MRP的功能,其核心思想是供應(yīng)鏈管理,它跳 出了傳統(tǒng)企業(yè)邊界,從供應(yīng)鏈范圍去優(yōu)化企業(yè)的資源,是基于網(wǎng)絡(luò)經(jīng)濟(jì)時(shí)代的新一代信息系統(tǒng)。它對(duì) 于改善企業(yè)業(yè)務(wù)流程、提高企業(yè)核心競(jìng)爭(zhēng)力的作用是顯而易見的。
.net開發(fā)面試題(三)
1. 簡述 private、 protected、 public、 internal 修飾符的訪問權(quán)限。 private:私有訪問,它只能在聲明自身的類中進(jìn)行訪問。
protected:表示受保護(hù)的訪問,該類內(nèi)部和繼承類中可以訪問 .public :表示公共訪問,在代碼任何位置都可對(duì)其進(jìn)行訪問。
internal表示內(nèi)部成員,在同一命名空間內(nèi)可以訪問。
2. C#中的委托是什么?事件是不是一種委托?
委托是指具有相同屬性(也稱具有相同的函數(shù)簽名:返回類型相同,參數(shù)類型、參數(shù)順序及參數(shù)個(gè)數(shù)相同)的函數(shù)或方法的抽象,關(guān)鍵字為delegate。主要用途是三個(gè):1)函數(shù)回調(diào);2)傳遞方法;3)事件機(jī)制。
事件就是一個(gè)狹義的委托,也就是事件是一個(gè)用于事件驅(qū)動(dòng)模型的專用委托,對(duì)事件的聲明, 實(shí)際是聲明一個(gè)私有的委托變量,對(duì)委托變量進(jìn)行封裝,即委托變量加上event關(guān)鍵字后,不管其前面的訪問修飾符是public還是private,編譯器都會(huì)將其編譯為private。
委托是一個(gè)類,它定義了方法的類型,使得可以將方法當(dāng)作另一個(gè)方法的參數(shù)來進(jìn)行傳遞,這種將方法動(dòng)態(tài)地賦給參數(shù)的做法,可以避免在程序中大量使用If-Else(Switch)語句,同時(shí)使得程序具有更好的可擴(kuò)展性。以委托為參數(shù)的函數(shù)具有一定的通用性。
使用委托可以將多個(gè)方法綁定到同一個(gè)委托變量,當(dāng)調(diào)用此變量時(shí)(這里用“調(diào)用”這個(gè)詞,是因?yàn)榇俗兞看硪粋€(gè)方法),可以依次調(diào)用所有綁定的方法。
3. abstract 可以和 virtual 一起使用嗎?可以和 override 一起使用嗎?
不可以一起使用,但是可以和override一起使用。
4. 請(qǐng)敘述屬性與索引器的區(qū)別。
屬性:它是存取類的字段,索引器:Indexer它是特殊的屬性,用它可以使用戶像訪問數(shù)組一樣訪問類的成員。
5. 請(qǐng)?jiān)斒鲈赿otnet中類(class)與結(jié)構(gòu)(struct)的異同。
類class可以進(jìn)行實(shí)例化,它是引用類型,內(nèi)存分配在棧中,效率高,它有默認(rèn)的構(gòu)造函數(shù),有析構(gòu)函數(shù)可以使用 abstract 和 sealed, protected 修飾符。要用new進(jìn)行初始化,結(jié)構(gòu)它是屬于值類型,內(nèi)存分配在堆中,效率低,它沒有默認(rèn)的構(gòu)造函數(shù),但是可以添加構(gòu)造函數(shù),沒有析構(gòu)函數(shù)沒有 abstract 和 sealed(因?yàn)椴荒芾^承)不能有protected 修飾符 可以不使用new 初始化,但是可以在結(jié)構(gòu)中初始化實(shí)例字段。
看了“.net開發(fā)面試題”