常見(jiàn)NET專業(yè)技術(shù)面試題_第1頁(yè)
常見(jiàn)NET專業(yè)技術(shù)面試題_第2頁(yè)
常見(jiàn)NET專業(yè)技術(shù)面試題_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余9頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、常見(jiàn).NET技術(shù)面試題C#什么是委托?委托和事件是什么關(guān)系?答:簡(jiǎn)單的說(shuō):委托是一種方法容器,里面可以裝載若干個(gè)具有相同簽名的方法引 用地址,那么調(diào)用委托,就相當(dāng)于同時(shí)調(diào)用了該容器內(nèi)的所有方法。委托可以將方法作為參數(shù)傳遞給方法 事件是一種特殊的委托什么是反射?答:反射提供了封裝程序集,模塊和類型對(duì)象,可以用反射動(dòng)態(tài)地創(chuàng)建類型的實(shí)例, 將類型綁定到現(xiàn)有對(duì)象,或者從現(xiàn)有對(duì)象類型里獲取類型,然后調(diào)用類型的方法或訪 問(wèn)字段和屬性。C#中是否可以從多個(gè)類中繼承?如何實(shí)現(xiàn)多重繼承?*答:不能,要想實(shí)現(xiàn)多繼承,就用接口什么是密封類?答:密封類是類的一種,用 sealed修飾,不能用作基類。因此,它也不能是抽

2、象 類。密封類主要用于防止派生。using關(guān)鍵字有幾種用途? 答:兩種 (i)應(yīng)用命名空間;(2)定義一個(gè)范圍,在范圍結(jié)束時(shí)處理對(duì)象#warning 和#error 分別的用途是什么?string 和 StringBuilder 有什么區(qū)別?« 答:String對(duì)象是不可改變的。StringBuilder對(duì)象是動(dòng)態(tài)對(duì)象string是常量,定義后不能改變,stringbuilder定義后可以改變,且線程不安全const 和 readonly 的區(qū)別?* 答:con st聲明常量,raado nly 是運(yùn)行是的常量new、virtual 、abstract、override 、seale

3、d 的區(qū)別? New :new個(gè)對(duì)象(2)隱藏基類中的方法(3)在泛型時(shí),new 一個(gè)泛型類* Virtual: virtual關(guān)鍵字用于修飾方法、屬性、索引器或事件聲明,并使它們可以在派生類中 被重寫(xiě)。virtual修飾符不能與 static、abstract, private 或override 修飾符一起使用。Abstract:abstract修飾符可以和類、方法、屬性、索引器及事件一起使用。在類聲明中使用abstract修飾符以指示某個(gè)類只能是其他類的基類。標(biāo)記為抽象或包含在抽象類中的成員必須通 過(guò)從抽象類派生的類來(lái)實(shí)現(xiàn)。* Override:重寫(xiě):重寫(xiě)基類中的方法,不能重寫(xiě)非虛方法或

4、靜態(tài)方法。重寫(xiě)的基方法必須是virtual、abstract 或 override 的。override 聲明不能更改 virtual 方法的可訪問(wèn)性。 overri de方法和virtual方法必須具有相同的訪問(wèn)級(jí)別修飾符。* Sealed:密封類不能作為基類,密封類不能同時(shí)為抽象類abstract class 和 interface 有什么區(qū)別?*答:區(qū)別一,兩者表達(dá)的概念不一樣。抽象類是一類事物的高度聚合,那么對(duì)于繼 承抽象類的子類來(lái)說(shuō),對(duì)于抽象類來(lái)說(shuō),屬于“是”的關(guān)系;*而接口是定義行為規(guī)范,因此對(duì)于實(shí)現(xiàn)接口的子類來(lái)說(shuō),相對(duì)于接口來(lái)說(shuō),是“行 為需要按照接口來(lái)完成”。* 區(qū)別二,抽象類

