.NET面試題(二)

作者: IT小炸彈  來源: 博客園  發布時間: 2009-11-19 13:53  閱讀: 2060 次  推薦: 0   原文鏈接   [收藏]  

1.面向對象的思想主要包括什么?

答:任何事物都可以理解為對象,其主要特征: 繼承。封裝。多態。特點:代碼好維護,安全,隱藏信息

 

2.什么是ASP.net中的用戶控件

答:擴展名為*.ascx,跟*.aspx在結構上相似,是指頁面中 

加載的功能塊,只是用戶控件不能單獨作為頁面運行,必須嵌入到*.aspx頁面或其它用 

戶控件中使用 。

 

3.什么叫應用程序域?什么是受管制的代碼?什么是強類型系統?什么是裝箱和拆箱?什么是重載?CTS、CLS和CLR分別作何解釋?

答:應用程序域

 

應用程序域為安全性、可靠性、版本控制以及卸載程序集提供了隔離邊界。應用程序域通常由運行庫宿主創建,運行庫宿主負責在運行應用程序之前引導公共語言運行庫。應用程序域提供了一個更安全、用途更廣的處理單元,公共語言運行庫可使用該單元提供應用程序之間的隔離。

 

托管代碼

 

使用基于公共語言運行庫的語言編譯器開發的代碼稱為托管代碼;托管代碼具有許多優點,例如:跨語言集成、跨語言異常處理、增強的安全性、版本控制和部署支持、簡化的組件交互模型、調試和分析服務等。

 

裝箱和拆箱

 

裝箱和拆箱使值類型能夠被視為對象。對值類型裝箱將把該值類型打包到 Object 引用類型的一個實例中。這使得值類型可以存儲于垃圾回收堆中。拆箱將從對象中提取值類型。

 

重載

 

每個類型成員都有一個唯一的簽名。方法簽名由方法名稱和一個參數列表(方法的參數的順序和類型)組成。只要簽名不同,就可以在一種類型內定義具有相同名稱的多種方法。當定義兩種或多種具有相同名稱的方法時,就稱作重載。

 

CTS通用類型系統 (common type system)

 

一種確定公共語言運行庫如何定義、使用和管理類型的規范。

 

CLR公共語言運行庫

 

.NET Framework 提供了一個稱為公共語言運行庫的運行時環境,它運行代碼并提供使開發過程更輕松的服務。

 

CLS公共語言規范

 

要和其他對象完全交互,而不管這些對象是以何種語言實現的,對象必須只向調用方公開那些它們必須與之互用的所有語言的通用功能。為此定義了公共語言規范 (CLS),它是許多應用程序所需的一套基本語言功能。

 

強類型

 

C# 是強類型語言;因此每個變量和對象都必須具有聲明類型。

 

4.列舉一下你所了解的XML技術及其應用

答:保存配置,站與站之間的交流,WEB SERVICE。以及與數據庫的數據交互等地方都要用它.

 

5.值類型和引用類型的區別?寫出C#的樣例代碼。

答:基于值類型的變量直接包含值。將一個值類型變量賦給另一個值類型變量時,將復制包含的值。這與引用類型變量的賦值不同,引用類型變量的賦值只復制對對象的引用,而不復制對象本身。

 

所有的值類型均隱式派生自 System.ValueType。

 

與引用類型不同,從值類型不可能派生出新的類型。但與引用類型相同的是,結構也可以實現接口。

 

與引用類型不同,值類型不可能包含 null 值。然而,可空類型功能允許將 null 賦給值類型。

 

每種值類型均有一個隱式的默認構造函數來初始化該類型的默認值。

 

值類型主要由兩類組成:結構、枚舉

 

結構分為以下幾類:Numeric(數值)類型、整型、浮點型、decimal、bool、用戶定義的結構。

 

引用類型的變量又稱為對象,可存儲對實際數據的引用。聲明引用類型的關鍵字:class、interface、delegate、內置引用類型: object、strin

 

6.ADO.net中常用的對象有哪些?分別描述一下。

