欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#面試題整理(帶答案)

  發(fā)布時間:2019-12-25 16:33:32   作者:心靜則歡   我要評論
這篇文章主要介紹了C#面試題整理(帶答案),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1.維護(hù)數(shù)據(jù)庫的完整性、一致性、你喜歡用觸發(fā)器還是自寫業(yè)務(wù)邏輯?為什么?

答:盡可能用約束(包括CHECK、主鍵、唯一鍵、外鍵、非空字段)實(shí)現(xiàn),這種方式的效率最好;其次用觸發(fā)器,這種方式可以保證無論何種業(yè)務(wù)系統(tǒng)訪問數(shù)據(jù)庫都能維持?jǐn)?shù)據(jù)庫的完整性、一致性;最后再考慮用自寫業(yè)務(wù)邏輯實(shí)現(xiàn),但這種方式效率最低、編程最復(fù)雜,當(dāng)為下下之策。

2.什么是事務(wù)?什么是鎖?

答:事務(wù)是指一個工作單元,它包含了一組數(shù)據(jù)操作命令,并且所有的命令作為一個整體一起向系統(tǒng)提交或撤消請求操作,即這組命令要么都執(zhí)行,要么都不執(zhí)行。

  鎖是在多用戶環(huán)境中對數(shù)據(jù)的訪問的限制。SqlServer自動鎖定特定記錄、字段或文件,防止用戶訪問,以維護(hù)數(shù)據(jù)安全或防止并發(fā)數(shù)據(jù)操作問題,鎖可以保證事務(wù)的完整性和并發(fā)性。

 3.什么是索引,有什么優(yōu)點(diǎn)?

答:索引象書的目錄類似,索引使數(shù)據(jù)庫程序無需掃描整個表,就可以在其中找到所需要的數(shù)據(jù),索引包含了一個表中包含值的列表,其中包含了各個值的行所存儲的位置,索引可以是單個或一組列,索引提供的表中數(shù)據(jù)的邏輯位置,合理劃分索引能夠大大提高數(shù)據(jù)庫性能。

 4.視圖是什么?游標(biāo)是什么?

答:視圖是一種虛擬表,虛擬表具有和物理表相同的功能,可以對虛擬表進(jìn)行增該查操作;

    視圖通常是一個或多個表的行或列的子集;

   視圖的結(jié)果更容易理解(修改視圖對基表不影響),獲取數(shù)據(jù)更容易(相比多表查詢更方便),限制數(shù)據(jù)檢索(比如需要隱藏某些行或列),維護(hù)更方便。

   游標(biāo)對查詢出來的結(jié)果集作為一個單元來有效的處理,游標(biāo)可以定位在結(jié)果集的特定行、從結(jié)果集的當(dāng)前位置檢索一行或多行、可以對結(jié)果集中當(dāng)前位置進(jìn)行修改、

 5.什么是存儲過程?有什么優(yōu)點(diǎn)?

答:存儲過程是一組予編譯的SQL語句

    它的優(yōu)點(diǎn):1.允許模塊化程序設(shè)計(jì),就是說只需要創(chuàng)建一次過程,以后在程序中就可以調(diào)用該過程任意次。

              2.允許更快執(zhí)行,如果某操作需要執(zhí)行大量SQL語句或重復(fù)執(zhí)行,存儲過程比SQL語句執(zhí)行的要快。

               3.減少網(wǎng)絡(luò)流量,例如一個需要數(shù)百行的SQL代碼的操作有一條執(zhí)行語句完成,不需要在網(wǎng)絡(luò)中發(fā)送數(shù)百行代碼。

        4.更好的安全機(jī)制,對于沒有權(quán)限執(zhí)行存儲過程的用戶,也可授權(quán)他們執(zhí)行存儲過程。

 6.什么是觸發(fā)器?

答:觸發(fā)器是一種特殊類型的存儲過程,出發(fā)器主要通過事件觸發(fā)而被執(zhí)行的,

  觸發(fā)器的優(yōu)點(diǎn):1.強(qiáng)化約束,觸發(fā)器能夠提供比CHECK約束;

         2.跟蹤變化,觸發(fā)器可以跟蹤數(shù)據(jù)庫內(nèi)的操作,從而不允許未經(jīng)允許許可的更新和變化;

         3.聯(lián)級運(yùn)算,比如某個表上的觸發(fā)器中包含對另一個表的數(shù)據(jù)操作,而該操作又導(dǎo)致該表上的觸發(fā)器被觸發(fā)

 7.簡單介紹下ADO.NET和ADO主要有什么改進(jìn)?

答:ADO以Recordset存儲,而ADO.NET則以DataSet表示,ADO.NET提供了數(shù)據(jù)集和數(shù)據(jù)適配器,有利于實(shí)現(xiàn)分布式處理,降低了對數(shù)據(jù)庫服務(wù)器資源的消耗。

 7.1 ASP.NET與ASP相比,主要有哪些進(jìn)步?

答:ASP.NET實(shí)現(xiàn)了面向?qū)ο缶幊?,預(yù)編譯的服務(wù)器端代碼而不像ASP那樣解釋執(zhí)行提高了性能,代碼分離易于管理,可訂制和擴(kuò)展性,功能強(qiáng)大的開發(fā)工作,更好的安全機(jī)制。

 7.2 C#中的委托是什么?事件是不是一種委托?

答:委托本質(zhì)上是一種“方法接口”,它相當(dāng)于C/C++中的函數(shù)指針,當(dāng)然它比函數(shù)指針安全,在C#中通常用于事件處理。

     事件不是委托,不過由于事件的性質(zhì)決定了處理它的程序邏輯能訪問的參數(shù),因此,在C#中處理事件的邏輯都包裝為委托。

 8.如何把一個array復(fù)制到arrayist里

答:foreach( object arr in array)arrayist.Add(arr);

 8.1 列舉ADO.NET中的五個主要對象,并簡單描述

答:Connection連接對象,Command執(zhí)行命令和存儲過程,DataReader向前只讀的數(shù)據(jù)流,DataAdapter適配器,支持增刪查詢,DataSet數(shù)據(jù)級對象,相當(dāng)與內(nèi)存里的一張或多張表。

 9.概述三層結(jié)構(gòu)體系