5、在定義類型方法的時(shí)候,可以給出方法的實(shí)現(xiàn)部分, 也可以不給出;而對(duì)于接口來(lái)說(shuō),其中所定義的方法都不能給出實(shí)現(xiàn)部分。區(qū)別三,繼承類對(duì)于兩者所涉及方法的實(shí)現(xiàn)是不同的。繼承類對(duì)于抽象類所定義的抽象方法,可以不用重寫(xiě),也就是說(shuō),可以延用抽象類的方法;*而對(duì)于接口類所定義的方法或者屬性來(lái)說(shuō),在繼承類中必須要給出相應(yīng)的方法和屬性實(shí)現(xiàn)。區(qū)別四,在抽象類中,新增一個(gè)方法的話,繼承類中可以不用作任何處理; 而對(duì)于接口來(lái)說(shuō),則需要修改繼承類,提供新定義的方法。« 如下給出兩者的簡(jiǎn)單對(duì)比表格。接口抽象類多繼承支持不支持類型限制沒(méi)有有,只能是引用類型方法實(shí)現(xiàn)繼承類型中必須給出方法實(shí)現(xiàn)繼承類中可以不給出擴(kuò)展性

6、比較麻煩相對(duì)比較靈活多層繼承比較麻煩,需要借助虛函數(shù)比較靈活公共變量與屬性的區(qū)別?答:(1)屬性只能通過(guò)初始化類,創(chuàng)建對(duì)象后才能使用。變量則沒(méi)有這方面要求,(2)屬性沒(méi)有固定的地址,屬性的賦值只是使指針;變量賦值只是變量的地址儲(chǔ)存所指的地址值結(jié)構(gòu)與類的區(qū)別?答:結(jié)構(gòu)和類具有大體的語(yǔ)法,但是結(jié)構(gòu)受到的限制比類要多。結(jié)構(gòu)不能申明有默認(rèn)的構(gòu)造函數(shù),為結(jié)構(gòu)的副本是又編譯器創(chuàng)建和銷毀的,所以不需要默認(rèn)的構(gòu)造函數(shù)和析構(gòu)函數(shù)。結(jié)構(gòu)是值類型,所以對(duì)結(jié)構(gòu)變量所做的改變不會(huì)影響其的原值,而 類是應(yīng)用類型,改變其變量的值會(huì)改變其原值。申明結(jié)構(gòu)用Struck關(guān)鍵 字,申明類用class關(guān)鍵字,向方法傳遞結(jié)構(gòu)是時(shí)是通過(guò)

7、值傳遞的,而不是通過(guò)引用。與類 不同,結(jié)構(gòu)的實(shí)例化可以不使用New關(guān)鍵字。類可以實(shí)現(xiàn)接口。ASP.NETASP.NET Web應(yīng)用程序和 ASP.NET網(wǎng)站的區(qū)別是什么?答:都是設(shè)計(jì)網(wǎng)頁(yè)的。都可以添加 ASP.Net文件夾web 應(yīng)用程序 Default.aspx 顯示有兩個(gè)原有文件及Default.aspx.cs 和 Default.aspx.designer.cs ;Web 網(wǎng)站 Default.aspx 顯示有一個(gè)原有文件Default.aspx.cs。web應(yīng)用程序有重新生成和發(fā)布兩項(xiàng);Web網(wǎng)站只有一個(gè)發(fā)布網(wǎng)站。web應(yīng)用程序和一般的 winform沒(méi)有什么區(qū)別都有引用的是命名空間等

8、;Web網(wǎng)站在引用后出現(xiàn)一個(gè)bin文件夾那里存放 dll和pdb文件。web應(yīng)用程序可以作為類庫(kù)被引用;Web網(wǎng)站則不可以作為類庫(kù)被引用。web應(yīng)用程序可以添加 ASP.Net文件夾中不包括 bin、App_Code; Web網(wǎng)站可以添加 ASP.Net 文件夾包括 bin、App_Code。web應(yīng)用程序還可添加組件和類;Web網(wǎng)站則沒(méi)有。源文件雖然都是 Default.aspx.cs但是web應(yīng)用程序有命名空間, 多了一項(xiàng)System.Collections 空間引用。Web應(yīng)用程序在修改了頁(yè)面底層的代碼之后需要重新進(jìn)行編譯網(wǎng)站不需要重新編譯網(wǎng)站可以添加 APS文件夾,Web應(yīng)用程序不可以