答:

Connection          打開數據庫連接

Command         執行數據庫命令

DataAdapter     連接數據,執行數據庫命令,填充DataSet

DataSet         數據在內存中的緩存,數據結構

DataReader          只讀向前的讀取數據庫

 

7.如何理解委托?

答:

相當于函數指針,定義了委托就可以在不調用原方法名稱的情況下調用那個方法.

委托具有以下特點:

委托類似于 C++ 函數指針,但它是類型安全的。

委托允許將方法作為參數進行傳遞。

委托可用于定義回調方法。

委托可以鏈接在一起;例如,可以對一個事件調用多個方法。

方法不需要與委托簽名精確匹配。有關更多信息,請參見協變和逆變。

C# 2.0 版引入了匿名方法的概念,此類方法允許將代碼塊作為參數傳遞,以代替單獨定義的方法。

 

8.C#中的接口和類有什么異同。

答:

異:

 

不能直接實例化接口。

 

接口不包含方法的實現。

 

接口、類和結構可從多個接口繼承。但是C# 只支持單繼承:類只能從一個基類繼承實現。

 

類定義可在不同的源文件之間進行拆分。

 

同:

 

接口、類和結構可從多個接口繼承。

 

接口類似于抽象基類:繼承接口的任何非抽象類型都必須實現接口的所有成員。

 

接口可以包含事件、索引器、方法和屬性。

 

一個類可以實現多個接口。

 

9.。net中讀寫數據庫需要用到哪些類?他們的作用

答:這個類自已可以寫的啊,基類是configuration,connection,command等都要用到.

Connection          打開數據庫連接

Command         執行數據庫命令

DataAdapter     連接數據,執行數據庫命令,填充DataSet

DataSet         數據在內存中的緩存,數據結構

DataReader          只讀向前的讀取數據庫

10.UDP連接和TCP連接的異同。

答:前者只管傳,不管數據到不到,無須建立連接.后者保證傳輸的數據準確,須要連結.

 

11.ASP.net的身份驗證方式有哪些?分別是什么原理?

答:Windows 身份驗證提供程序

 

提供有關如何將 Windows 身份驗證與 Microsoft Internet 信息服務 (IIS) 身份驗證結合使用來確保 ASP.NET 應用程序安全的信息。

 

Forms 身份驗證提供程序

 

提供有關如何使用您自己的代碼創建應用程序特定的登錄窗體并執行身份驗證的信息。使用 Forms 身份驗證的一種簡便方法是使用 ASP.NET 成員資格和 ASP.NET 登錄控件,它們一起提供了一種只需少量或無需代碼就可以收集、驗證和管理用戶憑據的方法。

 

Passport 身份驗證提供程序

 

提供有關由 Microsoft 提供的集中身份驗證服務的信息,該服務為成員站點提供單一登錄和核心配置

 

12.進程和線程分別怎么理解?

答:進程和線程都是由操作系統所體會的程序運行的基本單元,系統利用該基本單元實現系統對應用的并發性。進程和線程的區別在于:

 

簡而言之,一個程序至少有一個進程,一個進程至少有一個線程.

線程的劃分尺度小于進程,使得多線程程序的并發性高。

另外,進程在執行過程中擁有獨立的內存單元,而多個線程共享內存,從而極大地提高了程序的運行效率。

線程在執行過程中與進程還是有區別的。每個獨立的線程有一個程序運行的入口、順序執行序列和程序的出口。但是線程不能夠獨立執行,必須依存在應用程序中,由應用程序提供多個線程執行控制。

從邏輯角度來看,多線程的意義在于一個應用程序中,有多個執行部分可以同時執行。但操作系統并沒有將多個線程看做多個獨立的應用,來實現進程的調度和管理以及資源分配。這就是進程和線程的重要區別。

 

進程是具有一定獨立功能的程序關于某個數據集合上的一次運行活動,進程是系統進行資源分配和調度的一個獨立單位.