答:表示層(UI),業(yè)務(wù)邏輯層(BLL),數(shù)據(jù)訪問層(DAL)

 10.什么是裝箱和拆箱?什么是重載?

答:裝箱就是把值類型轉(zhuǎn)成引用類型,拆箱相反把引用轉(zhuǎn)換成值類型。

  重載就是指一個方法名相同,參數(shù)個數(shù)不相同,返回值可以相同的方法。

11.簡述WebService

答:WebService服務(wù)可以描述為可以在web上部署并可以被任何應(yīng)用程序或其他服務(wù)調(diào)用的功能。所謂服務(wù)就是系統(tǒng)提供一組接口,并通過接口使用系統(tǒng)提供的功能,WebService服務(wù)可以提供任何企業(yè)到客戶,企業(yè)到企業(yè),點(diǎn)對點(diǎn)或部門對部門通訊所需的服務(wù),比如一個公司可以通過網(wǎng)絡(luò)連接到另一個公司的服務(wù),從而直接傳遞訂購單。

12.面向?qū)ο蟮乃枷胫饕ㄊ裁矗?/strong>

答:繼承、封裝、多態(tài)

13.列舉一下你所了解的XML技術(shù)及其應(yīng)用

答:xml可以用來做網(wǎng)頁(xslt)、可以當(dāng)作數(shù)據(jù)庫、可以用來保存對象的系列化(web服務(wù)好象是基于這個的)。xml用于配置,用于保存靜態(tài)數(shù)據(jù)類型.接觸XML最多的是web Services和config

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

答:接口,是可以多繼承,類只有單繼承.接口強(qiáng)調(diào)了你必須實(shí)現(xiàn),而沒有具本實(shí)現(xiàn)的方法和虛類有點(diǎn)相似。

15.new 關(guān)鍵字用法

答:(1)new 運(yùn)算符 用于創(chuàng)建對象和調(diào)用構(gòu)造函數(shù)。

     (2)new 修飾符 用于向基類成員隱藏繼承成員。

     (3)new 約束   用于在泛型聲明中約束可能用作類型參數(shù)的參數(shù)的類型。

14.DataGrid的Datasouse可以連接什么數(shù)據(jù)源

答:DataTabe,DataView,DataSet,DataViewManager,任何實(shí)現(xiàn)IListSource接口的組件,任何實(shí)現(xiàn)IList接口的組件

15.概述反射和序列化

答:反射:公共語言運(yùn)行庫加載器管理應(yīng)用程序域。這種管理包括將每個程序集加載到相應(yīng)的應(yīng)用程序域以及控制每個程序集中類型層次結(jié)構(gòu)的內(nèi)存布局。程序集包含模塊,而模塊包含類型,類型又包含成員。反射則提供了封裝程序集、模塊和類型的對象。您可以使用反射動態(tài)地創(chuàng)建類型的實(shí)例,將類型綁定到現(xiàn)有對象,或從現(xiàn)有對象中獲取類型。然后,可以調(diào)用類型的方法或訪問其字段和屬性。

  序列化:序列化是將對象狀態(tài)轉(zhuǎn)換為可保持或傳輸?shù)母袷降倪^程。與序列化相對的是反序列化,它將流轉(zhuǎn)換為對象。這兩個過程結(jié)合起來,可以輕松地存儲和傳輸數(shù)據(jù)。

16.概述O/R Mapping 的原理

答:利用反射,配置將對象和數(shù)據(jù)庫表映射。

 17.可訪問性級別有哪幾種

答:pubic 訪問不受限制。

  protected 訪問僅限于包含類或從包含類派生的類型。

  internal 訪問僅限于當(dāng)前程序集。

  protected internal 訪問僅限于從包含類派生的當(dāng)前程序集或類型。

  private 訪問僅限于包含類型。

 18.sealed修飾符有什么特點(diǎn)

答:sealed 修飾符可以應(yīng)用于類、實(shí)例方法和屬性。

    密封類不能被繼承;

 密封方法會重寫基類中的方法,但其本身不能在任何派生類中進(jìn)一步重寫。當(dāng)應(yīng)用于方法或?qū)傩詴r,sealed 修飾符必須始終與 override一起使用。

 19.列舉ADO.NET中的共享類和數(shù)據(jù)庫特定類

答:共享類:DataSet,DataTable,DataRow,DataColumn,DataRealtion,Constraint,DataColumnMapping,DataTableMapping

  特定類:(x)Connection,(x)Command,(x)CommandBuilder,(x)DataAdapter,(x)DataReader,(x)Parameter,(x)Transaction

 20.C#中,string str = null 與 string str ="",請盡量用文字說明區(qū)別

答:string str=""初始化對象分配空間,而stringstr=null初始化對象

 21.詳述.NET里class和struct的異同

答:結(jié)構(gòu)與類共享幾乎所有相同的語法,但結(jié)構(gòu)比類受到的限制更多:盡管結(jié)構(gòu)的靜態(tài)字段可以初始化,結(jié)構(gòu)實(shí)例字段聲明還是不能使用初始值設(shè)定項(xiàng)。

  結(jié)構(gòu)不能聲明默認(rèn)構(gòu)造函數(shù)(沒有參數(shù)的構(gòu)造函數(shù))或析構(gòu)函數(shù)。

  結(jié)構(gòu)的副本由編譯器自動創(chuàng)建和銷毀,因此不需要使用默認(rèn)構(gòu)造函數(shù)和析構(gòu)函數(shù)。實(shí)際上,編譯器通過為所有字段賦予默認(rèn)值(參見默認(rèn)值表)來實(shí)現(xiàn)默認(rèn)構(gòu)造函數(shù)。

  結(jié)構(gòu)不能從類或其他結(jié)構(gòu)繼承。

  結(jié)構(gòu)是值類型 -- 如果從結(jié)構(gòu)創(chuàng)建一個對象并將該對象賦給某個變量,變量則包含結(jié)構(gòu)的全部值。復(fù)制包含結(jié)構(gòu)的變量時,將復(fù)制所有數(shù)據(jù),對新副本所做的任何修改都不會改變舊副本的數(shù)據(jù)。

  由于結(jié)構(gòu)不使用引用,因此結(jié)構(gòu)沒有標(biāo)識 -- 具有相同數(shù)據(jù)的兩個值類型實(shí)例是無法區(qū)分的。C# 中的所有值類型本質(zhì)上都繼承自ValueType,后者繼承自 Object。編譯器可以在一個稱為裝箱的過程中將值類型轉(zhuǎn)換為引用類型。