9、Web應(yīng)用程序的項(xiàng)目會(huì)生成 Dll文件網(wǎng)站在發(fā)布的時(shí)候,會(huì)自動(dòng)生成Dll文件,但是每次的 Dll文件名都不一樣Web應(yīng)用程序會(huì)有解決方案和項(xiàng)目文件WebSite編程模型的優(yōu)點(diǎn):動(dòng)態(tài)編譯該頁(yè)面,馬上可以看到效果,不用編譯整個(gè)站點(diǎn)(主要優(yōu)勢(shì))同上,可以使錯(cuò)誤的部分和使用的部分不相干擾(可以要求只有編譯通過(guò)才能簽入)可以每個(gè)頁(yè)面生成一個(gè)程序集(不會(huì)采用這種方式)可以把一個(gè)目錄當(dāng)做一個(gè) Web應(yīng)用來(lái)處理,直接復(fù)制文件就可以發(fā)布,不需要項(xiàng)目文件(無(wú)所謂,只適合小站點(diǎn))可以把頁(yè)面也編譯到程序集中(應(yīng)該用不到,而且WebApplicatio n 也可以通過(guò)WebDeployme nt 插件來(lái)實(shí)現(xiàn))頁(yè)面事件的

10、執(zhí)行順序?答:1.對(duì)象初始化,2.加載視圖狀態(tài)數(shù)據(jù),3.LoadPostData 處理回傳數(shù)據(jù),4.對(duì)象加載5.激發(fā)RaisePostDataChanged事件,6.處理客戶端回傳事件,7.對(duì)象預(yù)呈現(xiàn),8.保存視圖狀態(tài),9.呈現(xiàn)HTML, 10.釋放頁(yè)面之間傳值有哪幾種方法?答:QueryString,session,cookies,application,server.Transfer, respose.redictor.ASP.NET服務(wù)器空件和HTML控件的區(qū)別?答:1、ASP.NET服務(wù)器控件提供了統(tǒng)一的編程接口2、ASP.NET服務(wù)器控件具有瀏覽器的無(wú)關(guān)性,也就是無(wú)論何種瀏覽器都能支

11、持3、 ASP.NET服務(wù)器控件可以保存狀態(tài)到ViewState 里,這樣頁(yè)面在從客戶端回傳 到服務(wù)器端或者從服務(wù)器端下載到客戶端的過(guò)程中都可以保存4、 事件處理模型不同,HTML控件的事件處理都是在客戶端的頁(yè)面上,而ASP.NET 服務(wù)器控件則是在服務(wù)器上綜上所述HTML控件的事件是由客戶端頁(yè)面來(lái)觸發(fā)的,而ASP.NET服務(wù)器控件則是由頁(yè)面把WEB表單發(fā)回到服務(wù)器端,由服務(wù)器來(lái)處理Server.Transfer 和 Response.Redirect 的區(qū)別?答:Server.Transfer方法把執(zhí)行流程從當(dāng)前的ASPX文件轉(zhuǎn)到同一服務(wù)器上的另 一個(gè)ASPX頁(yè)面。調(diào)用Server.Tran

12、sfer時(shí),當(dāng)前的ASPX頁(yè)面終止執(zhí)行,執(zhí)行 流程轉(zhuǎn)入另一個(gè)ASPX頁(yè)面,但新的ASPX頁(yè)面仍使用前一 ASPX頁(yè)面創(chuàng)建的 應(yīng)答流。如果用Server.Transfer方法實(shí)現(xiàn)頁(yè)面之間的導(dǎo)航,瀏覽器中的URL不會(huì)改變, 因?yàn)橹囟ㄏ蛲耆诜?wù)器端進(jìn)行,瀏覽器根本不知XHTMLQHTML 與 HTML 的區(qū)別?XHTML (The Extensible HyperText Markup Language(可擴(kuò)展標(biāo)識(shí)語(yǔ)言)實(shí)際上是 HTML 的升級(jí)版本。這一版本推出的目的是為了讓人們更加容易接受 XML,因?yàn)閄ML是為了 web發(fā)展的方向,本質(zhì)上 說(shuō),XHTML是一個(gè)過(guò)渡技術(shù),結(jié)合了部分 XML的強(qiáng)

