ASP.NET基礎概念面試題

 》.在Asp.net中所有的自定義用戶控件都必須繼承自Control。
》.在.Net中所有可序列化的類都被標記爲[serializable]。
》.在.Net託管代碼中我們不用擔心內存漏洞,這是因爲有了GC。
》.當類T只聲明瞭私有實例構造函數時,則在T的程序文本外部不可以從T派生出新的類,不可以直接創建T的任何實例。
1 .列舉ASP.NET 頁面之間傳遞值的幾種方式。
<1.使用QueryString, 如....?id=1; response. Redirect().... 、<2.使用Session變量 、<3.使用Server.Transfer
2.請說明在.net中常用的幾種頁面間傳遞參數的方法,並說出他們的優缺點。
答:session(viewstate) 簡單,但易丟失、application 全局、cookie 簡單,但可能不支持,可能被僞造、input ttype="hidden" 簡單,可能被僞造、url參數 簡單,顯示於地址欄,長度有限、數據庫 穩定,安全,但性能相對弱
3.如果在一個B/S結構的系統中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進行處理?
答:this.Server.Transfer
    我們可以能過用get、post、application、viewstate來傳值.
4.用.net做B/S結構的系統,您是用幾層結構來開發,每一層之間的關係以及爲什麼要這樣分層?
答:一般爲3層;數據訪問層,業務層,表示層。
數據訪問層對數據庫進行增刪查改、業務層一般分爲二層,業務表觀層實現與表示層的溝通,業務規則層實現用戶密碼的安全等、表示層爲了與用戶交互例如用戶添加表單;
優點: 分工明確,條理清晰,易於調試,而且具有可擴展性;缺點: 增加成本。
5.什麼叫應用程序域?
答:應用程序域可以理解爲一種輕量級進程。起到安全的作用。佔用資源小。
6.CTS、CLS、CLR分別作何解釋?
答:CTS:通用語言系統。CLS:通用語言規範。CLR:公共語言運行庫。
7.什麼是裝箱和拆箱?
答:從值類型接口轉換到引用類型裝箱。從引用類型轉換到值類型拆箱。
8.什麼是受管制的代碼?
答:unsafe:非託管代碼。不經過CLR運行。
9.什麼是強類型系統?
答:RTTI:類型識別系統。
10.net中讀寫數據庫需要用到那些類?他們的作用?
答:DataSet:數據存儲器、DataCommand:執行語句命令、DataAdapter:數據的集合,用語填充。
11.ASP.net的身份驗證方式有哪些?分別是什麼原理?
答:窗體(IIS...From)份驗證(利用表單來判斷身份)、Windows身份驗證(通過系統集成判斷身份)、護照(Passport密鑰)身份驗證和無驗證(None),共4種.
12.ASP.NET中的身份驗證有那些?你當前項目採用什麼方式驗證請解釋。
答:Asp.net的身份驗證有有三種,分別是"Windows | Forms | Passport|none",其中又以Forms驗證用的最多,也最靈活。
    Forms 驗證方式對基於用戶的驗證授權提供了很好的支持,可以通過一個登錄頁面驗證用戶的身份,將此用戶的身份發回到客戶端的Cookie,之後此用戶再訪問這個web應用就會連同這個身份Cookie一起發送到服務端。服務端上的授權設置就可以根據不同目錄對不同用戶的訪問授權進行控制了.
    問題來了,在實際是用中我們往往需要的是基於角色,或者說基於用戶組的驗證和授權。對一個網站來說,一般的驗證授權的模式應該是這樣的:根據實際需求把用戶分成不同的身份,就是角色,或者說是用戶組,驗證過程不但要驗證這個用戶本身的身份,還要驗證它是屬於哪個角色的。
    而訪問授權是根據角色來設置的,某些角色可以訪問哪些資源,不可以訪問哪些資源等等。要是基於用戶來授權訪問將會是個很不實際的做法,用戶有很多,還可能隨時的增減,不可能在配置文件中隨時的爲不斷增加的新用戶去增加訪問授權的。
