c#面試題
- 面試試題
- 關注:1.57W次
死鎖的必要條件?怎麼克服?
答:系統的資源不足,進程的推進的順序不合適,資源分配不當,一個資源每次只能被一個進程使用,一個資源請求資源時,而此時這個資源已阻塞,對已獲得資源不放,進程獲得資源時,未使用完前,不能強行剝奪。
簡述private、protected、public、internal修飾符的訪問權限。
答ate:私有成員,在類的內部才可以訪問。
protected:保護成員,該類內部和繼承類中可以訪問。
public:公共成員,完全公開,沒有訪問限制。
internal:在同一命名空間內可以訪問。
列舉頁面之間傳遞值的幾種方式。
答.1.使用querystring,如....?id=1;rect()....
2.使用session變量
3.使用sfer
c#中的委託是什麼?事件是不是一種委託?
答:委託可以把一個方法作為參數代入另一個方法。委託可以理解為指向一個函數的引用。是,是一種特殊的委託
override與重載的區別答:
override與重載的區別。重載是方法的名稱相同。參數或參數類型不同,進行多次重載以適應不同的需要
override是進行基類中函數的重寫。為了適應需要。
構造器constructor是否可以被繼承?是否可以被override?
答:constructor不可以被繼承,因此不能被重寫(overriding),但可以被重載(overloading).
當一個線程進入一個對象的方法後,其它線程是否可以進入該對象的方法?
答:不可以,一個對象的方法只能由一個線程訪問。
談談final,finally,finallize的區別?
答:final用於申明屬性,方法和類,表示屬性不可變,方法不可以被覆蓋,類不可以被繼承。
finally是異常處理語句結構中,表示總是執行的部分。
finallize表示是object類一個方法,在垃圾回收機制中執行的時候會被調用被回收對象的方法。
hashmap和hashtable區別?
答:hashmap是hashtable的輕量級實現,非線程安全的實現他們都實現了map接口,主要區別是hashmap鍵值可以為空null,效率可以高於hashtable。
collection和collections的區別?
答:collection是集合類的上級接口,collections是針對集合類的一個幫助類,它提供一系列靜態方法來實現對各種集合的搜索,排序,線程安全化操作。
udp和tcp連接有和異同?
答:tcp是傳輸控制協議,提供的是面向連接的,是可靠的,字節流服務,當用户和服務器彼此進行數據交互的時候,必須在他們數據交互前要進行tcp連接之後才能傳輸數據。tcp提供超時重撥,檢驗數據功能。udp是用户數據報協議,是一個簡單的面向數據報的傳輸協議,是不可靠的連接。
進程和線程分別該怎麼理解?
答:進程是比線程大的程序運行單元,都是由操作系統所體會的系統運行單元,一個程序中至少要有一個進程,有一個進程中,至少要有一個線程,線程的劃分尺度要比進程要小,進程擁有獨立的內存單元,線程是共享內存,從而極大的提高了程序的運行效率同一個進程中的多個線程可以併發執行。
描述一下c#中索引器的實現過程,是否只能根據數字進行索引?
答:不是。可以用任意類型。
什麼叫應用程序域?
答:應用程序域可以理解為一種輕量級進程。起到安全的作用。佔用資源小。
cts、cls、clr分別作何解釋?
答:cts:通用語言系統。
cls:通用語言規範。
clr:公共語言運行庫。
什麼是裝箱和拆箱?
答:從值類型接口轉換到引用類型裝箱。從引用類型轉換到值類型拆箱。
什麼是受管制的代碼?
答:unsafe:非託管代碼。不經過clr運行。
什麼是強類型系統?
答:rtti:類型識別系統。
- 文章版權屬於文章作者所有,轉載請註明 https://wjfww.com/ziliao/shiti/o7g3lz.html