13、大功能及大多數(shù) HTML的簡(jiǎn)單特性。DHTML :確切地說(shuō),DHTML只是一種制作網(wǎng)頁(yè)的概念,實(shí)際上沒(méi)有一個(gè)組織或機(jī)構(gòu)推出過(guò)所謂的DHTML標(biāo)準(zhǔn)或技術(shù)規(guī)范之類的。DHTML不是一種技術(shù)、標(biāo)準(zhǔn)或規(guī)范,DHTML只是一種將目前已有的網(wǎng)頁(yè)技術(shù)、 語(yǔ)言標(biāo)準(zhǔn)整和運(yùn)用,制作岀能在下載后仍然能實(shí)時(shí)變換頁(yè)面元素效果的網(wǎng)頁(yè)的設(shè)計(jì)概念。Winform什么是MDI窗體?答:父窗體窗體間如何傳遞數(shù)據(jù)?答使用接口傳值(2)利用委托(3)使用構(gòu)造函數(shù)進(jìn)程與多線程有何區(qū)別?答:進(jìn)程就是一個(gè)單獨(dú)程序打開(kāi)了單獨(dú)的一段地址空間進(jìn)行單獨(dú)的工作而線程是一個(gè)程序用N段地址空間進(jìn)行進(jìn)行同一種操作微軟官方對(duì)進(jìn)程和線程的定義:進(jìn)程:用最簡(jiǎn)潔

14、的話來(lái)說(shuō),進(jìn)程就是一個(gè)正在執(zhí)行的程序,一個(gè)或多個(gè)線程在進(jìn) 程中運(yùn)行,線程是操作系統(tǒng)分配CPU運(yùn)算時(shí)間的最小單位。每一個(gè)進(jìn)程都提供了 運(yùn)行一個(gè)程序所必需的資源,一個(gè)進(jìn)程具有 4GB的虛擬地址空間什么是模態(tài)窗口?什么是非模態(tài)窗口?答:對(duì)話框一般分為兩種類型:模態(tài)類型( modal )與非模態(tài)類型(modeless )。所謂模態(tài)對(duì)話框,就是 指除非采取有效的關(guān)閉手段,用戶的鼠標(biāo)焦點(diǎn)或者輸入光標(biāo)將一直停留在其上的對(duì)話框。非模態(tài)對(duì)話框則 不會(huì)強(qiáng)制此種特性,用戶可以在當(dāng)前對(duì)話框以及其他窗口間進(jìn)行切換。ADO.NETAD0.NET對(duì)象模型包括哪幾部分?答:1.Co nn ectio n 對(duì)象2. Comma

15、nd 對(duì)象3. DataReader 對(duì)象4. DataAdapter 對(duì)象5. DateSet 對(duì)象建立與數(shù)據(jù)庫(kù)的訪問(wèn)需要幾個(gè)步驟?答:一般要通過(guò)以下四個(gè)步驟:1、 創(chuàng)建一個(gè)到數(shù)據(jù)庫(kù)的鏈路,即ADO.Co nn ectio n;2、查詢一個(gè)數(shù)據(jù)集合,即執(zhí)行 SQL,產(chǎn)生一個(gè) Recordset;3、對(duì)數(shù)據(jù)集合進(jìn)行需要的操作 ;4、關(guān)閉數(shù)據(jù)鏈路。DataAdapter 和 DataReader 有何不同?答:DataReader對(duì)象一般用于以下情況:只想讀取數(shù)據(jù)時(shí);從存儲(chǔ)器中獲得的 數(shù)據(jù)只用于顯示,而不做其他處理。DataSet對(duì)象(與DataAdapter對(duì)象一起使用)在以下情況:可能在數(shù)據(jù)

