ASP.NET基礎概念面試題

笨笨鼠→_→發表於2012-07-07

 》.在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中的垃圾回收機制。

相關文章