![C#精華面試題及答案_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/29/be7471f9-4369-45cf-9a26-b24decd0c2b9/be7471f9-4369-45cf-9a26-b24decd0c2b91.gif)
![C#精華面試題及答案_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/29/be7471f9-4369-45cf-9a26-b24decd0c2b9/be7471f9-4369-45cf-9a26-b24decd0c2b92.gif)
![C#精華面試題及答案_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/29/be7471f9-4369-45cf-9a26-b24decd0c2b9/be7471f9-4369-45cf-9a26-b24decd0c2b93.gif)
![C#精華面試題及答案_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/29/be7471f9-4369-45cf-9a26-b24decd0c2b9/be7471f9-4369-45cf-9a26-b24decd0c2b94.gif)
![C#精華面試題及答案_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/29/be7471f9-4369-45cf-9a26-b24decd0c2b9/be7471f9-4369-45cf-9a26-b24decd0c2b95.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、注:紅色表示答案一選擇,填空題1. 在ADO.NET中,對于Command對象的ExecuteNonQuery()方法和ExecuteReader()方法,下面敘述錯誤的是(C)。a) insert、update、delete等操作的Sql語句主要用ExecuteNonQuery()方法來執(zhí)行;b) ExecuteNonQuery()方法返回執(zhí)行Sql語句所影響的行數(shù)。c) Select操作的Sql語句只能由ExecuteReader()方法來執(zhí)行;d) ExecuteReader()方法返回一個DataReder對象;2. 面向?qū)ο蟮恼Z言具有_繼承性_性、_封裝性_性、_多態(tài)性 性。3. 能
2、用foreach遍歷訪問的對象需要實現(xiàn) _接口或聲明_方法的類型。()答:IEnumerable 、 GetEnumerator()4. 在C#中,表示一個字符串的變量應(yīng)使用以下哪條語句定義?( B )A. CString str;B. string str;C. Dim str as stringD. char * str;5. 在C#編制的財務(wù)程序中,需要創(chuàng)建一個存儲流動資金金額的臨時變量,則應(yīng)使用下列哪條語句?( A )A. decimal theMoney;B. int theMoney;C. string theMoney;D. Dim theMoney as double6. C#
3、中,新建一字符串變量str,并將字符串”Toms Living Room”保存到串中,則應(yīng)該使用下列哪條語句?(B)A. string str = “Toms Living Room”;B. string str = “Toms Living Room”;C. string str(“Toms Living Room”);D. string str(“Tom”s Living Room”);7. 應(yīng)用ADO.NET 訪問數(shù)據(jù)時,Connection 對象的連接字符串中Initial Catalog 子串的含義是 ( A )A. Connection 對象連接到的數(shù)據(jù)庫的名稱 B. Connec
4、tion 對象的身份驗證信息C. Connection 對象的最大連接時間D. Connection 對象使用的緩存大小8. 使用Visual Studio .NET 的”新建C# 項目”創(chuàng)建一個名為”SimpleForm”的Windows表單應(yīng)用程序,則在生成_文件中可設(shè)置該程序集的Copyright、Trademark 等屬性信息.( D )A. Form1.resxB. SimpleForm.slnC. SimpleForm.csprojD. AssemblyInfo.cs9. C#程序中,為使變量myForm 引用的窗體對象顯示為對話框,必須: ( C )A. 使用myForm.Sho
5、wDailog 方法顯示對話框B. 將myForm 對象的isDialog 屬性設(shè)為trueC. 將myForm 對象的FormBorderStyle 枚舉屬性設(shè)置為FixedDialogD. 將變量myForm 改為引用System.Windows.Dialog 類的對象10. 下列哪些語言可以用來開發(fā)XML Web Service? ( A,B,C,D )A. CB. C+C. JavaD. C#11. Web 表單中,按鈕的默認(rèn)事件是 ( A )A. Click 事件B. Load 事件C. Init 事件D. Command 事件12. 關(guān)于ASP.NET 窗體應(yīng)用程序,下列說法哪些是
6、正確的? ( D )A. Web 窗體是在瀏覽器中進(jìn)行解釋執(zhí)行的B. Web 窗體程序中腳本和代碼必須嚴(yán)格分開C. Web 窗體程序產(chǎn)生的HTML 頁面只能運(yùn)行于IE 瀏覽器D. Web 窗體程序的代碼可以使用任何一種.NET 兼容的編程語言編寫13. 關(guān)于結(jié)構(gòu)類型,下列說法哪些是正確的? ( A )A. 結(jié)構(gòu)是值類型B. 結(jié)構(gòu)中不允許定義帶參數(shù)的實例構(gòu)造函數(shù);C. 結(jié)構(gòu)中不允許定義析構(gòu)函數(shù)D. 結(jié)構(gòu)中可以定義成員方法,但是方法內(nèi)不能使用this 指針E. 不能使用new 關(guān)鍵字創(chuàng)建結(jié)構(gòu)類型的實例14. 關(guān)于線程和進(jìn)程,下列說法哪些是正確的? ( A D )A. 線程是操作系統(tǒng)分配處理器時間的
7、基本單位;B. 進(jìn)程是操作系統(tǒng)分配處理器時間的基本單位;C. 一個線程可以屬于多個進(jìn)程;D. 一個進(jìn)程可以有多個線程;15. 為從某個網(wǎng)站訪問xml信息,應(yīng)使用( _)類的對象分析下載返回的xml文檔 (C D)A StreamReaderB TextReaderC XmlReaderD XmlTextReader16. 面向?qū)ο缶幊讨械摹崩^承”的概念是指(B)A 派生類對象可以不受限制地訪問所有的基類對象B 派生自同一個基類的不同類的對象具有一些共同特征C 對象之間通過消息進(jìn)行交互D 對象的內(nèi)部細(xì)節(jié)被隱藏17. 以下敘述正確的是( D )。A. 一條表達(dá)式中可以同時出現(xiàn)浮點(diǎn)數(shù)類型和decim
8、al類型B. 類可以繼承,并且可以多重繼承C. int, b=new int4,5 /創(chuàng)建了一個二維數(shù)組,第一維長為4,第二維長為5D. int x=23; object o=x; int y=(int) o; /實現(xiàn)了一次裝箱操作18. 以下有關(guān)結(jié)構(gòu)類型和枚舉類型的敘述錯誤的是( C)。A. 結(jié)構(gòu)類型和枚舉類型都是復(fù)合類型 B. 結(jié)構(gòu)類型只能是簡單值類型的組合C. 枚舉類型要求成員只能是整數(shù)類型 D. 枚舉類型的變量在某一時刻只19. 接口和類最主要的區(qū)別在于( D )。A類可以重載而接口不可以 B類不可以重載而接口可以C類可以多重重載而接口不可以 D類不可以多重重載而接口可以20. 關(guān)于靜
9、態(tài)域成員與非靜態(tài)域成員,以下說法正確的是( C )。A. 一個類的所有對象共享非靜態(tài)域成員 B. 一個類的一個對象分別擁有不同的非靜態(tài)域成員的實例C. 靜態(tài)域成員都能在不生成實例的情況下直接被使用 D. 非靜態(tài)域成員都能21. 關(guān)于重載,以下敘述錯誤的是(C,D)。A. 重載是指在類的內(nèi)部存在若干個方法名稱一致但是參數(shù)列表不同的方法B. 方法重載是指創(chuàng)建多個名稱相同的方法,其中每個方法都在某些方面具有唯一性,以便編譯器能夠正確區(qū)別它們C. 重載構(gòu)造函數(shù)主要是為了在創(chuàng)建對象的同時進(jìn)行賦值D. 方法的重載允許兩個方法的名稱和參數(shù)列表相同,而返回類型不同22. 下面有關(guān)C中方法的參數(shù)描述正確的是(B
10、 )。A. 利用值類型參數(shù)調(diào)用方法時,對形參的修改會反映到實參上去B. 輸出型參數(shù)的實參在傳遞給形參前,不需要明確賦值C. 引用型參數(shù)不另外開辟新的內(nèi)存區(qū)域,這一點(diǎn)是它與輸出型參數(shù)的不同之處D. 數(shù)組型參數(shù)可以是任何類型的數(shù)組23. 下面是一個派生類的定義語句:public class car: vehicle private string model=”L”; private int wheelNo=4;請指出針對該定義的正確的說法(C )。A. vehicle類是car類的一個特例,因而它可以被繼承B. car類是父類,vehicle類是子類C. 在car類中定義的成員model和whee
11、lNo會刪除vehicle類中同名的成員D. car類是vehicle類的一個特例,它可以繼承vehicle類中除構(gòu)造函數(shù)和析構(gòu)函24. (D )關(guān)鍵字可以用來訪問當(dāng)前對象的基類對象。Aobject Bthis Cas Dbase25. 重載是(B )的形式之一。A接口 B多態(tài) C繼承 D類26. x的初值為24,則表達(dá)式x+=x-+=x%=17運(yùn)算的結(jié)果值為(D )。A. 28 B27 C26 D錯誤的表達(dá)式27. 下面是幾條定義初始化二維數(shù)組的語句,指出其中正確的是(D )。Aint array2 =new int3,2; Bint array2,=new int3,2; Cint arr
12、ay2=new int3,2; Dint, array2=new int3,2;28. 一個初始化語句:enum monthesJanuary,February=3,March=5,April=7,May,June,則此時May的值為(C )。A4 B5 C8 D929. 在A中所有的自定義用戶控件都必須繼承自_? 答:Control。30. 在.Net中所有可序列化的類都被標(biāo)記為_? 答:serializable 31. 在.Net托管代碼中我們不用擔(dān)心內(nèi)存漏洞,這是因為有了_? 答:GC。32. 在.Net中,類System.Web.UI.Page 可以被繼承么?答:可以。33
13、. 聲明靜態(tài)變量的關(guān)鍵字是(static),聲明常量的關(guān)鍵字是(const) 34. 在流程控制中CONTINUE的作用(跳出當(dāng)前循環(huán)繼續(xù)下一次循環(huán))35. 軟件工程的三大文檔(需要分析說明書)(概要設(shè)計說明書)(詳細(xì)設(shè)計說明書)。 36. B/S通常使用的結(jié)構(gòu)設(shè)計模型分為(模型)(視圖)(控制器)。(MVC經(jīng)典的Web/Business/DataAccess) 37. XML的全稱是(Extensible Markup Language”可擴(kuò)展標(biāo)記語言”),提供了快速和有效地讀寫XML的方式的類分別是(XMLReader)(XMLWriter) 38. C#中所有的類型實質(zhì)上都是從(Obje
14、ct)類派生而來的。39. NET運(yùn)行庫支持被稱為(委托)的引用類型,其作用類似于C+中函數(shù)指針的用途。 40. B/S通常使用的結(jié)構(gòu)設(shè)計模型分為(模型)(視圖)(控制)?*41. 類的三大特性是(封裝)(繼承)(多態(tài)) 42. .NET運(yùn)行庫支持被稱為(委托)的引用類型,其作用類似于C+中函數(shù)指針的用途 43. C#中處理內(nèi)存管理功能的是(托管代碼GC(垃圾回收))44. 在C#中用于顯式地將一個值或引用轉(zhuǎn)換為另一種不同的類型稱為(拆箱)45. 在ADO。NET中,command對象是用(ExcuteNonQuery)(ExcuteScalar)(ExcuteDataReader)方法執(zhí)行命
15、令二簡答題1. 簡述 private、 protected、 public、 internal 修飾符的訪問權(quán)限。答:private : 私有成員, 在類的內(nèi)部才可以訪問。 protected : 保護(hù)成員,該類內(nèi)部和繼承類中可以訪問。 public : 公共成員,完全公開,沒有訪問限制。 internal: 在同一命名空間內(nèi)可以訪問。2. C#中,string str = null 與 string str =,請盡量用文字說明區(qū)別。答:string str = 分配空間而string str = null不分配空間。3.用sealed修飾的類有什么特點(diǎn)?答:不可被繼承?*4.請敘述cons
16、t與readonly的區(qū)別。e) 每一個class至多只可以定義一個static構(gòu)造函數(shù),并且不允許增加訪問級別關(guān)鍵字,參數(shù)列必須為空。 為了不違背編碼規(guī)則,通常把static數(shù)據(jù)成員聲明為private,然后通過statci property提供讀寫訪問。 const 關(guān)鍵字用于修改字段或局部變量的聲明。它指定字段或局部變量的值不能被修改。常數(shù)聲明引入給定類型的一個或多個常數(shù)。 const數(shù)據(jù)成員的聲明式必須包含初值,且初值必須是一個常量表達(dá)式。因為它是在編譯時就需要完全評估。 const成員可以使用另一個const成員來初始化,前提是兩者之間沒有循環(huán)依賴。 readonly在運(yùn)行期評估賦值
17、,使我們得以在確保“只讀訪問”的前提下,把object的初始化動作推遲到運(yùn)行期進(jìn)行。 readonly 關(guān)鍵字與 const 關(guān)鍵字不同:const 字段只能在該字段的聲明中初始化。readonly 字段可以在聲明或構(gòu)造函數(shù)中初始化。因此,根據(jù)所使用的構(gòu)造函數(shù),readonly 字段可能具有不同的值。另外,const 字段是編譯時常數(shù),而 readonly 字段可用于運(yùn)行時常數(shù)。 readonly 只能在聲明時或者構(gòu)造函數(shù)里面初始化,并且不能在 static 修飾的構(gòu)造函數(shù)里面。f)5.簡述 private、 protected、 public、 internal 修飾符的訪問權(quán)限。priva
18、te : 私有成員, 在類的內(nèi)部才可以訪問。protected : 保護(hù)成員,該類內(nèi)部和繼承類中可以訪問。public : 公共成員,完全公開,沒有訪問限制。internal: 在同一命名空間內(nèi)可以訪問。?*6.請說明在.net中常用的幾種頁面間傳遞參數(shù)的方法,并說出他們的優(yōu)缺點(diǎn)。 session(viewstate) 簡單,但易丟失 application 全局 cookie 簡單,但可能不支持,可能被偽造 input ttype=hidden 簡單,可能被偽造 url參數(shù)簡單,顯示于地址欄,長度有限 數(shù)據(jù)庫穩(wěn)定,安全,但性能相對弱7.概述反射和序列化答:反射:程序集包含模塊,而模塊包含類型
19、,類型又包含成員。反射則提供了封裝程序集、模塊和類型的對象。您可以使用反射動態(tài)地創(chuàng)建類型的實例,將類型綁定到現(xiàn)有對象,或從現(xiàn)有對象中獲取類型。然后,可以調(diào)用類型的方法或訪問其字段和屬性序列化:序列化是將對象轉(zhuǎn)換為容易傳輸?shù)母袷降倪^程。例如,可以序列化一個對象,然后使用 HTTP 通過 Internet 在客戶端和服務(wù)器之間傳輸該對象。在另一端,反序列化將從該流重新構(gòu)造對象。8.什么是SOAP,有哪些應(yīng)用。答:SOAP(Simple Object Access Protocol )簡單對象訪問協(xié)議(SOAP)是一種輕量的、簡單的、基于 XML 的協(xié)議,它被設(shè)計成在 WEB 上交換結(jié)構(gòu)化的和固化的
20、信息。 SOAP 可以和現(xiàn)存的許多因特網(wǎng)協(xié)議和格式結(jié)合使用,包括超文本傳輸協(xié)議( HTTP),簡單郵件傳輸協(xié)議(SMTP),多用途網(wǎng)際郵件擴(kuò)充協(xié)議(MIME)。它還支持從消息系統(tǒng)到遠(yuǎn)程過程調(diào)用(RPC)等大量的應(yīng)用程序。Web service 就是一個應(yīng)用程序,它向外界暴露出一個能夠通過Web進(jìn)行調(diào)用的API。這就是說,你能夠用編程的方法通過Web來調(diào)用這個應(yīng)用程序.9.ASP。NET中共有幾種類型的控件?各有什么區(qū)別?答:Html 控件傳統(tǒng)的html標(biāo)記Web 控件可以回傳數(shù)據(jù),事件驅(qū)動自定義控件在原有控件的基礎(chǔ)上增加功能復(fù)合控件多個子控件復(fù)合成一個新的控件10.什么情況用HTML控件,什么
21、情況用WEB控件,并比較兩者差別答:客戶端表現(xiàn)用html控件,如果想和server端交互,那么加上runat=server,它就成了服務(wù)器端控件,但它沒有web控件的很多方法和屬性,如果你需要用到,那么還是用webControls.11.用.net做B/S結(jié)構(gòu)的系統(tǒng),您是用幾層結(jié)構(gòu)來開發(fā),每一層之間的關(guān)系以及為什么要這樣分層?答:一般為3層數(shù)據(jù)訪問層,業(yè)務(wù)層,表示層。數(shù)據(jù)訪問層對數(shù)據(jù)庫進(jìn)行增刪查改。業(yè)務(wù)層一般分為二層,業(yè)務(wù)表觀層實現(xiàn)與表示層的溝通,業(yè)務(wù)規(guī)則層實現(xiàn)用戶密碼的安全等。表示層為了與用戶交互例如用戶添加表單。優(yōu)點(diǎn): 分工明確,條理清晰,易于調(diào)試,而且具有可擴(kuò)展性。缺點(diǎn): 增加成本。12
22、.什么是XML?答:XML即可擴(kuò)展標(biāo)記語言。eXtensible Markup Language.標(biāo)記是指計算機(jī)所能理解的信息符號,通過此種標(biāo)記,計算機(jī)之間可以處理包含各種信息的文章等。如何定義這些標(biāo)記,即可以選擇國際通用的標(biāo)記語言,比如HTML,也可以使用象XML這樣由相關(guān)人士自由決定的標(biāo)記語言,這就是語言的可擴(kuò)展性。XML是從SGML中簡化修改出來的。它主要用到的有XML、XSL和XPath等。13.什么是Web Service?UDDI?答:Web Service便是基于網(wǎng)絡(luò)的、分布式的模塊化組件,它執(zhí)行特定的任務(wù),遵守具體的技術(shù)規(guī)范,這些規(guī)范使得Web Service能與其他兼容的組件
23、進(jìn)行互操作。UDDI 的目的是為電子商務(wù)建立標(biāo)準(zhǔn);UDDI是一套基于Web的、分布式的、為Web Service提供的、信息注冊中心的實現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時也包含一組使企業(yè)能將自身提供的Web Service注冊,以使別的企業(yè)能夠發(fā)現(xiàn)的訪問協(xié)議的實現(xiàn)標(biāo)準(zhǔn)14.WEB控件可以激發(fā)服務(wù)端事件,請談?wù)劮?wù)端事件是怎么發(fā)生并解釋其原理?自動傳回是什么?為什么要使用自動傳回。在web控件發(fā)生事件時,客戶端采用提交的形式將數(shù)據(jù)交回服務(wù)端,服務(wù)端先調(diào)用Page_Load事件,然后根據(jù)傳回的狀態(tài)信息自動調(diào)用服務(wù)端事件自動傳回是當(dāng)我們在點(diǎn)擊客戶端控件時,采用提交表單的形式將數(shù)據(jù)直接傳回到務(wù)端只有通過自動傳回才能實現(xiàn)
24、服務(wù)端事件的機(jī)制,如果沒有自動回傳機(jī)制就只能調(diào)用客戶端事件,而不能調(diào)用服務(wù)端事件16.請簡述DataReader與DataSet的異與同。17.PDB是什么東西? 在調(diào)試中它應(yīng)該放在哪里? 答:PDB是用于保存調(diào)試和項目狀態(tài)信息的文件,在debug的時候?qū)a(chǎn)生pdb文件,調(diào)試的時候應(yīng)該放在和對應(yīng)應(yīng)用程序集相同目錄。 18.簡述ajax的原理。答:ajax簡單的講就是客戶端通過javascript腳本獲取服務(wù)器端的文本,通過解析返回值,更新部分的網(wǎng)頁內(nèi)容。19.描述線程與進(jìn)程的區(qū)別? 答:線程(Thread)與進(jìn)程(Process)二者都定義了某種邊界,不同的是進(jìn)程定義的是應(yīng)用程序與應(yīng)用程序之間
25、的邊界,不同的進(jìn)程之間不能共享代碼和數(shù)據(jù)空間,而線程定義的是代碼執(zhí)行堆棧和執(zhí)行上下文的邊界。一個進(jìn)程可以包括若干個線程,同時創(chuàng)建多個線程來完成某項任務(wù),便是多線程。而同一進(jìn)程中的不同線程共享代碼和數(shù)據(jù)空間。用一個比喻來說,如果一個家庭代表一個進(jìn)程,在家庭內(nèi)部,各個成員就是線程,家庭中的每個成員都有義務(wù)對家庭的財富進(jìn)行積累,同時也有權(quán)利對家庭財富進(jìn)行消費(fèi),當(dāng)面對一個任務(wù)的時候,家庭也可以派出幾個成員來協(xié)同完成,而家庭之外的人則沒有辦法直接消費(fèi)不屬于自己家庭的財產(chǎn)。 20.什么是Windows服務(wù),它的生命周期與標(biāo)準(zhǔn)的EXE程序有什么不同 答:Windows服務(wù)是運(yùn)行在windows后臺指定用戶下
26、(默認(rèn)System)的應(yīng)用程序,它沒有標(biāo)準(zhǔn)的UI界面,想比標(biāo)準(zhǔn)的EXE程序,Windows服務(wù)是在服務(wù)開始的時候創(chuàng)建,而在服務(wù)結(jié)束的時候銷毀,而且可以設(shè)置服務(wù)是否與操作系統(tǒng)一起啟動,一起關(guān)閉。它支持三種方式:)自動方式 2)手動方式)禁用 。自動方式的時候,windows服務(wù)將在OS啟動后自動啟動運(yùn)行,而手動方式則必須手工啟動服務(wù),禁用的情況下服務(wù)將不能被啟動。另外標(biāo)準(zhǔn)的EXE默認(rèn)使用的當(dāng)前登錄的用戶,而windows服務(wù)則默認(rèn)使用System用戶,這在對系統(tǒng)資源訪問的時候特別需要注意。 21.什么是強(qiáng)類型,什么是弱類型?哪種更好些?為什么? 答:強(qiáng)類型是在編譯的時候就確定類型的數(shù)據(jù),在執(zhí)行時
27、類型不能更改,而弱類型在執(zhí)行的時候才會確定類型。沒有好不好,二者各有好處,強(qiáng)類型安全,因為它事先已經(jīng)確定好了,而且效率高。一般用于編譯型編程語言,如c+,java,c#,pascal等,弱類型相比而言不安全,在運(yùn)行的時候容易出現(xiàn)錯誤,但它靈活,多用于解釋型編程語言,如javascript,vb等 .22.什么是GAC?它解決了什么問題? 答:Gloal Assembly Cache,全局應(yīng)用程序集緩存。它解決了幾個程序共享某一個程序集的問題。不必再將那個被共享的程序集拷貝到應(yīng)用程序目錄了,其實這道理很簡單,.net應(yīng)用程序在加載的時候,會首先查看全局應(yīng)用程序集緩存,如果有就可以直接使用,沒有再
28、到應(yīng)用程序目錄進(jìn)行查找。23.闡述面向接口、面向?qū)ο?、面向方面編程的區(qū)別 答:面向接口更關(guān)注的是概念,它的原則是先定義好行為規(guī)范,再根據(jù)行為規(guī)范創(chuàng)建實現(xiàn),嚴(yán)格的來說,面向接口應(yīng)該是面向?qū)ο笾械囊徊糠职?,因為面向?qū)ο笠矎?qiáng)調(diào)的是本末倒置原則,也就是實現(xiàn)依賴于抽象,而抽象不依賴于具體實現(xiàn),更具比較的應(yīng)該是面向接口與面向抽象對象,我的體會是面向接口更加靈活,但實現(xiàn)時候,稍微有些代碼冗余,而面向抽象可以結(jié)合面向接口,先定義接口,再定義抽象類,在抽象類中處理一些公共邏輯,再實現(xiàn)具體實現(xiàn)類。面向?qū)ο笫菍?fù)雜問題的分解。面向方面的編程是一種新概念,它解決了很多面向?qū)ο鬅o法解決的問題,比如面向?qū)ο蠹夹g(shù)只能對業(yè)務(wù)
29、相關(guān)的代碼模塊化,而無法對和業(yè)務(wù)無關(guān)的代碼模塊化。而面向方面正是解決這一問題的方案,它的關(guān)鍵思想是將應(yīng)用程序中的商業(yè)邏輯與對其提供支持的通用服務(wù)進(jìn)行分離。 24.簡述用repeater實現(xiàn)手工分頁的思路。25.web service 數(shù)據(jù)傳輸有什么限制? 為什么?DataTable可以作為web service參數(shù)傳遞么?答:所傳輸?shù)臄?shù)據(jù)必須是可序列化的。因為需要轉(zhuǎn)換為XML格式以可以穿越防火墻,做到真正的數(shù)據(jù)共享。因為DataSet處理DataTable的序列化以便進(jìn)行封送處理,所以無法傳遞單個DataTable26.常用的調(diào)用WebService的方法有哪些?答:在同一個解決方案中調(diào)用We
30、bService方法; 在不同的解決方案中調(diào)用WebService方法; 在Internet上調(diào)用WebService方法; 利用webservice.htc調(diào)用WebService方法。28.在C中,string str = null 與 string str = “” 請盡量使用文字或圖象說明其中的區(qū)別。答:string str = null 是不給他分配內(nèi)存空間,而string str = 給它分配長度為空字符串的內(nèi)存空間.30.請詳述在dotnet中類(class)與結(jié)構(gòu)(struct)的異同: 答:Class可以被實例化,屬于引用類型,是分配在內(nèi)存的堆上的,Struct屬于值類型,是
31、分配在內(nèi)存的棧上的.31. 如何理解委托?答:據(jù)說相當(dāng)于函數(shù)指針,定義了委托就可以在不調(diào)用原方法名稱的情況下調(diào)用那個方法.msdn2005中是這樣解釋的:委托具有以下特點(diǎn):委托類似于 C+ 函數(shù)指針,但它是類型安全的。委托允許將方法作為參數(shù)進(jìn)行傳遞。委托可用于定義回調(diào)方法。委托可以鏈接在一起;例如,可以對一個事件調(diào)用多個方法。方法不需要與委托簽名精確匹配。有關(guān)更多信息,請參見協(xié)變和逆變。C# 2.0 版引入了匿名方法的概念,此類方法允許將代碼塊作為參數(shù)傳遞,以代替單獨(dú)定義的方法。33 override與重載的區(qū)別override 與重載的區(qū)別。重載是方法的名稱相同。參數(shù)或參數(shù)類型不同,進(jìn)行多次
32、重載以適應(yīng)不同的需要Override 是進(jìn)行基類中函數(shù)的重寫。為了適應(yīng)需要。34. abstract class和interface有什么區(qū)別?答:聲明方法的存在而不去實現(xiàn)它的類被叫做抽象類(abstract class),它用于要創(chuàng)建一個體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實例。然而可以創(chuàng)建一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現(xiàn),否則它們也是抽象類為。取而代之,在子類中實現(xiàn)該方法。知道其行為的其它類可以在類中實現(xiàn)這
33、些方法。接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個有程序體。接口只可以定義static final成員變量。接口的實現(xiàn)與子類相似,除了該實現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實現(xiàn)特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實現(xiàn)了該接口的類的任何對象上調(diào)用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,instanceof 運(yùn)算符可以用來決定某對象的類是否實現(xiàn)了接口。35. Session有什么重
34、大BUG,微軟提出了什么方法加以解決?答:是iis中由于有進(jìn)程回收機(jī)制,系統(tǒng)繁忙的話Session會丟失,可以用Sate server或SQL Server數(shù)據(jù)庫的方式存儲Session不過這種方式比較慢,而且無法捕獲Session的END事件。36. 成員變量和成員函數(shù)前加static的作用?答:它們被稱為常成員變量和常成員函數(shù),又稱為類成員變量和類成員函數(shù)。分別用來反映類的狀態(tài)。比如類成員變量可以用來統(tǒng)計類實例的數(shù)量,類成員函數(shù)負(fù)責(zé)這種統(tǒng)計的動作。37.簡述三層架構(gòu)的利弊。38.簡述AJAX控件timer的實現(xiàn)原理。39.簡述ASP.NET中用戶控件和自定義控件的區(qū)別.40.簡述frame
35、work在.NET中的作用.41.簡述C#中引入泛型的好處。42.談?wù)刟rraylist和list利弊.43.怎樣實現(xiàn)用JS調(diào)用服務(wù)器端定義的方法。44.簡述ADO.NET中幾大對象的作用.45.相對與其它WEB開發(fā)平臺,微軟的.net平臺有什么獨(dú)特的優(yōu)勢和劣勢。46.談?wù)凷chema和DTD相比,具有那些顯著的優(yōu)勢。47. 什么叫應(yīng)用程序域?什么是受管制的代碼?什么是強(qiáng)類型系統(tǒng)?什么是裝箱和拆箱?什么是重載?CTS、CLS和CLR分別作何解釋? 答: (1)應(yīng)用程序域(通常為 AppDomain)是一個用于隔離應(yīng)用程序的虛擬進(jìn)程。 (2) 受管制的代碼:Managed Code,官方翻譯是“
36、托管代碼”,即在 .net中,由公共語言運(yùn)行環(huán)境進(jìn)行管理的代碼,它主要負(fù)責(zé)內(nèi)存管理。 (3)強(qiáng)類型系統(tǒng):是對系統(tǒng)的類型進(jìn)行細(xì)化定義,純粹是概念問題,不做深入研究的話,看書理解一下就行。 (4)裝箱和拆箱:值類型轉(zhuǎn)化引用類型為裝箱,引用類型轉(zhuǎn)化為值類型為拆箱。 (5)CTS:通用語言系統(tǒng)。CLS:通用語言規(guī)范。CLR:公共語言運(yùn)行庫。48.強(qiáng)類型與弱類型的區(qū)別? (1)答:完全的面向?qū)ο笠髮ο笫菑?qiáng)類型的。強(qiáng)類型是只在對象類型的定義盡量的細(xì)化。我們可以定義所有的對象都是object,然后允許后期綁定來對對象進(jìn)行操作。事實上,有些語言是弱類型的,特別是一些教本語言,比如javascript.弱類型
37、語言對簡化了語言本身,因而語言本事是可以輕量的,在一些特殊的場合還是很有用的。 (2)但弱類型與強(qiáng)類型語言相比,它們能完成的功能從本質(zhì)上來說,是沒有區(qū)別的。但弱類型的輕量化是以犧牲開發(fā)的方便性和效率為基礎(chǔ)的。它將一部分機(jī)器能完成的事情移到程序員來完成。如果開發(fā)同樣一個功能,如果用javascript 和強(qiáng)類型的來開發(fā),兩者對程序員的要求與開發(fā)所需要的時間是明顯不同的。49.請詳述在c#中類(class)與結(jié)構(gòu)(struct)的異同?答:Class可以被實例化,屬于引用類型,是分配在內(nèi)存的堆上的,Struct屬于值類型,是分配在內(nèi)存的棧上的. Class可以被繼承,struct不可以
38、等等50. GC是什么? 為什么要有GC? 答:GC是垃圾收集器。程序員不用擔(dān)心內(nèi)存管理,因為垃圾收集器會自動進(jìn)行管理。要請求垃圾收集,可以調(diào)用下面的方法之一: System.gc() Runtime.getRuntime().gc()51.String s = new String(xyz);創(chuàng)建了幾個String Object? 答:兩個對象,一個是“xyx”,一個是指向“xyx”的引用對象s。52.abstract class和interface有什么區(qū)別? 答:聲明方法的存在而不去實現(xiàn)它的類被叫做抽象類(abstract class),它用于要創(chuàng)建一個體現(xiàn)某些基本行為的類,并為該類聲明
39、方法,但不能在該類中實現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實例。然而可以創(chuàng)建一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現(xiàn),否則它們也是抽象類為。取而代之,在子類中實現(xiàn)該方法。知道其行為的其它類可以在類中實現(xiàn)這些方法。接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個有程序體。接口只可以定義static final成員變量。接口的實現(xiàn)與子類相似,除了該實現(xiàn)類不能從接口定義中繼承行為。當(dāng)類
40、實現(xiàn)特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實現(xiàn)了該接口的類的任何對象上調(diào)用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,instanceof 運(yùn)算符可以用來決定某對象的類是否實現(xiàn)了接口。53.啟動一個線程是用run()還是start()? 答:啟動一個線程是調(diào)用start()方法,使線程所代表的虛擬處理機(jī)處于可運(yùn)行狀態(tài),這意味著它可以由JVM調(diào)度并執(zhí)行。這并不意味著線程就會立即運(yùn)行。run()方法可以產(chǎn)生必須退出的標(biāo)志來停止一個線程。54.接口是否可繼承接口? 抽象類是否可實現(xiàn)(imp
41、lements)接口? 抽象類是否可繼承實體類(concrete class)? 答:接口可以繼承接口。抽象類可以實現(xiàn)(implements)接口,抽象類是否可繼承實體類,但前提是實體類必須有明確的構(gòu)造函數(shù)。55.構(gòu)造器Constructor是否可被override? 答:構(gòu)造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。56.是否可以繼承String類? 答:String類是final類故不可以繼承。57. try 里有一個return語句,那么緊跟在這個try后的finally 里的code會不會被執(zhí)行,什么時候被執(zhí)行,在retu
42、rn前還是后? 答:會執(zhí)行,在return前執(zhí)行。58.兩個對象值相同(x.equals(y) = true),但卻可有不同的hash code,這句話對不對? 答:不對,有相同的hash code。59.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? 答:可以60.當(dāng)一個線程進(jìn)入一個對象的一個synchronized方法后,其它線程是否可進(jìn)入此對象的其它方法? 答:不能,一個對象的一個synchronized方法只能由一個線程訪問。61.abstract的method是否可同時是static,是否可同時是native,是否可同時是synchroniz
43、ed? 答:都不能。62.List, Set, Map是否繼承自Collection接口? 答:List,Set是Map不是63. Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢? 是用=還是equals()? 它們有何區(qū)別? 答:Set里的元素是不能重復(fù)的,那么用iterator()方法來區(qū)分重復(fù)與否。equals()是判讀兩個Set是否相等。equals()和=方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當(dāng)兩個分離的對象的內(nèi)容和類型相配的話,返回真值64. 數(shù)組有沒有l(wèi)ength()這個方法? String有沒有l(wèi)ength()這個方法?答:沒有這個方法但
44、是有l(wèi)ength這個屬性。65. sleep() 和 wait() 有什么區(qū)別? 答:sleep()方法是使線程停止一段時間的方法。在sleep 時間間隔期滿后,線程不一定立即恢復(fù)執(zhí)行。這是因為在那個時刻,其它線程可能正在運(yùn)行而且沒有被調(diào)度為放棄執(zhí)行,除非(a)“醒來”的線程具有更高的優(yōu)先級(b)正在運(yùn)行的線程因為其它原因而阻塞。wait()是線程交互時,如果線程對一個同步對象x 發(fā)出一個wait()調(diào)用,該線程會暫停執(zhí)行,被調(diào)對象進(jìn)入等待狀態(tài),直到被喚醒或等待時間到。66. short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 += 1;有什么錯?
45、 答:short s1 = 1; s1 = s1 + 1;有錯,s1是short型,s1+1是int型,不能顯式轉(zhuǎn)化為short型??尚薷臑閟1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正確。67.談?wù)刦inal, finally, finalize的區(qū)別。答:final修飾符(關(guān)鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此 一個類不能既被聲明為 abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中 不被改變。被聲明為final的變量必須在聲明時給定初值,而在以后的引用
46、中只能讀取,不可修改。被聲明為 final的方法也同樣只能使用,不能重載finally再異常處理時提供 finally 塊來執(zhí)行任何清除操作。如果拋出一個異常,那么相匹配的 catch 子句就會 執(zhí)行,然后控制就會進(jìn)入 finally 塊(如果有的話)。finalize方法名。Java 技術(shù)允許使用 finalize() 方法在垃圾收集器將對象從內(nèi)存中清除出去之前做必要的清理 工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調(diào)用的。它是在 Object 類中定義的 ,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize
47、() 方法是在垃圾收集器刪除對象之前對這個對象調(diào)用的。68. 如何處理幾十萬條并發(fā)數(shù)據(jù)?答:用存儲過程或事務(wù)。取得最大標(biāo)識的時候同時更新.注意主鍵不是自增量方式這種方法并發(fā)的時候是不會有重復(fù)主鍵的.取得最大標(biāo)識要有一個存儲過程來獲取.69.Session有什么重大BUG,微軟提出了什么方法加以解決?答:是iis中由于有進(jìn)程回收機(jī)制,系統(tǒng)繁忙的話Session會丟失,可以用Sate server或SQL Server數(shù)據(jù)庫的方式存儲Session不過這種方式比較慢,而且無法捕獲Session的END事件。70.進(jìn)程和線程的區(qū)別?答:進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的單位;線程是CPU調(diào)度和分派的單位
48、,一個進(jìn)程可以有多個線程,這些線程共享這個進(jìn)程的資源。71.堆和棧的區(qū)別?答: 棧:由編譯器自動分配、釋放。在函數(shù)體中定義的變量通常在棧上。 堆:一般由程序員分配釋放。用new、malloc等分配內(nèi)存函數(shù)分配得到的就是在堆上。72. 成員變量和成員函數(shù)前加static的作用?答:它們被稱為常成員變量和常成員函數(shù),又稱為類成員變量和類成員函數(shù)。分別用來反映類的狀態(tài)。比如類成員變量可以用來統(tǒng)計類實例的數(shù)量,類成員函數(shù)負(fù)責(zé)這種統(tǒng)計的動作。73. 請指出GAC的含義?答:全局程序集緩存。74.在c#中using和new這兩個關(guān)鍵字有什么意義,請寫出你所知道的意義?using 指令和語句 new 創(chuàng)建實
49、例 new 隱藏基類中方法。答:using 引入名稱空間或者使用非托管資源new 新建實例或者隱藏父類方法75.什么是虛函數(shù)?什么是抽象函數(shù)?答:虛函數(shù):沒有實現(xiàn)的,可由子類繼承并重寫的函數(shù)。抽象函數(shù):規(guī)定其非虛子類必須實現(xiàn)的函數(shù),必須被重寫。76. C#中 property 與 attribute的區(qū)別,他們各有什么用處,這種機(jī)制的好處在哪里?答:一個是屬性,用于存取類的字段,一個是特性,用來標(biāo)識類,方法等的附加性質(zhì)77. c#中的三元運(yùn)算符是?答:?:78.當(dāng)整數(shù)a賦值給一個object對象時,整數(shù)a將會被?答:裝箱。79.類成員有_種可訪問形式?答:this.類成員; new Class
50、()類成員80. public static const int A=1;這段代碼有錯誤么?是什么?答:const不能用static修飾。81.float f=-123.567F; int i=(int)f;i的值現(xiàn)在是_? 答:-123。82.委托聲明的關(guān)鍵字是_? 答:delegate.83.用sealed修飾的類有什么特點(diǎn)?答:密封,不能繼承。84.如何在C#中實現(xiàn)繼承?在類名后加上一個冒號,再加上基類的名稱。85.一個進(jìn)程可以訪問的Windows地址空間有多大?等于系統(tǒng)的虛擬內(nèi)存大小么?這兩方面將對系統(tǒng)的設(shè)計產(chǎn)生什么樣的影響?答:4G,虛擬內(nèi)存大小是看你物理內(nèi)存大小來定的啊,實際進(jìn)程在
51、windows上默認(rèn)是可以訪問2G內(nèi)存,通過一個/3g boot參數(shù),可以用到3G86.下面這個命令是做什么的?gacutil /l | find /i “system”答:全局緩存工具,gacutil /l列出全局程序集緩存的內(nèi)容。/i “system”將程序集安裝到全局程序集緩存中。87.列舉ADO.net中的五個主要對象答.Connection,Command,DataAdapter,DataSet,DataTable,DataView等88.從數(shù)據(jù)庫讀取記錄,你可能用到的方法有:答: ExecuteScalar() Fill() ExecuteReader()89. 概述反射和序列化答
52、:反射:程序集包含模塊,而模塊包含類型,類型又包含成員。反射則提供了封裝程序集、模塊和類型的對象。您可以使用反射動態(tài)地創(chuàng)建類型的實例,將類型綁定到現(xiàn)有對象,或從現(xiàn)有對象中獲取類型。然后,可以調(diào)用類型的方法或訪問其字段和屬性 序列化:序列化是將對象轉(zhuǎn)換為容易傳輸?shù)母袷降倪^程。例如,可以序列化一個對象,然后使用 HTTP 通過 Internet 在客戶端和服務(wù)器之間傳輸該對象。在另一端,反序列化將從該流重新構(gòu)造對象。90.概述o/r mapping 的原理 答:利用反射,配置 將類于數(shù)據(jù)庫表映射 91.用.net做B/S結(jié)構(gòu)的系統(tǒng),您是用幾層結(jié)構(gòu)來開發(fā),每一層之間的關(guān)系以及為什么要這樣分層?答:a
53、) 一般為3層 b) 數(shù)據(jù)訪問層,業(yè)務(wù)層,表示層。 c) 數(shù)據(jù)訪問層對數(shù)據(jù)庫進(jìn)行增刪查改。 d) 業(yè)務(wù)層一般分為二層,業(yè)務(wù)表觀層實現(xiàn)與表示層的溝通,業(yè)務(wù)規(guī)則層實現(xiàn)用戶密碼的安全等。 e) 表示層為了與用戶交互例如用戶添加表單。 f) 優(yōu)點(diǎn):分工明確,條理清晰,易于調(diào)試,而且具有可擴(kuò)展性。 g) 缺點(diǎn):增加成本。 92. Session有什么重大BUG,有什么方法加以解決?答:是iis中由于有進(jìn)程回收機(jī)制,系統(tǒng)繁忙的話Session會丟失,可以用Sate server或SQL Server數(shù)據(jù)庫的方式存儲Session不過這種方式比較慢,而且無法捕獲Session的END事件。 93.每次我們請
54、求一個頁面時,我們都經(jīng)歷著同樣的過程,我們稱它為頁面生命周期!每個頁面的生命周期為用戶的每一次訪問,也就是說每一次客戶端與服務(wù)器之間的一個往返過程.請你說一說這個過程它們都發(fā)生了那些事件?答:(1). Page_Init();(2). Load ViewState and Postback data;(3). Page_Load();(4). Handle control events;(5). Page_PreRender();(6). Page_Render();(7). Unload event;(8). Dispose method called;94. 什么是ASP.net中的用戶控件?(用戶控件和自定義控件有什么區(qū)別?)答:主要是分清這兩個區(qū)別,(一).用戶控件和自定義控件概述 用戶控件(UserControl): 擴(kuò)展名為*.ascx,跟*.aspx在結(jié)構(gòu)上相似,是指頁面中 加載的功能塊,只是用戶控件不能單獨(dú)作為頁面
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- NR-11c-生命科學(xué)試劑-MCE-9201
- 6-O-Sulfo-β-cyclodextrin-sodium-生命科學(xué)試劑-MCE-5754
- 2025年度高端火鍋店品牌連鎖合作協(xié)議
- 二零二五年度經(jīng)濟(jì)補(bǔ)償協(xié)議書-產(chǎn)品責(zé)任賠償協(xié)議
- 2025年度員工解除勞動合同關(guān)系協(xié)議書(技術(shù)崗位)
- 施工單位關(guān)于項目驗收的聯(lián)絡(luò)函
- 小額金融科技化營銷戰(zhàn)略-以農(nóng)村貸款市場為例
- 《用正比例解決問題》教學(xué)設(shè)計(人教版六年級數(shù)學(xué)下冊)
- 個人雇傭合同協(xié)議模板
- 上海市短期勞務(wù)合同模板
- 2024簡易租房合同下載打印
- TBSES 001-2024 建設(shè)項目環(huán)境影響后評價技術(shù)指南 污染影響類
- 阿基米德課件
- 2024年步步高高考英語大一輪復(fù)習(xí)(新人教版)基礎(chǔ)知識默寫本必修第一冊含答案
- 盤錦市重點(diǎn)中學(xué)2024年中考英語全真模擬試卷含答案
- 2024年《幼兒教師職業(yè)道德》教案
- 平安產(chǎn)險湖南省商業(yè)性雞蛋價格指數(shù)保險條款
- 石家莊市第四十中學(xué)2021-2022學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試題
- 《共演戰(zhàn)略》分析工具
- 揚(yáng)州市古樹名木匯編
- 提高臥床患者踝泵運(yùn)動的執(zhí)行率
評論
0/150
提交評論