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