16、源中修 改(編輯或添加新的)數(shù)據(jù)時(shí);想在讀取數(shù)據(jù)后顯示數(shù)據(jù)前對(duì)數(shù)據(jù)進(jìn)行修改時(shí)。 例如,你可能想將數(shù)據(jù)讀入一些表中,或在多個(gè)表中的數(shù)據(jù)間創(chuàng)建關(guān)系。 你也可 能想約列,或者利用多個(gè)連接創(chuàng)建多個(gè)數(shù)據(jù)表。事務(wù)有哪幾個(gè)屬性?事務(wù)具有ACID屬性即Atomic 原子性,Consistent致性,Isolated 隔離性,Durable 永久性原子性就是事務(wù)應(yīng)作為一個(gè)工作單元,事務(wù)處理完成,所有的工作要么都在數(shù)據(jù)庫(kù)中保存下來(lái),要么完全回滾,全部不保留一致性事務(wù)完成或者撤銷后,都應(yīng)該處于一致的狀態(tài)隔離性多個(gè)事務(wù)同時(shí)進(jìn)行,它們之間應(yīng)該互不干擾應(yīng)該防止一個(gè)事務(wù)處理其他事務(wù)也要修改的數(shù)據(jù)時(shí),不合理的存取和不完整的讀

17、取數(shù)據(jù)永久性事務(wù)提交以后,所做的工作就被永久的保存下來(lái)在.NET中有幾種事務(wù)處理方式?Oracle和SQL Server在開(kāi)發(fā)上有哪些不同?答:1操作平臺(tái)(Oracle可以在多平臺(tái)上運(yùn)行,而sql在Windows操作系統(tǒng)上操作)2可操作性,易用性(Oracale在8i之前都是dos而sql有界面操作)3數(shù)據(jù)庫(kù)管理(Oracle針對(duì)表空間管理,sql針對(duì)數(shù)據(jù)庫(kù)管理)4.Oracle沒(méi)有提供中文幫助文檔,而sql提供5.Oracle的價(jià)格要遠(yuǎn)超于 sql(sql是Oracle的十分之一不到)6.Oracle在Windows操作平臺(tái)上只有 2G空間,而sql就沒(méi)有限制但是sql不能運(yùn)行在其他平 臺(tái)上

18、XMLXML 和 HTML 有什么區(qū)別?XML 操作相關(guān)的類有哪些?Javascript 操作 XML 的方法?ADO.NET 與 XML 如何轉(zhuǎn)換?什么是RSS?如何實(shí)現(xiàn)RSS?Web Service什么是 Web Service ?Web Service 有何優(yōu)勢(shì)?如何在 ASP.NET 中創(chuàng)建 Web Service ? 保證 Web Service 的安全有哪些措施?Ajax什么是 Ajax ?Ajax 技術(shù)的核心是什么?Ajax 的工作原理是什么? 如何創(chuàng)建 ASP.NET Ajax 應(yīng)用程序及常用控件? 其他第三方 Ajax 組建有哪些? 系統(tǒng)與文件操作 獲取系統(tǒng)信息有哪些類? 獲取系統(tǒng)服務(wù)信息需要哪個(gè)類? 文件操作有哪幾個(gè)類? 注冊(cè)表操作用到哪些類? Network.NET 網(wǎng)絡(luò)編程的常用類和方法有哪些? 什么是 Socket ?Socket 的基本通信過(guò)程是怎樣的? 實(shí)現(xiàn)異步 Socket 通信的關(guān)鍵步驟有哪些? TcpListener/TcpClient 基本通信過(guò)程是怎樣的? Windows ServiceWindows 服務(wù)應(yīng)用程序和普通的應(yīng)用程序有什么不同?Windows 服務(wù)中的 Timer 控件和普通 Timer 控件是否相

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論