結(jié)構(gòu)具有以下特點(diǎn):

  結(jié)構(gòu)是值類型,而類是引用類型。

  向方法傳遞結(jié)構(gòu)時,結(jié)構(gòu)是通過傳值方式傳遞的,而不是作為引用傳遞的。

  與類不同,結(jié)構(gòu)的實(shí)例化可以不使用 new 運(yùn)算符。

  結(jié)構(gòu)可以聲明構(gòu)造函數(shù),但它們必須帶參數(shù)。

  一個結(jié)構(gòu)不能從另一個結(jié)構(gòu)或類繼承,而且不能作為一個類的基。所有結(jié)構(gòu)都直接繼承自 System.ValueType,后者繼承自 System.Object。

  結(jié)構(gòu)可以實(shí)現(xiàn)接口。

  在結(jié)構(gòu)中初始化實(shí)例字段是錯誤的。

 22.什么叫應(yīng)用程序域?什么是托管代碼?什么是強(qiáng)類型系統(tǒng)?什么是裝箱和拆箱?什么是重載? CTS、CLS和CLR分別作何解釋?

答:應(yīng)用程序域:應(yīng)用程序域?yàn)榘踩?、可靠性、版本控制以及卸載程序集提供了隔離邊界。應(yīng)用程序域通常由運(yùn)行庫宿主創(chuàng)建,運(yùn)行庫宿主負(fù)責(zé)在運(yùn)行應(yīng)用程序之前引導(dǎo)公共語言運(yùn)行庫。應(yīng)用程序域提供了一個更安全、用途更廣的處理單元,公共語言運(yùn)行庫可使用該單元提供應(yīng)用程序之間的隔離。

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

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

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

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

  CTS通用類型系統(tǒng) (common type system) :一種確定公共語言運(yùn)行庫如何定義、使用和管理類型的規(guī)范。

  CLR公共語言運(yùn)行庫:.NET Framework 提供了一個稱為公共語言運(yùn)行庫的運(yùn)行時環(huán)境,它運(yùn)行代碼并提供使開發(fā)過程更輕松的服務(wù)。

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

23.值類型和引用類型的區(qū)別?

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

  所有的值類型均隱式派生自 System.ValueType。與引用類型不同,從值類型不可能派生出新的類型。但與引用類型相同的是,結(jié)構(gòu)也可以實(shí)現(xiàn)接口。

  與引用類型不同,值類型不可能包含 null 值。然而,可空類型功能允許將null 賦給值類型。 每種值類型均有一個隱式的默認(rèn)構(gòu)造函數(shù)來初始化該類型的默認(rèn)值。

  值類型主要由兩類組成:結(jié)構(gòu)、枚舉; 結(jié)構(gòu)分為以下幾類:Numeric(數(shù)值)類型、整型、浮點(diǎn)型、decimal、bool、用戶定義的結(jié)構(gòu)。

  引用類型的變量又稱為對象,可存儲對實(shí)際數(shù)據(jù)的引用。聲明引用類型的關(guān)鍵字:class、interface、delegate、內(nèi)置引用類型: object、string

24.如何理解委托

答:委托類似于 C++ 函數(shù)指針,但它是類型安全的。委托允許將方法作為參數(shù)進(jìn)行傳遞。委托可用于定義回調(diào)方法。委托可以鏈接在一起;例如,可以對一個事件調(diào)用多個方法。方法不需要與委托簽名精確匹配。有關(guān)更多信息,請參見協(xié)變和逆變。C# 2.0 版引入了匿名方法的概念,此類方法允許將代碼塊作為參數(shù)傳遞,以代替單獨(dú)定義的方法。

25.C#中的接口和類有什么異同?

答:異:接口不能直接實(shí)例化。

    接口不包含方法的實(shí)現(xiàn)。

    接口、類和結(jié)構(gòu)可從多個接口繼承。但是C#類只支持單繼承:類只能從一個基類繼承實(shí)現(xiàn)。類定義可在不同的源文件之間進(jìn)行拆分。

  同:接口、類和結(jié)構(gòu)可從多個接口繼承。

    接口類似于抽象基類:繼承接口的任何非抽象類型都必須實(shí)現(xiàn)接口的所有成員。

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

26.ASP.net的身份驗(yàn)證方式有哪些?

答:Windows 身份驗(yàn)證提供程序:提供有關(guān)如何將Windows 身份驗(yàn)證與Microsoft Internet 信息服務(wù) (IIS) 身份驗(yàn)證結(jié)合使用來確保 ASP.NET 應(yīng)用程序安全的信息。

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

  Passport 身份驗(yàn)證提供程序:提供有關(guān)由Microsoft 提供的集中身份驗(yàn)證服務(wù)的信息,該服務(wù)為成員站點(diǎn)提供單一登錄和核心配置

27.活動目錄的作用

答:Active Directory存儲了有關(guān)網(wǎng)絡(luò)對象的信息,并且讓管理員和用戶能夠輕松地查找和使用這些信息。

  Active Directory使用了一種結(jié)構(gòu)化的數(shù)據(jù)存儲方式,并以此作為基礎(chǔ)對目錄信息進(jìn)行合乎邏輯的分層組織。

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