13.什麼是code-Behind技術。
答:代碼分離,代碼後植。ASPX,RESX和CS三個後綴的文件,這個就是代碼分離.實現了HTML代碼和服務器代碼分離.方便代碼編寫和整理.這是個明智的東西,像ASP這樣混成一堆很不爽.或者可以理解成HTML代碼寫在前臺,C#代碼寫在後臺.當然前臺也有腳本,類的調用等,其實寫在一起也是可以的.
14.在.net中,配件的意思是?
答:程序集。(中間語言,源數據,資源,裝配清單)
15.常用的調用WebService的方法有哪些?
答:1.使用WSDL.exe命令行工具。
    2.使用VS.NET中的Add Web Reference菜單選項
16..net Remoting 的工作原理是什麼?
答:服務器端向客戶端發送一個進程編號,一個程序域編號,以確定對象的位置。
17.簡要談一下您對微軟.NET構架下remoting和webservice兩項技術的理解以及實際中的應用。
答:WS主要是可利用HTTP,穿透防火牆。而Remoting可以利用TCP/IP,二進制傳送提高效率。都是屬於遠程邏輯調用,remoing接口只能用在.net中,remoting適合在intranet(內聯網); webservice適合internet(互聯網),webservice 可以跨平臺跨語言。
19.Session有什麼重大BUG,微軟提出了什麼方法加以解決?
答:是iis中由於有進程回收機制,系統繁忙的話Session會丟失,可以用Sate server或SQL Server數據庫的方式存儲Session不過這種方式比較慢,而且無法捕獲Session的END事件。
20.ASP.NET與ASP相比,主要有哪些進步?
答:asp解釋形,aspx編譯型,性能提高,有利於保護源碼。
21.請指出GAC的含義?
答:全局程序集緩存。
22.向服務器發送請求有幾種方式?
答:get,post。get一般爲鏈接方式,post一般爲按鈕方式。
23:DataReader與Dataset有什麼區別?
答:DataReader一次只能存放一行數據,是隻能向前的只讀遊標;而Dataset一次卻可以存放/讀取一張表格,一個是內存中的表。
24、DataReader和DataSet的異同
答:DataReader和DataSet最大的區別在於,DataReader使用時始終佔用SqlConnection,在線操作數據庫,任何對SqlConnection的操作都會引發DataReader的異常;因爲DataReader每次只在內存中加載一條數據,所以佔用的內存是很小的,因爲DataReader的特殊性和高性能.所以DataReader是隻進的,你讀了第一條後就不能再去讀取第一條了;
   DataSet則是將數據一次性加載在內存中.拋棄數據庫連接,讀取完畢即放棄數據庫連接,因爲DataSet將數據全部加載在內存中,所以比較消耗內存,但是確比DataReader要靈活,可以動態的添加行,列,數據.對數據庫進行回傳更新操作.
25.什麼叫做SQL注入,如何防止?請舉例說明。
答:利用sql關鍵字對網站進行攻擊。過濾關鍵字'等
26.什麼是Application Pool?
答:Web應用,類似Thread Pool,提高併發性能。
27.什麼是XML?
答:XML即可擴展標記語言。eXtensible Markup Language.標記是指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種信息的文章等。如何定義這些標記,即可以選擇國際通用的標記語言,比如HTML,也可以使用象XML這樣由相關人士自由決定的標記語言,這就是語言的可擴展性。XML是從SGML中簡化修改出來的。它主要用到的有XML、XSL和XPath等。
28.列舉一下你所瞭解的XML技術及其應用
答:xml用於配置,用於保存靜態數據類型,站與站之間的交流,WEB SERVICE都要用它.接觸XML最多的是web Services..和config
    xml可以用來做網頁(xslt)xml可以當作數據庫xml可以用來保存對象的系列化(web服務好象是基於這個的)...
