標籤:
1、XmlSerializer是如何工作的?使用這個類的進程需要什麼ACL許可權?
答:將對象序列化成為xml資料,還原序列化再將xml轉換成對象。應該至少需要ACL許可權中的讀許可權.
2、Debug Build和Release Build的區別,是否會有明顯的速度變化?請說明理由。
答:Debug會產生pdb檔案,release不會。Debug用於開發時的調試,不能要於部署,而release用於部署.debug編譯一些特殊代碼,比如#IFDEBUG Debug.Write等,而Release則會將那些特殊標記省略
3、Set裡的元素是不能重複的,那麼用什麼方法來區分重複與否呢?是用==還是equals()?它們有何區別?
答: Set是Collection容器的一個子介面,它不允許出現重複元素,當然也只允許有一個null對象。使用equals()區分更合適。==是用來判斷兩者是否是同一對象(同一事物),而equals是用來判斷是否引用同一個對象,Set裡面存的是對象的引用。
4、DateTime.Parse(myString); 這行代碼有什麼問題?
答:當myString不能滿足時間格式要求的時候,會引發異常。建議使用DateTime.TryParse()
5、PDB是什麼東西? 在調試中它應該放在哪裡?
答:PDB是用於儲存調試和項目狀態資訊的檔案,在debug的時候將產生pdb檔案,調試的時候應該放在和對應應用程式集相同目錄。
6、sleep()和wait()有什麼區別?
答:sleep是Thread類的靜態方法。sleep的作用是讓線程休眠制定的時間,在時間到達時恢複,也就是說sleep將在接到時間到達事件事恢複線程執行。wait是Object的方法,也就是說可以對任意一個對象調用wait方法,調用wait方法將會將調用者的線程掛起,直到其他線程調用同一個對象的notify方法才會重新啟用調用者
7、DataReader和DataSet的區別?
答:使用DataReader與DataSet都可以從資料來源讀取資料,DataReader每次只在記憶體中載入一條資料,所以佔用的記憶體是很小的。DataSet則是將資料一次性載入在記憶體中,拋棄資料庫連接。讀取完畢即放棄資料庫連接,因為DataSet將資料全部載入在記憶體中,所以比較消耗記憶體。但是確比DataReader要靈活,可以動態添加行,列,資料,對資料庫進行回傳,更新操作等。
8、 簡述 private、 protected、 public、 internal 修飾符的存取權限?
答:private : 私人成員, 在類的內部才可以訪問。
protected : 保護成員,該類內部和繼承類中可以訪問。
public : 公用成員,完全公開,沒有訪問限制。
internal: 在同一命名空間內可以訪問。
9、C#中介面和類的區別?
答:不同點:不能直接執行個體化介面。介面不包含方法的實現。介面可以多繼承,類只能單繼承。類定義可在不同的源檔案之間進行拆分。
相同點:介面、類和結構都可以從多個介面繼承。介面類似於抽象基類:繼承介面的任何非抽象類別型都必須實現介面的所有成員。介面和類都可以包含事件、索引器、方 法和屬性。
10、 ASP.NET與ASP相比,主要有哪些進步?
答:asp.net可以使用強型別語言頁面是編譯,執行速度快, 增加安全性和可靠性,通過繼承機制來支援代碼的重用,提供聲明性伺服器控制項減少程式碼數。Asp需要解釋,執行速度慢,重用代碼不方便,沒有調試機制
11、列舉ASP.NET頁面之間傳值幾種方式?
答:QueryString,Session,Cookies,Application,Server.Transfer
12、資料庫連接池的作用和工作機制分別是什嗎?
答:串連池用於建立和管理資料庫串連的緩衝技術,緩衝池中的串連可以被任何需要他們的線程使用。當一個線程需要使用JDBC對一個資料庫操作時,將從池中請求一個串連。當這個連結使用完畢後,將返回串連池中,等待為其他的線程服務。串連池的核心思想是串連的複用,通過建立一個資料庫連接池以及一套串連使用、分配和管理原則,使得該串連池中的串連可以得到高效,安全的複用,避免了資料庫連接頻繁建立和關閉的開銷。串連池的工作原理主要由三部分組成,分別為串連池的建立,串連池中串連的使用管理,串連池的關閉
C#面試題匯總(不斷更新)