答:UDDI:統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議(UDDI, Universa Description, Discovery and Integration)是一套基于Web的、分布式的、為Web服務(wù)提供的信息注冊中心的實(shí)現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時也包含一組使企業(yè)能將自身提供的Web服務(wù)注冊以使得別的企業(yè)能夠發(fā)現(xiàn)的訪問協(xié)議的實(shí)現(xiàn)標(biāo)準(zhǔn)。UDDI 提供了一組基于標(biāo)準(zhǔn)的規(guī)范用于描述和發(fā)現(xiàn)服務(wù),還提供了一組基于因特網(wǎng)的實(shí)現(xiàn)。

  WSDL:WSDL描述Web服務(wù)的公共接口。這是一個基于XML的關(guān)于如何與Web服務(wù)通訊和使用的服務(wù)描述;

  作用: 服務(wù) URL 和命名空間 :網(wǎng)絡(luò)服務(wù)的類型(可能還包括SOAP 的函數(shù)調(diào)用,正像我所說過的,WSDL足夠自如地去描述網(wǎng)絡(luò)服務(wù)的廣泛內(nèi)容)。有效函數(shù)列表,每個函數(shù)的參數(shù),每個參數(shù)的類型 ,每個函數(shù)的返回值及其數(shù)據(jù)類型。

 29.什么是SOAP?

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

  SOAP 是一種輕量級協(xié)議,用于在分散型、分布式環(huán)境中交換結(jié)構(gòu)化信息。 SOAP 利用 XML 技術(shù)定義一種可擴(kuò)展的消息處理框架,它提供了一種可通過多種底層協(xié)議進(jìn)行交換的消息結(jié)構(gòu)。這種框架的設(shè)計(jì)思想是要獨(dú)立于任何一種特定的編程模型和其他特定實(shí)現(xiàn)的語義。

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

 30.如何部署一個ASP.net頁面?

答:VS 2005和VS 2003都有發(fā)布機(jī)制。2003可以發(fā)布然后再復(fù)制部署。VS2005基本上可以直接部署到對應(yīng)位置。

 31.如何理解.net中的垃圾回收機(jī)制?

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

 32.概述.NET中的GC機(jī)制。

答:GC的全稱是garbage collection,中文名稱垃圾回收,是.NET中對內(nèi)存管理的一種功能。垃圾回收器跟蹤并回收托管內(nèi)存中分配的對象,定期執(zhí)行垃圾回收以回收分配給沒有有效引用的對象的內(nèi)存。當(dāng)使用可用內(nèi)存不能滿足內(nèi)存請求時,GC會自動進(jìn)行。

  在進(jìn)行垃圾回收時,垃圾回收器會首先搜索內(nèi)存中的托管對象,然后從托管代碼中搜索被引用的對象并標(biāo)記為有效,接著釋放沒有被標(biāo)記為有效的對象并收回內(nèi)存,最后整理內(nèi)存將有效對象挪動到一起

33.GC是什么? 為什么要有GC?

答:GC是垃圾收集器。程序員不用擔(dān)心內(nèi)存管理,因?yàn)槔占鲿詣舆M(jìn)行管理。要請求垃圾收集,可以調(diào)用下面的方法之一:
System.gc()
Runtime.getRuntime().gc()

 33.ASP.NET中常見內(nèi)置對象?

答:Response、Request、Server、Session、Application、Cookie

 34.死鎖的必要條件?怎么克服?

答:系統(tǒng)的資源不足,進(jìn)程的推進(jìn)的順序不合適,資源分配不當(dāng),一個資源每次只能被一個進(jìn)程使用,一個資源請求資源時,而此時這個資源已阻塞,對已獲得資源不放,進(jìn)程獲得資源時,未使用完前,不能強(qiáng)行剝奪。

35.接口是否可以繼承接口?抽象類是否可以實(shí)現(xiàn)接口?抽象類是否可以繼承實(shí)體類?

答:接口是可以繼承接口的,抽象類是可以實(shí)現(xiàn)接口的,抽象類可以繼承實(shí)體類,但是有個條件,條件是,實(shí)體類必須要有明確的構(gòu)造函數(shù)。

 36.構(gòu)造器Constructor是否可以被繼承?是否可以被Override?

答:Constructor不可以被繼承,因此不能被重寫(Overriding),但可以被重載(Overloading).

37.是否可以繼承String類?

答:因?yàn)镾tring類是final類所以不可以繼承string類。

38.當(dāng)一個線程進(jìn)入一個對象的方法后,其它線程是否可以進(jìn)入該對象的方法?

答:不可以,一個對象的方法只能由一個線程訪問。

 39.用最有效的方法算出2乘以8等于幾?

答:2<<3.

40.C#是否可以對內(nèi)存直接進(jìn)行操作?

答:C#是可以對內(nèi)存進(jìn)行直接操作的,雖然很少用到指針,但是C#是可以使用指針的,在用的時候需要在前邊加unsafe,,在.net中使用了垃圾回收機(jī)制(GC)功能,它替代了程序員,不過在C#中不可以直接使用finalize方法,而是在析構(gòu)函數(shù)中調(diào)用基類的finalize()方法。

41.數(shù)組有沒有Length()這和方法?string有沒有這個方法?

答:數(shù)組中沒有這個方法,但有這個屬性,string中有這個方法。

42.Error和Exception有是區(qū)別?

答:error表示恢復(fù)不是不可能,但是很困難,exception表示一種實(shí)際或?qū)崿F(xiàn)問題,它表示程序運(yùn)行正常不可以發(fā)生的。

43.HashMap和Hashtable區(qū)別?

答:HashMap是Hashtable的輕量級實(shí)現(xiàn),非線程安全的實(shí)現(xiàn)他們都實(shí)現(xiàn)了map接口,主要區(qū)別是HashMap鍵值可以為空null,效率可以高于Hashtable。

44.Collection和Collections的區(qū)別?

答:Collection是集合類的上級接口,Collections是針對集合類的一個幫助類,它提供一系列靜態(tài)方法來實(shí)現(xiàn)對各種集合的搜索,排序,線程安全化操作。

45.Override, Overload,的區(qū)別?

答:Override是重寫的意思,它表示重寫基類的方法,而且方法的名稱,返回類型,參數(shù)類型,參數(shù)個數(shù)要與基類相同。

  Overload是重載是意思,它也表示重寫基類的方法,但是只要方法名相同,別的可以不同。

46.在一個BS結(jié)構(gòu)中需要傳遞變量值時,不能使用session,cookie,application,你有幾中方法?

答:this.server.Transfer,Querystring.