線程是進程的一個實體,是CPU調度和分派的基本單位,它是比進程更小的能獨立運行的基本單位.線程自己基本上不擁有系統資源,只擁有一點在運行中必不可少的資源(如程序計數器,一組寄存器和棧),但是它可與同屬一個進程的其他的線程共享進程所擁有的全部資源.

一個線程可以創建和撤銷另一個線程;同一個進程中的多個線程之間可以并發執行.

 

13.什么是code-Behind技術。

答:代碼分離,這是個明智的東西,像ASP這樣混成一堆很不爽.或者可以理解成HTML代碼寫在前臺,C#代碼寫在后臺.當然前臺也有腳本,類的調用等,其實寫在一起也是可以的.

 

14.活動目錄的作用。

答:Active Directory存儲了有關網絡對象的信息,并且讓管理員和用戶能夠輕松地查找和使用這些信息。Active Directory使用了一種結構化的數據存儲方式,并以此作為基礎對目錄信息進行合乎邏輯的分層組織。

 

15..net中讀寫XML的類都歸屬于哪些命名空間?

答:System.Xml

 

16.解釋一下UDDI、WSDL的意義及其作用。

答:

UDDI

 

統一描述、發現和集成協議(UDDI, Universal Description, Discovery and Integration)是一套基于Web的、分布式的、為Web服務提供的信息注冊中心的實現標準規范,同時也包含一組使企業能將自身提供的Web服務注冊以使得別的企業能夠發現的訪問協議的實現標準。UDDI 提供了一組基于標準的規范用于描述和發現服務,還提供了一組基于因特網的實現。

 

WSDL

 

WSDL描述Web服務的公共接口。這是一個基于XML的關于如何與Web服務通訊和使用的服務描述;

 

         服務 URL 和命名空間

 

         網絡服務的類型(可能還包括 SOAP 的函數調用,正像我所說過的,WSDL 足夠自如地去描述網絡服務的廣泛內容)

 

         有效函數列表

 

         每個函數的參數

 

         每個參數的類型

 

         每個函數的返回值及其數據類型

 

17.什么是SOAP,有哪些應用。

答:SOAP(Simple Object Access Protocol )簡單對象訪問協議是在分散或分布式的環境中交換信息并執行遠程過程調用的協議,是一個基于XML的協議。使用SOAP,不用考慮任何特定的傳輸協議(最常用的還是HTTP協議),可以允許任何類型的對象或代碼,在任何平臺上,以任何一直語言相互通信。

 

SOAP 是一種輕量級協議,用于在分散型、分布式環境中交換結構化信息。 SOAP 利用 XML 技術定義一種可擴展的消息處理框架,它提供了一種可通過多種底層協議進行交換的消息結構。這種框架的設計思想是要獨立于任何一種特定的編程模型和其他特定實現的語義。

 

SOAP 定義了一種方法以便將 XML 消息從 A 點傳送到 B 點。為此,它提供了一種基于 XML 且具有以下特性的消息處理框架:1) 可擴展,2) 可通過多種底層網絡協議使用,3) 獨立于編程模型。

 

18.如何部署一個ASP.net頁面。

答:VS 2005和VS 2003都有發布機制。2003可以發布然后再復制部署。VS2005基本上可以直接部署到對應位置。

 

19.如何理解.net中的垃圾回收機制。

答:.NET Framework 的垃圾回收器管理應用程序的內存分配和釋放。每次您使用 new 運算符創建對象時,運行庫都從托管堆為該對象分配內存。只要托管堆中有地址空間可用,運行庫就會繼續為新對象分配空間。但是,內存不是無限大的。最終,垃圾回收器必須執行回收以釋放一些內存。垃圾回收器優化引擎根據正在進行的分配情況確定執行回收的最佳時間。當垃圾回收器執行回收時,它檢查托管堆中不再被應用程序使用的對象并執行必要的操作來回收它們占用的內存。

 

20.常用的調用webservice方法有哪些?

答:SOAP和WSDL

0
0
 
標簽:面試題集
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()