1.面向對象的思想主要包括什麼? 繼承、多态、封裝 ●封裝:用抽象的資料類型将資料和基于資料的操作封裝在一起,資料被保護在抽象資料類型内部。 ●繼承:子類擁有父類的所有資料和操作。 ●多态:一個程式中同名的不同方法共存的情況。 有兩種形式的多态–重載與重寫。 2.什麼是ASP.net中的使用者控件 使用者控件就是.ascx擴充名的東西喽,可以拖到不同的頁面中調用,以節省代碼.比如登陸可能在多個頁面上有,就可以做成使用者控件,但是有一個問題就是使用者控件拖到不同級别的目錄下後裡面的圖檔等的相對路徑會變得不準确,需要自已寫方法調整. 問這樣的問題,一般是迷惑你.因為新手還是分不清楚使用者控件和伺服器控件(也稱自定義控件)..使用者控件一般用在内容多為靜态,或者少許會改變的情況下..用的比較大..類似ASP中的include..但是功能要強大的多.. 引用使用者自定義控件
TagPrefix="Forum" 使用者控件字首
TagName="Top" 使用者控件名
Src="_Top.ascx" 使用者控件的源檔案
在網頁中引用時
這樣寫:<forum:top id="xx" runat="server"/>就可以了 執行個體: <%@ Register Src="~/UserControl/Destinations/DestinationList.ascx" TagName="DestinationList" TagPrefix="uc2" %> 引用: <uc2:DestinationList runat="server" ID="DestinationList1" /> 3.在C#中,string str = null 與 string str = “”的差別。
string str = null 是不給他配置設定記憶體空間, string str = "" 給它配置設定長度為空字元串的記憶體空間 4.請詳述在dotnet中類(class)與結構(struct)的異同
Class 可以被執行個體化,屬于引用類型,是配置設定在記憶體的堆上的 Struct屬于值類型,是配置設定在記憶體的棧上的. 5. DataReader和DataSet的異同
DataReader使用時始終占用SqlConnection,線上操作資料庫..任何對SqlConnection的操作都會引發DataReader的異常..因為DataReader每次隻在記憶體中加載一條資料,是以占用的記憶體是很小的..因為DataReader的特殊性和高性能.是以DataReader是隻進的..你讀了第一條後就不能再去讀取第一條了..
DataSet則是将資料一次性加載在記憶體中.抛棄資料庫連接配接..讀取完畢即放棄資料庫連接配接..因為DataSet将資料全部加載在記憶體中.是以比較消耗記憶體...但是确比DataReader要靈活..可以動态的添加行,列,資料.對資料庫進行回傳更新操作. 6.C#中的接口和類有什麼異同。 接口和類都是類, 接口隻包含方法或屬性的聲明,不包含具體實作方法的代碼 接口可以實作多繼承,而類隻能是單繼承,繼承接口的類必須實作接口中聲明的方法或屬性。 接口主要定義一種規範,統一調用方法,在大型項目中接口正發揮日益重要的作用 類是方法功能的實作和集合,接口是規範類.限制類 .
接口,是可以多繼承,類隻有單繼承.接口強調了你必須實作,而沒有具本實作的方法和虛類有點相似 7.Override與重載有什麼差別?
一個是重寫父類函數,一個是同一個函數的幾種形式 8.觸發器的作用 觸發器可以查詢其它表,而且可以包含複雜的 SQL 語句。它們主要用于強制複雜的業務規則或要求。觸發器還有助于強制引用完整性,以便在添加、更新或删除表中的行時保留表之間已定義的關系。
保證資料庫操作變更能接到通知 9.<%# %> 和 <% %> 有什麼差別?
<%# %>表示綁定的資料源
<% %>是伺服器端代碼塊 10.常見的設計模式 抽象工廠模式、擴充卡模式、外觀模式 command指令模式,橋接模式,組合模式,裝飾模式,狀态模式,備忘錄模式等。
常見的MVC模式。
MVC模式是1996年由Buschmann提出的:
模型(Model):就是封裝資料和所有基于對這些資料的操作。
視圖(View):就是封裝的是對資料顯示,即使用者界面。
控制器(Control):就是封裝外界作用于模型的操作和對資料流向的控制等。 11.什麼叫應用程式域?什麼是受管制的代碼?什麼是強類型系統?什麼是裝箱和拆箱?什麼是重載?CTS、CLS和CLR分别作何解釋? 12.列舉一下你所了解的XML技術及其應用 xml 可以用來做網頁(xslt) xml可以當作資料庫 xml可以用來儲存對象的系列化
xml 用于配置,用于儲存靜态資料類型.接觸XML最多的是web Services..和config 13.值類型和引用類型的差別?寫出C#的樣例代碼。 在dotnet中有兩大類資料類型,即值類型和引用類型 值類型存貯在棧中,而引用類型存貯在動态的堆中 棧是先進先出的有系統管理的空間 堆是由應用程式控制的可随時申請和釋放該空間 在Donnet中一般情況下有垃圾收集器處理,他們的不同導緻在程式設計上的不同。
例: StringBuilder a=new StringBuilder(); // 将 StringBuilder 的一個首位址傳給 a
StringBuilder b=a; // 将 StringBuilder 的一個首位址傳給 b
b.Append("mxh");
Console.WriteLine(a);
a=null;
Console.WriteLine(b);
輸出結果: mxh
mxh
的意思是:a的引用置為空但此時StringBuilder的堆空間并沒有被釋放,是以在此之後,輸出b時,仍然可以輸出mxh
"a=null"
14.ADO.net中常用的對象有哪些?分别描述一下。 Connection 對象用于在應用程式和資料庫之間的連接配接 Command 可以檢索和操縱資料庫中的資料 DataAdapter 對象充當DataSet和資料源之間用于檢索和儲存資料的橋接器 DataSet 對象從資料庫檢索的資料可以存儲在其中能夠以XML形式儲存 DataReader 查詢結果的一種隻進。隻讀的視圖 不具有DataSet的任何複雜功能。 加快通路和檢視資料的速度 不提供斷開式通路 15.如何了解委托? 據說相當于函數指針,定義了委托就可以在不調用原方法名稱的情況下調用那個方法.
委托具有以下特點:
委托類似于 C++ 函數指針,但它是類型安全的。
委托允許将方法作為參數進行傳遞。
委托可用于定義回調方法。
委托可以連結在一起;例如,可以對一個事件調用多個方法。
方法不需要與委托簽名精确比對。有關更多資訊,請參見協變和逆變。
C# 2.0 版引入了匿名方法的概念,此類方法允許将代碼塊作為參數傳遞,以代替單獨定義的方法 16.UDP連接配接和TCP連接配接的異同 udp前者隻管傳,不管資料到不到,無須建立連接配接. tcp後者保證傳輸的資料準确,須要連結. 17.ASP.net的身份驗證方式有哪些?分别是什麼原理? window驗證:為每個使用者開啟window帳号,驗證其身份.安全性較高 .
forms驗證:為每個登陸使用者寫入一個身份驗證票據..在web使用最廣的驗證方式..靈活友善. 18.程序和線程分别怎麼了解? 程序是老子,線程是兒子,沒有老子就沒有兒子,一個老子可以有多個兒子.一個兒子可以成為别人的兒子,一個老子也可以為别的老子生兒子. 19.什麼是code-Behind技術。 建立一個VS.NET下的項目..看到ASPX,RESX和CS三個字尾的檔案了嗎??這個就是代碼分離.實作了HTML代碼和伺服器代碼分離.友善代碼編寫和整理. 20.活動目錄的作用。 活動目錄是window2000的最重要的功能.可以将使用者資訊全部內建起來,登陸以後可以通路多個不同的網絡服務.. . 21..net中讀寫XML的類都歸屬于哪些命名空間? System.XML類 22.解釋一下UDDI、WSDL的意義及其作用 UDDI 用于注冊各個服務提供商提供的服務 以便可以共享它們 它還有助于WEB服務客戶或web使用者查找該Web服務 wsdl 是web服務描述語言(web Services Description Language) 23.什麼是SOAP,有哪些應用。 SOAP(Simple Object Access Protocol )簡單對象通路協定是在分散或分布式的環境中交換資訊并執行遠端過程調用的協定,是一個基于XML的協定。使用SOAP,不用考慮任何特定的傳輸協定(最常用的還是HTTP協定),可以允許任何類型的對象或代碼,在任何平台上,以任何一直語言互相通信。 24.如何部署一個ASP.net頁面。 25.如何了解.net中的垃圾回收機制。 如果發現記憶體不夠,則垃圾回收器,将全部對象作為無效對象(被回收對象),然後先将全局變量,static,處于活動中的局部變量,以及目前CG指針指向的對象放入一個表中.然後
會搜尋新清單中的對象所引用的對象.加入清單中,其他沒有被加入清單的對象都會被回收. 26.常用的調用webservice方法有哪些? 一般用的是WSDL..或者web引用..