47.C#種索引器實(shí)現(xiàn)過程,是否只能根據(jù)數(shù)字索引?

答:不是的,可以是任意類型。

48.Const和ReadOnly?

答:Const用來申明編程時申明常量,ReadOnly用來申明運(yùn)行時常量。

 49.UDP和TCP連接有和異同?

答:TCP是傳輸控制協(xié)議,提供的是面向連接的,是可靠的,字節(jié)流服務(wù),當(dāng)用戶和服務(wù)器彼此進(jìn)行數(shù)據(jù)交互的時候,必須在他們數(shù)據(jù)交互前要進(jìn)行TCP連接之后才能傳輸數(shù)據(jù)。TCP提供超時重?fù)?,檢驗(yàn)數(shù)據(jù)功能。

  UDP是用戶數(shù)據(jù)報(bào)協(xié)議,是一個簡單的面向數(shù)據(jù)報(bào)的傳輸協(xié)議,是不可靠的連接。

50.進(jìn)程和線程分別該怎么理解?

答:進(jìn)程是比線程大的程序運(yùn)行單元,都是由操作系統(tǒng)所體會的系統(tǒng)運(yùn)行單元

    一個程序中至少要有一個進(jìn)程,一個進(jìn)程中,至少要有一個線程,線程的劃分尺度要比進(jìn)程要小,進(jìn)程擁有獨(dú)立的內(nèi)存單元,線程是共享內(nèi)存,從而極大的提高了程序的運(yùn)行效率同一個進(jìn)程中的多個線程可以并發(fā)執(zhí)行。

 51.在.NET中所有類的基類是?

答:object。

 52.能用foreach遍歷訪問的對象需要實(shí)現(xiàn)?

答:需要實(shí)現(xiàn)IEnumerable接口和GetEnumerator()方法。

 53.Heap與stack的差別?

答:Heap是堆,空間是由手動操作分配和釋放的,它的存儲區(qū)很大的自由存儲區(qū)。

  Stack是棧,是由是操作系統(tǒng)自動分配和釋放的,棧上的空間是有限的。程序在編譯期間變量和函數(shù)分配內(nèi)存都是在棧上進(jìn)行的,且在運(yùn)行時函數(shù)調(diào)用時的參數(shù)的傳遞也是在棧上進(jìn)行的。

 54.請編程遍歷頁面上所有TextBox控件并給它賦值為string.Empty?

答:

foreach(System.Windows.Forms.Control control in this.Controls)

  {

    if (control is  System.Windows.Forms.TextBox)

    {

      System.Windows.Forms.TextBox tb =(System.Windows.Forms.TextBox)control ;

       tb.Text = String.Empty ;

    }

  }

55.請編程實(shí)現(xiàn)一個冒泡排序算法?

答:

int [] array= new int [*] ;

  int temp = 0 ;

  for (int i = 0 ; i < array.Length - 1 ;i++)

  {

    for (int j = i + 1 ; j < array.Length ;j++)

    {

      if (array[j] < array[i])

      {

        temp = array[i] ;

        array[i] = array[j] ;

        array[j] = temp ;

      }

    }

  }

56.求以下表達(dá)式的值,寫出您想到的一種或幾種實(shí)現(xiàn)方法: 1-2+3-4+……+m

答:

int Num =this.TextBox1.Text.ToString() ;

  int Sum = 0 ;

  for (int i = 0 ; i < Num + 1 ; i++)

  {

    if((i%2) == 1)

    {

      Sum += i ;

    }

    else

    {

      Sum = Sum - i ;

    }

  }

  Console.WriteLine(Sum.ToString());

  Console.ReadLine() ;

58.什么是受管制的代碼?

答:unsafe:非托管代碼。不經(jīng)過CLR運(yùn)行。

59.在.net中,配件的意思是?

答:程序集。(中間語言,源數(shù)據(jù),資源,裝配清單)

60.常用的調(diào)用WebService的方法有哪些?

答:1.使用WSDL.exe命令行工具。

    2.使用VS.NET中的Add Web Reference菜單選項(xiàng)

61. .net Remoting 的工作原理是什么?

答:服務(wù)器端向客戶端發(fā)送一個進(jìn)程編號,一個程序域編號,以確定對象的位置。

62.根據(jù)線程安全的相關(guān)知識,分析以下代碼,當(dāng)調(diào)用test方法時i>10時是否會引起死鎖?并簡要說明理由。

public void test(int i)

{

  lock(this)

  {

    if (i>10)

    {

      i--;

      test(i);

    }

  }

}

答:不會發(fā)生死鎖,(但有一點(diǎn)int是按值傳遞的,所以每次改變的都只是一個副本,因此不會出現(xiàn)死鎖。但如果把int換做一個object,那么死鎖會發(fā)生)

 63.簡要談您對微軟.NET 構(gòu)架下remoting和webservice兩項(xiàng)技術(shù)的理解以及實(shí)際中的應(yīng)用。

答:WS主要是可利用HTTP,穿透防火墻。而Remoting可以利用TCP/IP,二進(jìn)制傳送提高效率。

  remoting是.net中用來跨越machine,process, appdomain進(jìn)行方法調(diào)用的技術(shù),對于三層結(jié)構(gòu)的程序,就可以使用remoting技術(shù)來構(gòu)建.它是分布應(yīng)用的基礎(chǔ)技術(shù).相當(dāng)于以前的DCOM。

  Web Service是一種構(gòu)建應(yīng)用程序的普通模型,并能在所有支持internet網(wǎng)通訊的操作系統(tǒng)上實(shí)施。Web Service令基于組件的開發(fā)和web的結(jié)合達(dá)到最佳,基于組件的對象模型。

 64.公司要求開發(fā)一個繼承System.Windows.Forms.ListView類的組件,要求達(dá)到以下的特殊功能:點(diǎn)擊ListView各列列頭時,能按照點(diǎn)擊列的每行值進(jìn)行重排視圖中的所有行 (排序的方式如DataGrid相似)。根據(jù)您的知識,請簡要談一下您的思路

答:根據(jù)點(diǎn)擊的列頭,包該列的ID取出,按照該ID排序后,在給綁定到ListView中。