29.XML 與 HTML 的主要區別.
答:<1. XML是區分大小寫字母的,HTML不區分。
    <2. 在HTML中,如果上下文清楚地顯示出段落或者列表鍵在何處結尾,那麼你可以省略</p>或者</li>之類的結束 標記。在XML中,絕對不能省略掉結束標記。
    <3. 在XML中,擁有單個標記而沒有匹配的結束標記的元素必須用一個 / 字符作爲結尾。這樣分析器就知道不用 查找結束標記了。
    <4. 在XML中,屬性值必須分裝在引號中。在HTML中,引號是可用可不用的。
    <5. 在HTML中,可以擁有不帶值的屬性名。在XML中,所有的屬性都必須帶有相應的值。
30.什麼是SOAP,有哪些應用。
答:SOAP(Simple Object Access Protocol)簡單對象訪問協議是在分散或分佈式的環境中交換信息並執行遠程過程調用的協議,是一個基於XML的協議。以xml爲基本編碼結構,建立在已有通信協議上(如http,不過據說ms在搞最底層的架構在tcp/ip上的soap)的一種規範Web Service使用的協議;使用SOAP,不用考慮任何特定的傳輸協議(最常用的還是HTTP協議),可以允許任何類型的對象或代碼,在任何平臺上,以任何一直語言相互通信。
    SOAP 是一種輕量級協議,用於在分散型、分佈式環境中交換結構化信息。 SOAP 利用 XML 技術定義一種可擴展的消息處理框架,它提供了一種可通過多種底層協議進行交換的消息結構。 這種框架的設計思想是要獨立於任何一種特定的編程模型和其他特定實現的語義。
這種相互通信採用的是XML格式的消息,具體請看:http://playist.blogchina.com/2521621.html
31.什麼是Web Service?UDDI?
答:Web Service便是基於網絡的、分佈式的模塊化組件,它執行特定的任務,遵守具體的技術規範,這些規範使得Web Service能與其他兼容的組件進行互操作。
   UDDI 的目的是爲電子商務建立標準;UDDI是一套基於Web的、分佈式的、爲Web Service提供的、信息註冊中心的實現標準規範,同時也包含一組使企業能將自身提供的Web Service註冊,以使別的企業能夠發現的訪問協議的實現標準。
32.解釋一下UDDI、WSDL的意義及其作用。
答:UDDI統一描述、發現和集成協議(UDDI, Universal Description, Discovery and Integration)是一套基於Web的、分佈式的、爲Web服務提供的信息註冊中心的實現標準規範,同時也包含一組使企業能將自身提供的Web服務註冊以使得別的企業能夠發現的訪問協議的實現標準。UDDI 提供了一組基於標準的規範用於描述和發現服務,還提供了一組基於因特網的實現.WSDL描述Web服務的公共接口。這是一個基於XML的關於如何與Web服務通訊和使用的服務描述;
33.常用的調用webservice方法有哪些?
答: 可以從瀏覽器、ASP頁或其他WEB服務調用可以使用HTTP-GET HTTP-POST訪問WEB服務也可以從ASP頁或其他WEB服務向其他WEB服務發出SOAP請求HTTP-GET HTTP-POST SOAP 使用WEB服務代理
34.ADO.net中常用的對象有哪些?分別描述一下。
答:ADO.net中有五個主要對象:
   Connection 數據庫連接對像、Command 數據庫命令、DataAdapter數據適配器、DataReader 數據讀取器、 DataSet 數據集;
   還有sqladapter、 datatable數據表 、dataview數據視圖等等。
35.datagrid.datasouse可以連接什麼數據源? [dataset,datatable,dataview]
答:dataset,datatable,dataview , IList..
36.。net中讀寫數據庫需要用到哪些類?他們的作用.
答:這個類自已可以寫的啊,你是指基類嗎?那configuration,sqlconnection,sqlcommand等都要用到.
37.如何理解.net中的垃圾回收機制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章