65.給定以下XML文件,完成算法流程圖。

<FileSystem>

  < DriverC >

    <Dir DirName=”MSDOS622”>

      <File FileName =” Command.com”></File>

    </Dir>

    <File FileName =”MSDOS.SYS” ></File>

    <File FileName =” IO.SYS”></File>

  </DriverC>

</FileSystem>

請畫出遍歷所有文件名(FileName)的流程圖(請使用遞歸算法)。

答:

voidFindFile( Directory d )

   {

    FileOrFolders = d.GetFileOrFolders();

    foreach( FileOrFolder fof in FileOrFolders)

    {

      if(fof  is  File)

        You Found a file;

      else if (fof is Directory)

        FindFile( fof );

}

}

方法二

  Public void DomDepthFirst(XmlNode currentNode)
{
    XmlNode node=currentNode.FirstChild;
    while(node!=null)
    {

        if(node.Name=="File")
        {
              Console.Write(((XmlElement)node).GetAttribute("FileName")+"\r\n");
         }

          DomDepthFirst(node);
          node=node.NextSibling;
    }

}

 66.String s = new String("xyz");創(chuàng)建了幾個String Object?

答:兩個對象,一個是“xyx”,一個是指向“xyx”的引用對像s。

 67.abstract class和interface有什么區(qū)別?

答:聲明方法的存在而不去實(shí)現(xiàn)它的類被叫做抽像類(abstract class),它用于要創(chuàng)建一個體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實(shí)現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實(shí)例。然而可以創(chuàng)建一個變量,其類型是一個抽像類,并讓它指向具體子類的一個實(shí)例。不能有抽像構(gòu)造函數(shù)或抽像靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽像方法提供實(shí)現(xiàn),否則它們也是抽像類為。取而代之,在子類中實(shí)現(xiàn)該方法。知道其行為的其它類可以在類中實(shí)現(xiàn)這些方法。

  接口(interface)是抽像類的變體。在接口中,所有方法都是抽像的。多繼承性可通過實(shí)現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽像的,沒有一個有程序體。接口只可以定義static final成員變量。接口的實(shí)現(xiàn)與子類相似,除了該實(shí)現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實(shí)現(xiàn)特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實(shí)現(xiàn)了該接口的類的任何對像上調(diào)用接口的方法。由于有抽像類,它允許使用接口名作為引用變量的類型。通常的動態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,instanceof 運(yùn)算符可以用來決定某對象的類是否實(shí)現(xiàn)了接口。

 68.啟動一個線程是用run()還是start()?

答:啟動一個線程是調(diào)用start()方法,使線程所代表的虛擬處理機(jī)處于可運(yùn)行狀態(tài),這意味著它可以由JVM調(diào)度并執(zhí)行。這并不意味著線程就會立即運(yùn)行。

  run()方法可以產(chǎn)生必須退出的標(biāo)志來停止一個線程。

69.兩個對像值相同(x.equals(y)== true),但卻可有不同的hashcode,這句話對不對?

答:不對,有相同的hashcode。

 70.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

答:switch(expr1)中,expr1可以是一個整型,字符或字符串,因此可以作用在byte和long上,也可以作用在string上。

 71.當(dāng)一個線程進(jìn)入一個對象的一個synchronized方法后,其它線程是否可進(jìn)入此對象的其它方法?

答:不能,一個對象的一個synchronized方法只能由一個線程訪問。

 72.abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?

答:都不能。

 73.List, Set, Map是否繼承自Collection接口?

答:List,Set是,Map不是

74.Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們有何區(qū)別?

答:Set里的元素是不能重復(fù)的,那么用iterator()方法來區(qū)分重復(fù)與否。equals()是判讀兩個Set是否相等。

  equals()和==方法決定引用值是否指向同一對像,equals()在類中被覆蓋,為的是當(dāng)兩個分離的對象的內(nèi)容和類型相配的話,返回真值。

75.sleep() 和 wait() 有什么區(qū)別?

答:sleep()方法是將當(dāng)前線程掛起指定的時間。

  wait()釋放對象上的鎖并阻塞當(dāng)前線程,直到它重新獲取該鎖。

76.short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 += 1;有什么錯?

答:short s1 =1; s1 = s1 + 1;有錯,

  s1是short型,s1+1是int型,不能顯式轉(zhuǎn)化為short型??尚薷臑閟1=(short)(s1 + 1) 。short s1 = 1;s1 += 1正確。

77.談?wù)刦inal,finally, finalize的區(qū)別。

答:final-修飾符(關(guān)鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中 不被改變。被聲明為final的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修改。被聲明為 final的方法也同樣只能使用,不能重載

  finally-再異常處理時提供 finally 塊來執(zhí)行任何清除操作。如果拋出一個異常,那么相匹配的 catch 子句就會執(zhí)行,然后控制就會進(jìn)入 finally 塊(如果有的話)。

  finalize-方法名。Java 技術(shù)允許使用finalize() 方法在垃圾收集器將對像從內(nèi)存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調(diào)用的。它是在 Object 類中定義的 ,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize() 方法是在垃圾收集器刪除對像之前對這個對象調(diào)用的。

 78.如何處理幾十萬條并發(fā)數(shù)據(jù)?

答:用存儲過程或事務(wù)。取得最大標(biāo)識的時候同時更新。注意主鍵不是自增量方式,這種方法并發(fā)的時候是不會有重復(fù)主鍵的。取得最大標(biāo)識要有一個存儲過程來獲取.

 79.Session有什么重大BUG,微軟提出了什么方法加以解決?

答:是iis中由于有進(jìn)程回收機(jī)制,系統(tǒng)繁忙的話Session會丟失,可以用Sate server或SQL Server數(shù)據(jù)庫的方式存儲Session不過這種方式比較慢,而且無法捕獲Session的END事件。

 80.成員變量和成員函數(shù)前加static的作用?

答:它們被稱為常成員變量和常成員函數(shù),又被稱為類成員變量和類成員函數(shù)。分別用來反映類的狀態(tài)。比如類成員變量可以用來統(tǒng)計(jì)類實(shí)例的數(shù)量,類成員函數(shù)負(fù)責(zé)這種統(tǒng)計(jì)的動作。

81.請說明在.net中常用的幾種頁面間傳遞參數(shù)的方法,并說出他們的優(yōu)缺點(diǎn)。

答:session(viewstate)簡單,但易丟失

  application 全局

  cookie 簡單,但可能不支持,可能被偽造

  input type="hidden" 簡單,可能被偽造

  url參數(shù)簡單,顯示于地址欄,長度有限

  數(shù)據(jù)庫穩(wěn)定,安全,但性能相對弱

82.請指出GAC的含義?

答:全局程序集緩存。

 83.向服務(wù)器發(fā)送請求有幾種方式?

答:get,post。get一般為鏈接方式,post一般為按鈕方式。

 84.軟件開發(fā)過程一般有幾個階段?每個階段的作用?

答:需求分析,架構(gòu)設(shè)計(jì),代碼編寫,QA,部署

 85.在c#中using和new這兩個關(guān)鍵字有什么意義,請寫出你所知道的意義?using 指令 和語句 new 創(chuàng)建實(shí)例 new 隱藏基類中方法。

答:using 引入名稱空間或者使用非托管資源

  new 新建實(shí)例或者隱藏父類方法

86.需要實(shí)現(xiàn)對一個字符串的處理,首先將該字符串首尾的空格去掉,如果字符串中間還有連續(xù)空格的話,僅保留一個空格,即允許字符串中間有多個空格,但連續(xù)的空格數(shù)不可超過一個.

答:string inputStr=" xx xx ";

  inputStr = Regex.Replace(inputStr.Trim(),"*"," ");

87.什么叫做SQL注入,如何防止?請舉例說明。

答:利用sql語言漏洞獲得合法身份登陸系統(tǒng)。如身份驗(yàn)證的程序設(shè)計(jì)成:

  SqlCommand com=new SqlCommand("Select * from users where username='"+t_name.text+"' and pwd='"+t_pwd.text+"'");

  object obj=com.ExcuteScale();

  if(obj!=null)

    {

      //通過驗(yàn)證

    }

  這段代碼容易被sql注入。如用戶在t_name中隨便輸入,在t_pwd中輸入1' and 1='1  就可以進(jìn)入系統(tǒng)了。

 88.什么是ApplicationPool?

答:Web應(yīng)用,類似Thread Pool,提高并發(fā)性能。

89.什么是XML?

答:XML即可擴(kuò)展標(biāo)記語言。eXtensible Markup Language.標(biāo)記是指計(jì)算機(jī)所能理解的信息符號,通過此種標(biāo)記,計(jì)算機(jī)之間可以處理包含各種信息的文章等。如何定義這些標(biāo)記,即可以選擇國際通用的標(biāo)記語言,比如HTML,也可以使用象XML這樣由相關(guān)人士自由決定的標(biāo)記語言,這就是語言的可擴(kuò)展性。XML是從SGML中簡化修改出來的。它主要用到的有XML、XSL和XPath等。

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

答:用戶控件一般用在內(nèi)容多為靜態(tài),或者少許會改變的情況下.用的比較大.類似ASP中的include.但是功能要強(qiáng)大的多。

91.什么是code-Behind技術(shù)。

答:aspx,resx和cs三個后綴的文件,這個就是代碼分離.實(shí)現(xiàn)了HTML代碼和服務(wù)器代碼分離.方便代碼編寫和整理.

92.XML 與 HTML 的主要區(qū)別

答:1. XML是區(qū)分大小寫字母的,HTML不區(qū)分。

  2. 在HTML中,如果上下文清楚地顯示出段落或者列表鍵在何處結(jié)尾,那么你可以省略</p>或者</li>之類的結(jié)束 標(biāo)記。在XML中,絕對不能省略掉結(jié)束標(biāo)記。

  3. 在XML中,擁有單個標(biāo)記而沒有匹配的結(jié)束標(biāo)記的元素必須用一個 / 字符作為結(jié)尾。這樣分析器就知道不用查找結(jié)束標(biāo)記了。

  4. 在XML中,屬性值必須分裝在引號中。在HTML中,引號是可用可不用的。

  5. 在HTML中,可以擁有不帶值的屬性名。在XML中,所有的屬性都必須帶有相應(yīng)的值。

93.類成員有_____種可訪問形式?

答:this.; newClass().Method;

 94.在Asp.net中所有的自定義用戶控件都必須繼承自________?

答:Control。

95.在.Net中所有可序列化的類都被標(biāo)記為_____?

答:[serializable]

96.在.Net托管代碼中我們不用擔(dān)心內(nèi)存漏洞,這是因?yàn)橛辛薩_____?

答:GC

97.在.Net中,類System.Web.UI.Page 可以被繼承么?

答:可以。

98.net的錯誤處理機(jī)制是什么?

答:.net錯誤處理機(jī)制采用try->catch->finally結(jié)構(gòu),發(fā)生錯誤時,層層上拋,直到找到匹配的Catch為止。

99.利用operator聲明且僅聲明了==,有什么錯誤么?

答:要同時修改Equale和GetHash() ? 重載了"==" 就必須重載 "!="

100.某一密碼僅使用K、L、M、N、O共5個字母,密碼中的單詞從左向右排列,密碼單詞必須遵循如下規(guī)則:

(1) 密碼單詞的最小長度是兩個字母,可以相同,也可以不同

(2) K不可能是單詞的第一個字母

(3) 如果L出現(xiàn),則出現(xiàn)次數(shù)不止一次

(4) M不能使最后一個也不能是倒數(shù)第二個字母

(5) K出現(xiàn),則N就一定出現(xiàn)

(6) O如果是最后一個字母,則L一定出現(xiàn)

問題一:下列哪一個字母可以放在LO中的O后面,形成一個3個字母的密碼單詞?

A) K B)L C) M D) N

答案:B

問題二:如果能得到的字母是K、L、M,那么能夠形成的兩個字母長的密碼單詞的總數(shù)是多少?

A)1個 B)3個 C)6個 D)9個

答案:A

問題三:下列哪一個是單詞密碼?

A) KLLN B) LOML C) MLLO D)NMKO

答案:C

109.ADO.NET相對于ADO等主要有什么改進(jìn)?

答:1:ado.net不依賴于ole db提供程序,而是使用.net托管提供的程序,

  2:不使用com

  3:不在支持動態(tài)游標(biāo)和服務(wù)器端游

  4:,可以斷開connection而保留當(dāng)前數(shù)據(jù)集可用

  5:強(qiáng)類型轉(zhuǎn)換

  6:xml支持

110.大概描述一下ASP.NET服務(wù)器控件的生命周期

答:初始化 加載視圖狀態(tài)處理回發(fā)數(shù)據(jù) 加載 發(fā)送回發(fā)更改通知 處理回發(fā)事件 預(yù)呈現(xiàn) 保存狀態(tài) 呈現(xiàn) 處置 卸載

111.Anonymous Inner Class (匿名內(nèi)部類) 是否可以extends(繼承)其它類,是否可以implements(實(shí)現(xiàn))interface(接口)?

答:不能,可以實(shí)現(xiàn)接口

112.Static Nested Class 和 Inner Class的不同,說得越多越好

答:StaticNested Class是被聲明為靜態(tài)(static)的內(nèi)部類,它可以不依賴于外部類實(shí)例被實(shí)例化。而通常的內(nèi)部類需要在外部類實(shí)例化后才能實(shí)例化。

113.&和&&的區(qū)別

答:&是位運(yùn)算符,表示按位與運(yùn)算,&&是邏輯運(yùn)算符,表示邏輯與(and).

114.<%# %> 和 <% %> 有什么區(qū)別?

答:<%# %>表示綁定的數(shù)據(jù)源,<% %>是服務(wù)器端代碼塊

115.你覺得ASP.NET 2.0(VS2005)和你以前使用的開發(fā)工具(.Net 1.0或其他)有什么最大的區(qū)別?你在以前的平臺上使用的哪些開發(fā)思想(pattern/ architecture)可以移植到ASP.NET2.0上 (或者已經(jīng)內(nèi)嵌在ASP.NET 2.0中)

答:1、ASP.NET2.0把一些代碼進(jìn)行了封裝打包,所以相比1.0相同功能減少了很多代碼。

  2、同時支持代碼分離和頁面嵌入服務(wù)器端代碼兩種模式,以前1.0版本,.NET提示幫助只有在分離的代碼文件,無 法 在頁面嵌入服務(wù)器端代碼獲得幫助提示。

  3、代碼和設(shè)計(jì)界面切換的時候,2.0支持光標(biāo)定位.這個我比較喜歡。

  4、在綁定數(shù)據(jù),做表的分頁.UPDATE,DELETE,等操作都可以可視化操作,方便了初學(xué)者。

  5、在ASP.NET中增加了40多個新的控件,減少了工作量。

116.重載與覆蓋的區(qū)別?

答:1、方法的覆蓋是子類和父類之間的關(guān)系,是垂直關(guān)系;方法的重載是同一個類中方法之間的關(guān)系,是水平關(guān)系。

  2、覆蓋只能由一個方法,或只能由一對方法產(chǎn)生關(guān)系;方法的重載是多個方法之間的關(guān)系。

  3、覆蓋要求參數(shù)列表相同;重載要求參數(shù)列表不同。

  4、覆蓋關(guān)系中,調(diào)用那個方法體,是根據(jù)對象的類型(對像對應(yīng)存儲空間類型)來決定;重載關(guān)系,是根據(jù)調(diào)用時的實(shí)參表與形參表來選擇方法體的。

117.什么是WSE?目前最新的版本是多少?

答:WSE (WebService Extension)包來提供最新的WEB服務(wù)安全保證,最新版本2.0。

118.a=10,b=15,在不用第三方變量的前提下,把a(bǔ),b的值互換

答:a=a+b;b=a-b;a=a-b;

119.還有變態(tài)要求,需要代碼最短呢。有兩個結(jié)果:

1) a^=b^(b^=a^b); // 13個字節(jié)

2) a=b+(b=a)*0; // 11個字節(jié)

120.請簡述面向?qū)ο蟮亩鄳B(tài)的特性及意義!

答:面向?qū)ο蟮木幊淌褂昧伺缮^承以及虛函數(shù)機(jī)制.一個本來指向基類的對象指針可以指向其派生類的.并訪問從基類繼承而來的成員變量和函數(shù).而虛函數(shù)是專門為這個特性設(shè)計(jì)的,這個函數(shù)在每個基類的派生類中都是同一個名字,但函數(shù)體卻并不一定相同,派生類往往為實(shí)現(xiàn)自己的功能而修改這個虛函數(shù).這樣用一個指針就能夠?qū)崿F(xiàn)對多種不同的派生類的訪問, 并實(shí)現(xiàn)其派生類的特定功能(代碼 )

121.session喜歡丟值且占內(nèi)存,Cookis不安全,請問用什么辦法代替這兩種原始的方法

答:用ViewState,stateserver

122.對數(shù)據(jù)的并發(fā)采用什么辦法進(jìn)行處理較好。

答:可以控制連接池的連接數(shù)量,條件好的話可以用負(fù)載平衡

123.ADO.NET處理數(shù)據(jù)并發(fā)的方法和步驟?

答:開放式并發(fā),沒有用到數(shù)據(jù)庫的鎖,而依靠SQL語句判斷數(shù)據(jù)是否已經(jīng)變化了。

    步驟:通常使用VS提供的工具生成SQL語句,工具生成的結(jié)果實(shí)在不符合要求,才手工寫SQL語句。

124.動態(tài)創(chuàng)建的控件PostBack后是否可以保存下來,為什么?

答:ASP.NET框架不會為你保存,但可以手工保存到ViewState

 125.T-SQL中is null和null 的區(qū)別?

答:is null 和 null 區(qū)別相當(dāng)于 "是空盒子" 和 "空盒子"的區(qū)別

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • ASP.NET(C#) 面試總結(jié)面試題大全

    這篇文章主要介紹了ASP.NET(C#) 面試總結(jié)面試題大全,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2020-08-11

最新評論