C#和ASP.Net面試題目集錦
1.有哪幾種方法可以實(shí)現(xiàn)一個(gè)類存取另外一個(gè)類的成員函數(shù)及屬性,并請(qǐng)舉列來加以說明和分析.
2.A類是B類的基類,并且都有自己的構(gòu)造,析構(gòu)函數(shù),請(qǐng)舉例證明B類從實(shí)例化到消亡過程中構(gòu)造,析構(gòu)函數(shù)的執(zhí)行過程.請(qǐng)附code
3.什么叫應(yīng)用程序域?什么是受管制的代碼?什么是強(qiáng)類型系統(tǒng)?
4..Net中讀寫數(shù)據(jù)庫需要用到哪些類?他們的作用
5.ASP.net的身份驗(yàn)證方式有哪些?分別是什么原理?
6.解釋一下UDDI、WSDL的意義及其作用。
7.常用的調(diào)用webservice方法有哪些?
8.講一講你理解的web service,在dot net framework中,怎么很好的結(jié)合xml?(講概念就行了)
9.C#可否對(duì)內(nèi)存進(jìn)行直接的操作?(這可是個(gè)難點(diǎn)哦?要注意!),如果能,如何操作;如果不能,為什么?
10.描述一下C#中索引器的實(shí)現(xiàn)過程,是否只能根據(jù)數(shù)字進(jìn)行索引?

1.面向?qū)ο蟮乃枷胫饕ㄊ裁矗?br>面向?qū)ο笕筇卣?繼承,封套,多態(tài).面相對(duì)象的思想也不是一句兩句就能說清楚..主要思想就是減少代碼重復(fù),增大代碼復(fù)用率..

2.什么是ASP.net中的用戶控件
問這樣的問題,一般是迷惑你.因?yàn)樾率诌€是分不清楚用戶控件和服務(wù)器控件(也稱自定義控件)..用戶控件一般用在內(nèi)容多為靜態(tài),或者少許會(huì)改變的情況下..用的比較大..類似ASP中的include..但是功能要強(qiáng)大的多..

如果現(xiàn)有的 ASP.NET 服務(wù)器控件都不符合應(yīng)用程序的特定要求,則可以創(chuàng)建封裝所需功能的 Web 用戶控件或 Web 自定義控件。這兩種控件之間的主要區(qū)別在于設(shè)計(jì)時(shí)的易創(chuàng)建性與易用性。

Web 用戶控件易于創(chuàng)建,但它們在高級(jí)方案中使用起來可能不太方便。開發(fā) Web 用戶控件的方式與開發(fā) Web 窗體頁的方式幾乎完全相同。與 Web 窗體相似,用戶控件可以在可視化設(shè)計(jì)器中創(chuàng)建,可以使用與 HTML 隔離的代碼來編寫,并且可以處理執(zhí)行事件。但是,由于 Web 用戶控件在運(yùn)行時(shí)動(dòng)態(tài)地進(jìn)行編譯,所以不能將它們添加到工具箱中,而且它們在添加到頁面上時(shí)由簡單的占位符標(biāo)志符號(hào)來表示。如果您習(xí)慣于完全的 Visual Studio .NET 設(shè)計(jì)時(shí)支持(包括“屬性”窗口和“設(shè)計(jì)”視圖預(yù)覽),這將會(huì)使 Web 用戶控件使用起來更不方便。 此外,在應(yīng)用程序之間共享用戶控件的唯一方式是將一個(gè)單獨(dú)的副本放入每個(gè)應(yīng)用程序,因此如果對(duì)該控件作出了更改,將需要進(jìn)行比較多的維護(hù)。

Web 自定義控件是編譯的代碼,這使得 Web 自定義控件更易于使用但更難于創(chuàng)建;Web 自定義控件必須使用代碼來創(chuàng)建。一旦創(chuàng)建該控件,那么,您就可以將其添加到工具箱中,并在具有完全“屬性”窗口支持和 ASP.NET 服務(wù)器控件的其他所有設(shè)計(jì)時(shí)功能的可視化設(shè)計(jì)器中顯示該控件。此外,還可以在全局程序集緩存中安裝 Web 自定義控件的單個(gè)副本,并在應(yīng)用程序之間共享該副本,這將使維護(hù)變得更容易。有關(guān)更多信息,請(qǐng)參閱全局程序集緩存。
如果您的控件包含大量靜態(tài)布局,用戶控件則可能是較佳的選擇。如果您的控件主要是動(dòng)態(tài)生成的(例如數(shù)據(jù)綁定表的行、樹視圖的節(jié)點(diǎn)或選項(xiàng)卡 (TabControl) 控件的選項(xiàng)卡),自定義控件則可能是較佳的選擇。

下表概述了這兩種類型之間的主要區(qū)別:
Web 用戶控件
1.難于創(chuàng)建
2.為使用可視化設(shè)計(jì)工具的使用者提供有限的支持
3. 每個(gè)應(yīng)用程序中需要控件的一個(gè)單獨(dú)副本
4. 不能添加到 Visual Studio 中的工具箱
5. 適用于靜態(tài)布局
Web 自定義控件
1.易于創(chuàng)建
2. 為使用者提供完全的可視化設(shè)計(jì)工具支持
3. 僅在全局程序集緩存中需要控件的單個(gè)副本
4. 可以添加到 Visual Studio 中的工具箱
5. 適用于動(dòng)態(tài)布局


3.什么叫應(yīng)用程序域?什么是受管制的代碼?什么是強(qiáng)類型系統(tǒng)?什么是裝箱和拆箱?什么是重載?CTS、CLS和CLR分別作何解釋?
這個(gè)需要當(dāng)前描述了..東西太多..打字要打死了..找個(gè)比較簡單的說說吧!
CTS:公共類型系統(tǒng).主要是為了語言之間的進(jìn)行標(biāo)準(zhǔn)化處理.
CLS:公共語言規(guī)范.主要是確保代碼可以在任何語言中訪問的最小標(biāo)準(zhǔn)集體
CLR:公共語言運(yùn)行時(shí).主要是管理代碼..處理,加載代碼,以及所有服務(wù)的代碼

4.列舉一下你所了解的XML技術(shù)及其應(yīng)用
xml用于配置,用于保存靜態(tài)數(shù)據(jù)類型.接觸XML最多的是web Services..和config

5.值類型和引用類型的區(qū)別?寫出C#的樣例代碼。
值類型是在內(nèi)存中保存,引用類型是在內(nèi)存中保存一副本.你在內(nèi)存中可以有多個(gè)某種引用對(duì)象..但是值類型始終只有一個(gè).
最常見的值類型就是static,struct;
例如:
static int aa = 1;//值類型
如果多個(gè)用戶改變aa的值則,aa的值會(huì)以最后一個(gè)修改的記錄為準(zhǔn).其他人的修改則會(huì)被沖掉.
引用類型,最能說明問題的就是實(shí)例化..你new出來的對(duì)象單獨(dú)分配一個(gè)獨(dú)立的內(nèi)存..所以值不會(huì)互相沖突/

數(shù)據(jù)成員可以分靜態(tài)變量、非靜態(tài)變量兩種.
 靜態(tài)成員:靜態(tài)類中的成員加入static修飾符,即是靜態(tài)成員.可以直接使用類名+靜態(tài)成員名訪問此靜態(tài)成員,因?yàn)殪o態(tài)成員存在于內(nèi)存,非靜態(tài)成員需要實(shí)例化才會(huì)分配內(nèi)存,所以靜態(tài)成員不能訪問非靜態(tài)的成員..因?yàn)殪o態(tài)成員存在于內(nèi)存,所以非靜態(tài)成員可以直接訪問類中靜態(tài)的成員.
 
 非成靜態(tài)員:所有沒有加Static的成員都是非靜態(tài)成員,當(dāng)類被實(shí)例化之后,可以通過實(shí)例化的類名進(jìn)行訪問..非靜態(tài)成員的生存期決定于該類的生存期..而靜態(tài)成員則不存在生存期的概念,因?yàn)殪o態(tài)成員始終駐留在內(nèi)容中..
 
 一個(gè)類中也可以包含靜態(tài)成員和非靜態(tài)成員,類中也包括靜態(tài)構(gòu)造函數(shù)和非靜態(tài)構(gòu)造函數(shù)..
 
 對(duì)于winApp來說,靜態(tài)成員對(duì)于程序員本身省了很多事,而且因?yàn)殪o態(tài)成員駐留內(nèi)存,在方法與方法之間傳遞共享數(shù)據(jù)的時(shí)候,所以靜態(tài)成員成了我的首選..但是不要因?yàn)榉奖?大量使用,尤其是在內(nèi)存緊張或者
 用靜態(tài)方法操作一些共享值的時(shí)候.或者要寫多用戶系統(tǒng)的時(shí)候,要慎之又慎.比如:
 static int id = 0;
 sql = "select * from table where id=" + id;l

6.ADO.net中常用的對(duì)象有哪些?分別描述一下。
Connection 數(shù)據(jù)庫連接對(duì)象
Command 數(shù)據(jù)庫命令
DataReader 數(shù)據(jù)讀取器
DataSet 數(shù)據(jù)集

7.如何理解委托?
委托的概念,最好的說明就是事件.因?yàn)槭录褂玫木褪俏?例如:this.Load += new System.EventHandler(this.Page_Load);這個(gè)就是使用了一個(gè)委托.
具體的用法請(qǐng)參考.我以前的帖子,設(shè)計(jì)貓鼠聯(lián)動(dòng)..

8.C#中的接口和類有什么異同。
類是方法功能的實(shí)現(xiàn)和集合,接口是規(guī)范類.約束類.
參考我的文章:http://lixianhuei.cnblogs.com/archive/2005/08/04/207123.html

9.。net中讀寫數(shù)據(jù)庫需要用到哪些類?他們的作用
看第六題..答案差不多

10.UDP連接和TCP連接的異同。
這個(gè)說不清楚.

11.ASP.net的身份驗(yàn)證方式有哪些?分別是什么原理?
window驗(yàn)證:為每個(gè)用戶開啟window帳號(hào),驗(yàn)證其身份.安全性較高.
forms驗(yàn)證:為每個(gè)登陸用戶寫入一個(gè)身份驗(yàn)證票據(jù)..在web使用最廣的驗(yàn)證方式..靈活方便.

12.進(jìn)程和線程分別怎么理解?
這個(gè)是新人最容易迷惑的東西..
進(jìn)程:Process

13.什么是code-Behind技術(shù)。
新建一個(gè)VS.NET下的項(xiàng)目..看到ASPX,RESX和CS三個(gè)后綴的文件了嗎??這個(gè)就是代碼分離.實(shí)現(xiàn)了HTML代碼和服務(wù)器代碼分離.方便代碼編寫和整理.

14.活動(dòng)目錄的作用。
活動(dòng)目錄是window2000的最重要的功能.可以將用戶信息全部集成起來,登陸以后可以訪問多個(gè)不同的網(wǎng)絡(luò)服務(wù)..沒深入研究過.
查看一下帖子:http://www.ies.impu.edu.cn/resource/os/windowsx/WindowsGeneral/WinGeneral0008.htm

15..net中讀寫XML的類都?xì)w屬于哪些命名空間?
System.XML類

16.解釋一下UDDI、WSDL的意義及其作用。
解釋不清楚了..又是一大塊..

17.什么是SOAP,有哪些應(yīng)用。
simple object access protocal,簡單對(duì)象接受協(xié)議.以xml為基本編碼結(jié)構(gòu),建立在已有通信協(xié)議上(如http,不過據(jù)說ms在搞最底層的架構(gòu)在tcp/ip上的soap)的一種規(guī)范
是微軟大力推廣的Web Service使用的協(xié)議..

18.如何部署一個(gè)ASP.net頁面。
不清楚問的什么意思...如果非要回答的話,就寫一個(gè)帶.aspx的后綴文件..然后安裝IIS和FrameWork環(huán)境..瀏覽就好了.

19.如何理解.net中的垃圾回收機(jī)制。
垃圾回收體制如下:
如果發(fā)現(xiàn)內(nèi)存不夠,則垃圾回收器,將全部對(duì)象作為無效對(duì)象(被回收對(duì)象),然后先將全局變量,static,處于活動(dòng)中的局部變量,以及當(dāng)前CG指針指向的對(duì)象放入一個(gè)表中.然后
會(huì)搜索新列表中的對(duì)象所引用的對(duì)象.加入列表中,其他沒有被加入列表的對(duì)象都會(huì)被回收.

20.常用的調(diào)用webservice方法有哪些?
我一般用的是WSDL..或者web引用..
 
 
 

1.new有幾種用法

第一種:new Class();

第二種:覆蓋方法

public new XXXX(){}

第三種:new 約束指定泛型類聲明中的任何類型參數(shù)都必須有公共的無參數(shù)構(gòu)造函數(shù)。

2.如何把一個(gè)array復(fù)制到arrayList里

foreach( object o in array )arrayList.Add(o);

3.datagrid.datasouse可以連接什么數(shù)據(jù)源 [dataset,datatable,dataview]

dataset,datatable,dataview , IList

4.概述反射和序列化

反射:程序集包含模塊,而模塊包含類型,類型又包含成員。反射則提供了封裝程序集、模塊和類型的對(duì)象。您可以使用反射動(dòng)態(tài)地創(chuàng)建類型的實(shí)例,將類型綁定到現(xiàn)有對(duì)象,或從現(xiàn)有對(duì)象中獲取類型。然后,可以調(diào)用類型的方法或訪問其字段和屬性

序列化:序列化是將對(duì)象轉(zhuǎn)換為容易傳輸?shù)母袷降倪^程。例如,可以序列化一個(gè)對(duì)象,然后使用 HTTP 通過 Internet 在客戶端和服務(wù)器之間傳輸該對(duì)象。在另一端,反序列化將從該流重新構(gòu)造對(duì)象。

5.概述o/r mapping 的原理

利用反射,配置 將類于數(shù)據(jù)庫表映射

6.類成員有( )種可訪問形式

可訪問形式?不懂。

可訪問性:public ,protected ,private,internal

7.用sealed修飾的類有什么特點(diǎn)

sealed 修飾符用于防止從所修飾的類派生出其它類。如果一個(gè)密封類被指定為其他類的基類,則會(huì)發(fā)生編譯時(shí)錯(cuò)誤。

密封類不能同時(shí)為抽象類。

sealed 修飾符主要用于防止非有意的派生,但是它還能促使某些運(yùn)行時(shí)優(yōu)化。具體說來,由于密封類永遠(yuǎn)不會(huì)有任何派生類,所以對(duì)密封類的實(shí)例的虛擬函數(shù)成員的調(diào)用可以轉(zhuǎn)換為非虛擬調(diào)用來處理。

8.列舉ADO.NET中的五個(gè)主要對(duì)象,并簡單描述

connection,command,dataReader,trans,dataset ...

9.執(zhí)行下面代碼后:

String strTemp ="abcdefg 某某某";

Int i System.Text.Encoding.Default.GetBytes(strTemp).Length;

Int j = strTemp.Length;

問:i=(14 ) ;j=(11 )

i=(14 ) ;j=(11 ) 中文兩個(gè)字節(jié)

10.C#中,string str = null 與 string str ="",請(qǐng)盡量用文字說明區(qū)別。(要點(diǎn):說明詳細(xì)的內(nèi)存空間分配)

string str ="" 分配空間

11.詳述.NET里class和struct的異同!

class:放在 ? struct放在?

struct值傳遞

類與結(jié)構(gòu)有很多相似之處:結(jié)構(gòu)可以實(shí)現(xiàn)接口,并且可以具有與類相同的成員類型。然而,結(jié)構(gòu)在幾個(gè)重要方面不同于類:結(jié)構(gòu)為值類型而不是引用類型,并且結(jié)構(gòu)不支持繼承。結(jié)構(gòu)的值存儲(chǔ)在“在堆棧上”或“內(nèi)聯(lián)”。細(xì)心的程序員有時(shí)可以通過聰明地使用結(jié)構(gòu)來增強(qiáng)性能。

12.概述.NET里對(duì) remoting 和 webservice 兩項(xiàng)技術(shù)的理解和實(shí)際中的應(yīng)用。

遠(yuǎn)程邏輯調(diào)用,remoing接口只能用在.net中

13.什么是code-behind技術(shù)

aspx and cs

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

web/business/dataaccess

15.asp.net如何實(shí)現(xiàn)MVC模式,舉例說明!

web/business/dataaccess

----------------------------------------------------------------------------------------------------------

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

答:這個(gè)題范圍太廣,不知道說什么.

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

答:用戶控件就是.ascx擴(kuò)展名的東西嘍,可以拖到不同的頁面中調(diào)用,以節(jié)省代碼.比如登陸可能在多個(gè)頁面上有,就可以做成用戶控件,但是有一個(gè)問題就是用戶控件拖到不同級(jí)別的目錄下后里面的圖片等的相對(duì)路徑會(huì)變得不準(zhǔn)確,需要自已寫方法調(diào)整.

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

答:裝箱就是把值類型轉(zhuǎn)成引用類型,從MS IL角度看好像是boxing,沒記錯(cuò)的話是把值從堆棧轉(zhuǎn)到堆中.拆箱相反,重載就是指一個(gè)方法名同,參數(shù)個(gè)數(shù)不同,返回值可以相同的方法.CLR是通用語言運(yùn)行時(shí),其它的不清楚.

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

答:XML可是好東西,保存配置,站與站之間的交流,WEB SERVICE都要用它.

5.值類型和引用類型的區(qū)別?寫出C#的樣例代碼。答:結(jié)構(gòu)是值類型,類是引用類型,所以傳結(jié)構(gòu)就是值類型的應(yīng)用啦,傳對(duì)象或類就是引用類型的,這個(gè)不用多寫了吧.

 

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

答:connection command sqladapter dataset datatable dataview等等.寫不完了.

7.如何理解委托?

答:據(jù)說相當(dāng)于函數(shù)指針,定義了委托就可以在不調(diào)用原方法名稱的情況下調(diào)用那個(gè)方法.

msdn2005中是這樣解釋的:

委托具有以下特點(diǎn):

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

委托允許將方法作為參數(shù)進(jìn)行傳遞。

委托可用于定義回調(diào)方法。

委托可以鏈接在一起;例如,可以對(duì)一個(gè)事件調(diào)用多個(gè)方法。

方法不需要與委托簽名精確匹配。有關(guān)更多信息,請(qǐng)參見協(xié)變和逆變。

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

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

答:這個(gè)異同可多了,要說清楚還真不容易.

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

答:這個(gè)類自已可以寫的啊,你是指基類嗎?那configuration,sqlconnection,sqlcommand等都要用到.

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

答:前者只管傳,不管數(shù)據(jù)到不到,無須建立連接.后者保證傳輸?shù)臄?shù)據(jù)準(zhǔn)確,須要連結(jié).

11.ASP.net的身份驗(yàn)證方式有哪些?分別是什么原理?答:form認(rèn)證,windows集成認(rèn)證等,原理不清楚.

 

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

答:進(jìn)程是老子,線程是兒子,沒有老子就沒有兒子,一個(gè)老子可以有多個(gè)兒子.一個(gè)兒子可以成為別人的兒子,一個(gè)老子也可以為別的老子生兒子.

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

答:代碼分離,這是個(gè)明智的東西,像ASP這樣混成一堆很不爽.或者可以理解成HTML代碼寫在前臺(tái),C#代碼寫在后臺(tái).當(dāng)


 

 

ASP.NET面試的題目
1。請(qǐng)簡要寫出你對(duì)C#及ASP的認(rèn)識(shí)。


2。怎么獲得文件的當(dāng)前路徑(代碼)

3。 請(qǐng)使用ADO。NET 寫出數(shù)據(jù)庫連接開始事務(wù)處理,即數(shù)據(jù)庫連接(代碼)
 
       http://www.microsoft.com/china/MSDN/library/data/dataAccess/BestPractiCEs+forUsingADO.NET.mspx?mfr=true
http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/builddistapp/PerformanCE+COMparison+Transaction+Control.mspx?mfr=true

4。在SQL語言中,如果要建立一個(gè)工資表包含職工號(hào),姓名,職稱。工資等字段。若要保證工資 字段 的取值不低于800元,最合適的實(shí)現(xiàn)方法是:
A。在創(chuàng)建工資表時(shí)為”工資“字段建立缺省
B。在創(chuàng)建工資表時(shí)為”工資“字段建立檢查約束
C。在工資表建立一個(gè)觸發(fā)器
D。為工資表數(shù)據(jù)輸入編寫一個(gè)程序進(jìn)行控制

5。沒有關(guān)鍵碼序列(Q。G。M。Z。A。N。B。P。X。H。Y。S。L。T。K。E)
采用二路歸并排序法進(jìn)行排序,請(qǐng)寫出第二趟歸并后的結(jié)果?

6。創(chuàng)建一個(gè)新文本文件并向其寫入一個(gè)字符串(代碼)

7。請(qǐng)使用正則表達(dá)式驗(yàn)證電子郵件地址的合法性(代碼)

8。如何設(shè)定DATAGRID中模板列里 下拉列表默然值,如何在編輯時(shí),讓其綁定另一個(gè)表的數(shù)據(jù)并自動(dòng)講當(dāng)前值設(shè)為默認(rèn)值

9。上機(jī)測試題目:用戶管理中,用戶驗(yàn)證,用戶添加,用戶刪除功能,采用ACCESS數(shù)據(jù)庫
(時(shí)間30分鐘)


一、求2003年所有沒有降雨的日期  
結(jié)果集:日期
表名:t_rain     降雨記錄
表結(jié)構(gòu):
fstartTimedatetime  (有時(shí)間信息)  降雨開始時(shí)間
fendTimedatetime 降雨結(jié)束時(shí)間  (可能跨日的)

二、問答題
1.三只貓三分鐘內(nèi)可以捉三只老鼠,一百只貓需要多久才能捉到一百只老鼠?
2.有兩枚硬幣,共值一元五角,其中一枚不是五角的硬幣,請(qǐng)問兩枚硬幣的面值各是多少?
3.一個(gè)人購物共付了六元,零食比筆芯多五元,筆芯價(jià)格是多少?
4.有兩人在路上走,年輕的是年長的兒子,但年長的不是年輕的父親,年長的是誰?
5.一立方尺的洞里有多少垃圾?
6.一個(gè)男人和他遺孀的妹妹結(jié)婚是否合法?
7.一只猴子跌進(jìn)三十尺深的井里,它每天朝上躥三尺,但都滑下兩尺,依照這個(gè)速度,猴子多少天后會(huì)躥出井外?
8.抽屜里有黑白襪子各十只,如果你在黑暗中伸手入抽屜,最少要取出幾只才一定會(huì)有一雙顏色相同?
9.有三個(gè)蘋果,你拿了兩個(gè),你共有多少個(gè)?
10.有人要趕火車,只有兩分鐘時(shí)間,但要走兩里。如果第一里的速度是每小時(shí)三十里,第二里的速度應(yīng)該是多少才能趕上這班火車?

三、分析:(除了答案,還需闡明思路):
1、5個(gè)海盜搶到了100顆寶石,每一顆都一樣的大小和價(jià)值連城。
  他們決定這么分:
  1。抽簽決定自己的號(hào)碼(1,2,3,4,5)
  2。首先,由1號(hào)提出分配方案,然后大家5人進(jìn)行表決,當(dāng)且僅當(dāng)半數(shù)和超過半數(shù)的人同意時(shí),按照他的提案進(jìn)行分配,否則將被扔入大海喂鯊魚。
  3。如果1號(hào)死后,再由2號(hào)提出分配方案,然后大家4人進(jìn)行表決,當(dāng)且僅當(dāng)半數(shù)和超過半數(shù)的人同意時(shí),按照他的提案進(jìn)行分配,否則將被扔入大海喂鯊魚。
  4。依次類推......
問題:第一個(gè)海盜提出怎樣的分配方案才能夠使自己的收益最大化
條件:每個(gè)海盜都是很聰明的人,都能很理智的判斷得失,從而做出選擇。

5.有一張表,表名:Test
表結(jié)構(gòu):
     id int
     name varchar(20)
有以下數(shù)據(jù):
    [id]    [name]
      1       aaa
      2       bbb
      3       aaa
      4       ccc
要求寫一個(gè)查詢語句,只顯示[name]有重復(fù)的數(shù)據(jù),沒有重復(fù)的不顯示出來。

 


傳入某個(gè)屬性的set方法的隱含參數(shù)的名稱是什么?
value,它的類型和屬性所聲名的類型相同。
如何在C#中實(shí)現(xiàn)繼承?
在類名后加上一個(gè)冒號(hào),再加上基類的名稱。
C#支持多重繼承么?
不支持。可以用接口來實(shí)現(xiàn)。
被protected修飾的屬性/方法在何處可以訪問?
在繼承或間接繼承與這個(gè)類的子類中可以訪問。
私有成員會(huì)被繼承么?
會(huì),但是不能被訪問。所以看上去他們似乎是不能被繼承的,但實(shí)際上確實(shí)被繼承了。
請(qǐng)描述一下修飾符protected internal。
被protected internal修飾的屬性/方法只能在它的在同一個(gè)程序集(Assembly)中的子類被訪問。
C#提供一個(gè)默認(rèn)的無參數(shù)構(gòu)造函數(shù),當(dāng)我實(shí)現(xiàn)了另外一個(gè)有一個(gè)參數(shù)的構(gòu)造函數(shù)時(shí)候,還想保留這個(gè)無參數(shù)的構(gòu)造函數(shù)。這樣我應(yīng)該寫幾個(gè)構(gòu)造函數(shù)?
兩個(gè),一旦你實(shí)現(xiàn)了一個(gè)構(gòu)造函數(shù),C#就不會(huì)再提供默認(rèn)的構(gòu)造函數(shù)了,所以需要手動(dòng)實(shí)現(xiàn)那個(gè)無參數(shù)構(gòu)造函數(shù)。
C#中所有對(duì)象共同的基類是什么?
System.Object.
重載和覆寫有什么區(qū)別?
重載提供了對(duì)一個(gè)方法簽名的不同參數(shù)調(diào)用的實(shí)現(xiàn)。覆寫提供了子類中改變父類方法行為的實(shí)現(xiàn)。
在方法定義中,virtual有什么含意?
被virtual修飾的方法可以被子類覆寫。
能夠?qū)⒎庆o態(tài)的方法覆寫成靜態(tài)方法么?
不能,覆寫方法的簽名必須與被覆寫方法的簽名保持一致,除了將virtual改為override。
可以覆寫私有的虛方法么?
不可以,甚至子類中無法訪問父類中的私有方法。
能夠阻止某一個(gè)類被其他類繼承么?
可以,使用關(guān)鍵字sealed。
能夠?qū)崿F(xiàn)允許某個(gè)類被繼承,但不允許其中的某個(gè)方法被覆寫么?
可以,標(biāo)記這個(gè)類為public,并標(biāo)記這個(gè)方法為sealed。
什么是抽象類(abstract class)?
一種不可以被實(shí)例化的類。抽象類中一般含有抽象方法,當(dāng)然也可有具體實(shí)現(xiàn)。繼承類只有實(shí)現(xiàn)過所有抽象類的抽象方法后才能被實(shí)例化。
何時(shí)必須聲明一個(gè)類為抽象類?
當(dāng)這個(gè)類中包含抽象方法時(shí),或是該類并沒有完全實(shí)現(xiàn)父類的抽象方法時(shí)。
接口(interface)是什么?
只含有共有抽象方法(public abstract method)的類。這些方法必須在子類中被實(shí)現(xiàn)。
為什么不能指定接口中方法的修飾符?
接口中的方法用來定義對(duì)象之間通信的契約,指定接口中的方法為私有或保護(hù)沒有意義。他們默認(rèn)為公有方法。
可以繼承多個(gè)接口么?
當(dāng)然。
那么如果這些接口中有重復(fù)的方法名稱呢?
這種情況中你可以決定如何實(shí)現(xiàn)。當(dāng)然需要特別得小心。但是在編譯環(huán)節(jié)是沒有問題的。
接口和抽象類的區(qū)別是什么?
接口中所有方法必須是抽象的,并且不能指定方法的訪問修飾符。抽象類中可以有方法的實(shí)現(xiàn),也可以指定方法的訪問修飾符。
如何區(qū)別重載方法?
不同的參數(shù)類型,不同的參數(shù)個(gè)數(shù),不同的參數(shù)順序。
const和readonly有什么區(qū)別?
const關(guān)鍵字用來聲明編譯時(shí)常量,readonly用來聲明運(yùn)行時(shí)常量。
System.String 和System.StringBuilder有什么區(qū)別?
System.String是不可變的字符串。System.StringBuilder存放了一個(gè)可變的字符串,并提供一些對(duì)這個(gè)字符串修改的方法

 

 

1.new有幾種用法

第一種:new Class();

第二種:覆蓋方法

public new XXXX(){}

第三種:new 約束指定泛型類聲明中的任何類型參數(shù)都必須有公共的無參數(shù)構(gòu)造函數(shù)。

2.如何把一個(gè)array復(fù)制到arrayList里

foreach( object o in array )arrayList.Add(o);

3.datagrid.datasouse可以連接什么數(shù)據(jù)源 [dataset,datatable,dataview]

dataset,datatable,dataview , IList

4.概述反射和序列化

反射:程序集包含模塊,而模塊包含類型,類型又包含成員。反射則提供了封裝程序集、模塊和類型的對(duì)象。您可以使用反射動(dòng)態(tài)地創(chuàng)建類型的實(shí)例,將類型綁定到現(xiàn)有對(duì)象,或從現(xiàn)有對(duì)象中獲取類型。然后,可以調(diào)用類型的方法或訪問其字段和屬性

序列化:序列化是將對(duì)象轉(zhuǎn)換為容易傳輸?shù)母袷降倪^程。例如,可以序列化一個(gè)對(duì)象,然后使用 HTTP 通過 Internet 在客戶端和服務(wù)器之間傳輸該對(duì)象。在另一端,反序列化將從該流重新構(gòu)造對(duì)象。

5.概述o/r mapping 的原理

利用反射,配置 將類于數(shù)據(jù)庫表映射

6.類成員有( )種可訪問形式

可訪問形式?不懂。

可訪問性:public ,protected ,private,internal

7.用sealed修飾的類有什么特點(diǎn)

sealed 修飾符用于防止從所修飾的類派生出其它類。如果一個(gè)密封類被指定為其他類的基類,則會(huì)發(fā)生編譯時(shí)錯(cuò)誤。

密封類不能同時(shí)為抽象類。

sealed 修飾符主要用于防止非有意的派生,但是它還能促使某些運(yùn)行時(shí)優(yōu)化。具體說來,由于密封類永遠(yuǎn)不會(huì)有任何派生類,所以對(duì)密封類的實(shí)例的虛擬函數(shù)成員的調(diào)用可以轉(zhuǎn)換為非虛擬調(diào)用來處理。


8.列舉ADO.NET中的五個(gè)主要對(duì)象,并簡單描述

connection,command,dataReader,trans,dataset ...

9.執(zhí)行下面代碼后:

String strTemp ="abcdefg 某某某";

Int i System.Text.Encoding.Default.GetBytes(strTemp).Length;

Int j = strTemp.Length;

問:i=(14 ) ;j=(11 )

i=(14 ) ;j=(11 ) 中文兩個(gè)字節(jié)

10.C#中,string str = null 與 string str ="",請(qǐng)盡量用文字說明區(qū)別。(要點(diǎn):說明詳細(xì)的內(nèi)存空間分配)

string str ="" 分配空間

11.詳述.NET里class和struct的異同!

class:放在 ? struct放在?

struct值傳遞

類與結(jié)構(gòu)有很多相似之處:結(jié)構(gòu)可以實(shí)現(xiàn)接口,并且可以具有與類相同的成員類型。然而,結(jié)構(gòu)在幾個(gè)重要方面不同于類:結(jié)構(gòu)為值類型而不是引用類型,并且結(jié)構(gòu)不支持繼承。結(jié)構(gòu)的值存儲(chǔ)在“在堆棧上”或“內(nèi)聯(lián)”。細(xì)心的程序員有時(shí)可以通過聰明地使用結(jié)構(gòu)來增強(qiáng)性能。

12.概述.NET里對(duì) remoting 和 webservice 兩項(xiàng)技術(shù)的理解和實(shí)際中的應(yīng)用。

遠(yuǎn)程邏輯調(diào)用,remoing接口只能用在.net中

13.什么是code-behind技術(shù)

aspx and cs

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

web/business/dataaccess

15.asp.net如何實(shí)現(xiàn)MVC模式,舉例說明!

web/business/dataaccess

 

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

答:這個(gè)題范圍太廣,不知道說什么.

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

答:用戶控件就是.ascx擴(kuò)展名的東西嘍,可以拖到不同的頁面中調(diào)用,以節(jié)省代碼.比如登陸可能在多個(gè)頁面上有,就可以做成用戶控件,但是有一個(gè)問題就是用戶控件拖到不同級(jí)別的目錄下后里面的圖片等的相對(duì)路徑會(huì)變得不準(zhǔn)確,需要自已寫方法調(diào)整.

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

答:裝箱就是把值類型轉(zhuǎn)成引用類型,從MS IL角度看好像是boxing,沒記錯(cuò)的話是把值從堆棧轉(zhuǎn)到堆中.拆箱相反,重載就是指一個(gè)方法名同,參數(shù)個(gè)數(shù)不同,返回值可以相同的方法.CLR是通用語言運(yùn)行時(shí),其它的不清楚.

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

答:XML可是好東西,保存配置,站與站之間的交流,WEB SERVICE都要用它.

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

答:結(jié)構(gòu)是值類型,類是引用類型,所以傳結(jié)構(gòu)就是值類型的應(yīng)用啦,傳對(duì)象或類就是引用類型的,這個(gè)不用多寫了吧.

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

答:connection command sqladapter dataset datatable dataview等等.寫不完了.

7.如何理解委托?

答:據(jù)說相當(dāng)于函數(shù)指針,定義了委托就可以在不調(diào)用原方法名稱的情況下調(diào)用那個(gè)方法.

msdn2005中是這樣解釋的:

委托具有以下特點(diǎn):

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

委托允許將方法作為參數(shù)進(jìn)行傳遞。

委托可用于定義回調(diào)方法。

委托可以鏈接在一起;例如,可以對(duì)一個(gè)事件調(diào)用多個(gè)方法。

方法不需要與委托簽名精確匹配。有關(guān)更多信息,請(qǐng)參見協(xié)變和逆變。

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

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

答:這個(gè)異同可多了,要說清楚還真不容易.

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

答:這個(gè)類自已可以寫的啊,你是指基類嗎?那configuration,sqlconnection,sqlcommand等都要用到.

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

答:前者只管傳,不管數(shù)據(jù)到不到,無須建立連接.后者保證傳輸?shù)臄?shù)據(jù)準(zhǔn)確,須要連結(jié).

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

答:form認(rèn)證,windows集成認(rèn)證等,原理不清楚.

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

答:進(jìn)程是老子,線程是兒子,沒有老子就沒有兒子,一個(gè)老子可以有多個(gè)兒子.一個(gè)兒子可以成為別人的兒子,一個(gè)老子也可以為別的老子生兒子.

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

答:代碼分離,這是個(gè)明智的東西,像ASP這樣混成一堆很不爽.或者可以理解成HTML代碼寫在前臺(tái),C#代碼寫在后臺(tái).當(dāng)然前臺(tái)也有腳本,類的調(diào)用等,其實(shí)寫在一起也是可以的.

14.活動(dòng)目錄的作用。

答:這個(gè)不明白.請(qǐng)明白的補(bǔ)充一下.

15..net中讀寫XML的類都?xì)w屬于哪些命名空間?

答:System.Xml

我自已寫的就不一定了,嘿嘿.

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

答:什么東西?

17.什么是SOAP,有哪些應(yīng)用。

答:SOAP(Simple Object Access Protocol )簡單對(duì)象訪問協(xié)議是在分散或分布式的環(huán)境中交換信息并執(zhí)行遠(yuǎn)程過程調(diào)用的協(xié)議,是一個(gè)基于XML的協(xié)議。使用SOAP,不用考慮任何特定的傳輸協(xié)議(最常用的還是HTTP協(xié)議),可以允許任何類型的對(duì)象或代碼,在任何平臺(tái)上,以任何一直語言相互通信。這種相互通信采用的是XML格式的消息,具體請(qǐng)看:http://playist.blogchina.com/2521621.html

18.如何部署一個(gè)ASP.net頁面。

答:隨便啦,想直接上傳就直接上傳,想打包成EXE就打包,看個(gè)人喜好.

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

答:GC?對(duì)象創(chuàng)建了總要清除啊,不然內(nèi)存哪夠用?

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

答:調(diào)用就調(diào)用,還有很多方法嗎?

 

.net筆試題


姓名:                      日期:

1.      填空: (1)面向?qū)ο蟮恼Z言具有________性、_________性、________性。

        (2)能用foreach遍歷訪問的對(duì)象需要實(shí)現(xiàn) ________________接口或聲明________________方法的類型。

        (3)列舉ADO.net中的五個(gè)主要對(duì)象_______________、_____________、_______________、_______________、_________________。

2. 不定項(xiàng)選擇:

(1) 以下敘述正確的是:

      A. 接口中可以有虛方法。     B. 一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。
      C. 接口不能被實(shí)例化。       D. 接口中可以包含已實(shí)現(xiàn)的方法。

   (2) 從數(shù)據(jù)庫讀取記錄,你可能用到的方法有:

      A. ExecuteNonQuery            B. ExecuteScalar

      C. Fill                        D. ExecuteReader

3. 簡述 private、 protected、 public、 internal 修飾符的訪問權(quán)限。


4. 寫出一條Sql語句: 取出表A中第31到第40記錄(SQLServer, 以自動(dòng)增長的ID作為主鍵,  注意:ID可能不是連續(xù)的。)


5 .列舉ASP.NET 頁面之間傳遞值的幾種方式。


6. 寫出程序的輸出結(jié)果

class Class1  {
       private string str = "Class1.str";
       private int i = 0;
       static void StringConvert(string str)  {
           str = "string being converted.";
       }
       static void StringConvert(Class1 c)  {
           c.str = "string being converted.";
       }
       static void Add(int i)  {
           i++;
       }
       static void AddWithRef(ref int i)  {
           i++;
       }
       static void Main()  {
           int i1 = 10;
           int i2 = 20;
           string str = "str";
           Class1 c = new Class1();
           Add(i1);
           AddWithRef(ref i2);
           Add(c.i);
           StringConvert(str);        
           StringConvert(c);
           Console.WriteLine(i1);
           Console.WriteLine(i2);
           Console.WriteLine(c.i);
           Console.WriteLine(str);
           Console.WriteLine(c.str);
       } 
    }


7.寫出程序的輸出結(jié)果

public abstract class A 
{
        public A() 
       {
            Console.WriteLine('A');
        }
        public virtual void Fun() 
       {
            Console.WriteLine("A.Fun()");
        }
}

public class B: A 
{
        public B()
       {
            Console.WriteLine('B');
        }

        public new void Fun() 
       {
            Console.WriteLine("B.Fun()");
        }

        public static void Main() 
       {
           A a = new B();
           a.Fun();
        }
}


8.      寫出程序的輸出結(jié)果:
public class A 
{
        public virtual void Fun1(int i)
       {
            Console.WriteLine(i);
        }

        public void Fun2(A a)  
       {
            a.Fun1(1);
            Fun1(5);
        }
}


public class B : A 
{
        public override void Fun1(int i)   
       {
            base.Fun1 (i + 1);
        }

        public static void Main()  
       {
            B b = new B();
            A a = new A();
            a.Fun2(b);
            b.Fun2(a);         
        }
}

 

9. 一列數(shù)的規(guī)則如下: 1、1、2、3、5、8、13、21、34......

   求第30位數(shù)是多少, 用遞歸算法實(shí)現(xiàn)。(C#語言)


10.  程序設(shè)計(jì): 貓大叫一聲,所有的老鼠都開始逃跑,主人被驚醒。(C#語言)

要求:  1.要有聯(lián)動(dòng)性,老鼠和主人的行為是被動(dòng)的。

2.考慮可擴(kuò)展性,貓的叫聲可能引起其他聯(lián)動(dòng)效應(yīng)。


參考答案:
1. (1)  繼承性、封裝性、多態(tài)性。(考基本概念)
   (2)  IEnumerable 、 GetEnumerator (對(duì)foreach機(jī)制的理解,本來不想出這題的,湊分)
   (3)  ... (送分題, 對(duì)ADO.net的了解)
評(píng)分標(biāo)準(zhǔn):一空1分,滿分10分。

 

2. (1) B、C (考對(duì)接口的理解)  (2)  B、C、D (考查對(duì)ADO.net的熟練程度)
  評(píng)分標(biāo)準(zhǔn): 一題5分,不選或者錯(cuò)選均不得分。漏選得2分。滿分10分。

 

3. . private :   私有成員, 在類的內(nèi)部才可以訪問。
     protected : 保護(hù)成員,該類內(nèi)部和繼承類中可以訪問。
     public :    公共成員,完全公開,沒有訪問限制。
     internal:   在同一命名空間內(nèi)可以訪問。
評(píng)分標(biāo)準(zhǔn):答對(duì)1題2分,2題5分,3題7分。全對(duì)10分。 (送分題)

 

4.  解1:  select top 10 * from A where id not in (select top 30 id from A)
    解2:  select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A)
    評(píng)分標(biāo)準(zhǔn): 寫對(duì)即10分。(答案不唯一,datagrid 分頁可能需要用到)
 
5.  1.使用QueryString,  如....?id=1; response. Redirect()....
    2.使用Session變量
    3.使用Server.Transfer
    ....等等
   評(píng)分標(biāo)準(zhǔn): 答對(duì)1點(diǎn)得3分, 兩點(diǎn)7分, 3點(diǎn)10分。


6.  (考查值引用和對(duì)象引用)
10
21
0
str
string being converted.
評(píng)分標(biāo)準(zhǔn):答對(duì)一點(diǎn)得2分,滿分10分。


7.  A
    B
A.Fun()
評(píng)分標(biāo)準(zhǔn): 寫出A.B 得5分,寫出A.Fun()得5分,滿分10分。
(考查在繼承類中構(gòu)造函數(shù), 以及new 方法, )

 


8.  2
    5
    1
    6

 

(一些人做這題,頭都暈了.... ^_^ )

 

9. 

    public class MainClass
    {
        public static void Main()  
        {
            Console.WriteLine(Foo(30));
        }
        public static int Foo(int i)
        {
            if (i <= 0)
                return 0;
            else if(i > 0 && i <= 2)
                return 1;
            else return Foo(i -1) + Foo(i - 2);
        }
    }
評(píng)分標(biāo)準(zhǔn): 寫出return Foo(i -1) + Foo(i - 2); 得5分。

 寫出if(i > 0 && i <= 2) return 1; 得5分。

           方法參數(shù)過多需要扣分(扣除分?jǐn)?shù) = 參數(shù)個(gè)數(shù) - 1)

           不用遞歸算法扣5分

           (遞歸算法在樹結(jié)構(gòu)建立等方面比較常用)

 

10          

 要點(diǎn):1. 聯(lián)動(dòng)效果,運(yùn)行代碼只要執(zhí)行Cat.Cryed()方法。2. 對(duì)老鼠和主人進(jìn)行抽象
評(píng)分標(biāo)準(zhǔn): <1>.構(gòu)造出Cat、Mouse、Master三個(gè)類,并能使程序運(yùn)行(2分)
            <2>從Mouse和Master中提取抽象(5分)
            <3>聯(lián)動(dòng)效應(yīng),只要執(zhí)行Cat.Cryed()就可以使老鼠逃跑,主人驚醒。(3分)


    public interface Observer
    {
        void Response();    //觀察者的響應(yīng),如是老鼠見到貓的反映
    }
    public interface Subject
    {
        void AimAt(Observer obs);  //針對(duì)哪些觀察者,這里指貓的要撲捉的對(duì)象---老鼠
    }
    public class Mouse : Observer
    {
        private string name;
        public Mouse(string name, Subject subj)
        {          
            this.name = name;
            subj.AimAt(this);
        }
       
        public void Response()
        {
            Console.WriteLine(name + " attempt to escape!");
        }
    }
    public class Master : Observer
    {  
        public Master(Subject subj)
        {          
            subj.AimAt(this);
        }
       
        public void Response()
        {
            Console.WriteLine("Host waken!");
        } 
    }
 
    public class Cat : Subject
    {
        private ArrayList observers;
        public Cat()
        {  
            this.observers = new ArrayList();
        }
        public void AimAt(Observer obs)
        {
            this.observers.Add(obs);
        }
        public void Cry()
        {
            Console.WriteLine("Cat cryed!");
            foreach (Observer obs in this.observers)
            {
                obs.Response();
            }
        }
    }
    class MainClass
    {      
        static void Main(string[] args)
        {
            Cat cat = new Cat();
            Mouse mouse1 = new Mouse("mouse1", cat);
            Mouse mouse2 = new Mouse("mouse2", cat);
            Master master = new Master(cat);
            cat.Cry();
        }
    }


//---------------------------------------------------------------------------------------------

設(shè)計(jì)方法二: 使用event -- delegate設(shè)計(jì)..
    public delegate void SubEventHandler();
    public abstract class Subject
    {
        public event SubEventHandler SubEvent;
        protected void FireAway()
        {
            if (this.SubEvent != null)
                this.SubEvent();
        }  
    }
    public class Cat : Subject
    { 
        public void Cry()
        {
            Console.WriteLine("cat cryed.");
            this.FireAway();
        }
    }
    public abstract class Observer
    {
        public Observer(Subject sub)
        {
            sub.SubEvent += new SubEventHandler(Response);
        }
        public abstract void Response();   
    }
    public class Mouse : Observer
    {
        private string name;
        public Mouse(string name, Subject sub) : base(sub)
        {  
            this.name = name;
        }
        public override void Response()
        {
            Console.WriteLine(name + " attempt to escape!");
        }
    }
    public class Master : Observer
    {
        public Master(Subject sub) : base(sub){}
        public override void Response()
        {
            Console.WriteLine("host waken");
        }
    }
    class Class1
    {
        static void Main(string[] args)
        {
            Cat cat = new Cat();
            Mouse mouse1 = new Mouse("mouse1", cat);
            Mouse mouse2 = new Mouse("mouse2", cat);
            Master master = new Master(cat);
            cat.Cry();
        }

    }


1. C#中 property 與 attribute的區(qū)別,他們各有什么用處,這種機(jī)制的好處在哪里?

2. 講一講你理解的web service,在dot net framework中,怎么很好的結(jié)合xml?(講概念就行了)

3. C#, Java 和 c++的特點(diǎn),有什么相同的地方,不同的地方,C#分別從c++和java中吸取了他們那些優(yōu)點(diǎn)?

4. C#可否對(duì)內(nèi)存進(jìn)行直接的操作?(這可是個(gè)難點(diǎn)哦?要注意!)

5. 用Visual C++ 6.0編寫的代碼(unmanaged code),如何在CLR下和其他dot net component結(jié)合?

6. 以前作過的一些項(xiàng)目?介紹一下自己的編程經(jīng)驗(yàn)。(這是蒙混不過去的,基本一問就知道是真是假)

7. 你對(duì)公司有什么期望?你的薪水期望值?為什么學(xué)計(jì)算機(jī)?以前的工作經(jīng)驗(yàn)(這非常重要)?

 

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

Q4:ADO。NET相對(duì)于ADO等主要有什么改進(jìn)?

Q5:ASP。NET與ASP相比,主要有哪些進(jìn)步?

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

Q7:描述一下C#中索引器的實(shí)現(xiàn)過程,是否只能根據(jù)數(shù)字進(jìn)行索引?

Q8:C#中要使一個(gè)類支持FOREACH遍歷,實(shí)現(xiàn)過程怎樣?

Q10:寫一個(gè)HTML頁面,實(shí)現(xiàn)以下功能,左鍵點(diǎn)擊頁面時(shí)顯示“您好”,右鍵點(diǎn)擊時(shí)顯示“禁止右鍵”。并在2分鐘后自動(dòng)關(guān)閉頁面。

Q11:你對(duì)XMLHTTP、WEBSERVICE 了解嗎?簡單描述其特點(diǎn)、作用

Q12:接口和抽象類有什么區(qū)別?你選擇使用接口和抽象類的依據(jù)是什么?

Q13:自定義控件和一般用戶控件的異同?如果要用這兩者之一,你會(huì)選擇哪種?為什么

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

Q15:UML

Q16:面向?qū)ο蟮母拍睿饕攸c(diǎn)

Q17:類劃分的依據(jù)。類粒度問題

Q18:事物管理問題

 

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

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

第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統(tǒng))。

第四,&和&&的區(qū)別。

第五,HashMap和Hashtable的區(qū)別。

第六,Collection 和 Collections的區(qū)別。

第七,什么時(shí)候用assert。

第八,GC是什么? 為什么要有GC?

第九,String s = new String("xyz");創(chuàng)建了幾個(gè)String Object?

第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

第十一,short s1 = 1; s1 = s1 + 1;有什么錯(cuò)? short s1 = 1; s1 += 1;有什么錯(cuò)?

第十二,sleep() 和 wait() 有什么區(qū)別?

第十三,Java有沒有g(shù)oto?

第十四,數(shù)組有沒有l(wèi)ength()這個(gè)方法? String有沒有l(wèi)ength()這個(gè)方法?

第十五,Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?

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

第十七,給我一個(gè)你最常見到的runtime exception。

第十八,error和exception有什么區(qū)別?

第十九,List, Set, Map是否繼承自Collection接口?

第二十,abstract class和interface有什么區(qū)別?

第二十一,abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是synchronized?

第二十二,接口是否可繼承接口? 抽象類是否可實(shí)現(xiàn)(implements)接口? 抽象類是否可繼承實(shí)體類(concrete class)?

第二十三,啟動(dòng)一個(gè)線程是用run()還是start()?

第二十四,構(gòu)造器Constructor是否可被override?

第二十五,是否可以繼承String類?

第二十六,當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法?

第二十七,try {}里有一個(gè)return語句,那么緊跟在這個(gè)try后的finally {}里的code會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后?

第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?

第二十九,兩個(gè)對(duì)象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對(duì)不對(duì)?

第三十,當(dāng)一個(gè)對(duì)象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對(duì)象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?

第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

第三十二,編程題: 寫一個(gè)Singleton出來。

 

數(shù)據(jù)庫方面:

 

1.存儲(chǔ)過程和函數(shù)的區(qū)別

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

3.游標(biāo)的作用?如何知道游標(biāo)已經(jīng)到了最后?

4.觸發(fā)器分為事前觸發(fā)和事后觸發(fā),這兩種觸發(fā)有和區(qū)別。語句級(jí)觸發(fā)和行級(jí)觸發(fā)有何區(qū)別。

 

1。用C#實(shí)現(xiàn)以下功能

   a 產(chǎn)生一個(gè)int數(shù)組,長度為100,并向其中隨機(jī)插入1-100,并且不能重復(fù)。

   b 對(duì)上面生成的數(shù)組排序,需要支持升序、降序兩種順序

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

3。請(qǐng)說明.net中的錯(cuò)誤處理機(jī)制,并舉例

4。請(qǐng)說出強(qiáng)名的含義

5。請(qǐng)列出c#中幾種循環(huán)的方法,并指出他們的不同

6。請(qǐng)指出.net中所有類型的基類

7。請(qǐng)指出GAC的含義

8。SQL SREVER中,向一個(gè)表中插入了新數(shù)據(jù),如何快捷的得到自增量字段的當(dāng)前值

 

您在什么情況下會(huì)用到虛方法?它與接口有什么不同?

Q:Override與重載有什么區(qū)別?

Q:值類型與引用類型有什么區(qū)別?

Q:怎樣理解靜態(tài)變量?

Q:向服務(wù)器發(fā)送請(qǐng)求有幾種方式?

Q:DataReader與Dataset有什么區(qū)別?

Q:如果在一個(gè)B/S結(jié)構(gòu)的系統(tǒng)中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進(jìn)行處理?

Q:用.net做B/S結(jié)構(gòu)的系統(tǒng),您是用幾層結(jié)構(gòu)來開發(fā),每一層之間的關(guān)系以及為什么要這樣分層?

Q:軟件開發(fā)過程一般有幾個(gè)階段?每個(gè)階段的作用?

Q:微軟推出了一系列的Application Block,請(qǐng)舉出您所知道的Application Block并說明其作用?

Q:請(qǐng)列舉一些您用到過的設(shè)計(jì)模式以及在什么情況下使用該模式?

Q:您對(duì)WebService的體會(huì)?

Q:您對(duì)編程的興趣如何?工作中遇到不懂的問題是怎樣去解決的?您一般怎樣去提高自己的編程水平?

Q:您離職的原因是什么?

Q:通過超鏈接怎樣傳遞中文參數(shù)?

Q:請(qǐng)編程遍歷頁面上所有TextBox控件并給它賦值為string.Empty?

Q:請(qǐng)編程實(shí)現(xiàn)一個(gè)冒泡排序算法?

 

1、override與重載的區(qū)別

2、.net的錯(cuò)誤處理機(jī)制是什么

3、C#中接口和類的異同

4、DataReader和DataSet的異同

 

1.有哪幾種方法可以實(shí)現(xiàn)一個(gè)類存取另外一個(gè)類的成員函數(shù)及屬性,并請(qǐng)舉列來加以說明和分析.

2.如果需記錄類的實(shí)例個(gè)數(shù),該如何實(shí)現(xiàn),請(qǐng)寫一個(gè)簡單的類于以證明.

3.A類是B類的基類,并且都有自己的構(gòu)造,析構(gòu)函數(shù),請(qǐng)舉例證明B類從實(shí)例化到消亡過程中構(gòu)造,析構(gòu)函數(shù)的執(zhí)行過程.

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

 

一.填空題

1.c#中的三元運(yùn)算符是__?:___?

2.當(dāng)整數(shù)a賦值給一個(gè)object對(duì)象時(shí),整數(shù)a將會(huì)被__裝箱(封裝)___?

3.類成員有_____種可訪問形式?  this.;new Class().Method;

4.public static const int A=1;這段代碼有錯(cuò)誤么?是什么?  const不能用static修飾

5.float f=-123.567F;

  int i=(int)f;

i的值現(xiàn)在是_____?   123 

6.利用operator聲明且僅聲明了“==”,有什么錯(cuò)誤么? 

7.委托聲明的關(guān)鍵字是______? delagete

8.用sealed修飾的類有什么特點(diǎn)?密封,不能繼承

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

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

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

12.下面的代碼中有什么錯(cuò)誤嗎?_______

     using System;

     class A

     {

          public virtual void F(){

              Console.WriteLine("A.F");

           }

      }

      abstract class B:A

       {

           public abstract override void F(); // new public abstract void F(); 

       }

 

13.當(dāng)類T只聲明了私有實(shí)例構(gòu)造函數(shù)時(shí),則在T的程序文本外部,___可以___(可以 or 不可以)從T派生出新的類,不可以____(可以 or 不可以)直接創(chuàng)建T的任何實(shí)例。

14.下面這段代碼有錯(cuò)誤么?

    switch (i){

    case():

        CaseZero();

        break;

    case 1:

        CaseOne();

        break;

    case 2:

        dufault;  //wrong

        CaseTwo();

        break;

   }

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

 

二.簡答題

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

4.談?wù)勵(lì)惡徒Y(jié)構(gòu)的區(qū)別?類是引用類型、結(jié)構(gòu)是值類型

5.一個(gè)長度為10000的字符串,通過隨機(jī)從a-z中抽取10000個(gè)字符組成。請(qǐng)用c#語言編寫主要程序來實(shí)現(xiàn)。

6.對(duì)于這樣的一個(gè)枚舉類型:

      enum Color:byte{

          Red,

          Green,

          Blue,

          Orange

       }

     string[] ss=Enum.GetNames(typeof(Color));

     byte[]   bb=Enum.GetValues(typeof(Color));

試寫一段程序顯示出枚舉類型中定義的所有符號(hào)名稱以及它們對(duì)應(yīng)的數(shù)值。

7.您了解設(shè)計(jì)模式么?請(qǐng)列出您所知道的設(shè)計(jì)模式的名稱。 //

8.請(qǐng)?jiān)赟QL Server中設(shè)計(jì)表來保存一個(gè)樹狀結(jié)構(gòu)的組織結(jié)構(gòu)圖(假設(shè)結(jié)構(gòu)圖中只有名稱這一項(xiàng)內(nèi)容需要保存),如果我想查詢某一職位下的所有職位,用一個(gè)存儲(chǔ)過程來實(shí)現(xiàn),你有什么思路?

9.什么叫做SQL注入,如何防止?請(qǐng)舉例說明。

10.下面這段代碼輸出什么?為什么?

     int i=5;

     int j=5;

     if (Object.ReferenceEquals(i,j))

          Console.WriteLine("Equal");

     else

          Console.WriteLine("Not Equal");

//不相等,因?yàn)楸容^的是對(duì)象

 

1.寫一個(gè)實(shí)現(xiàn)對(duì)一段字符串翻轉(zhuǎn)的方法,附加一些條件,如其中包括“,”、“.”,對(duì)其設(shè)計(jì)測試用 例 。

2.對(duì)一支紙杯設(shè)計(jì)測試用例(可以是廣義的杯,不一定是某一支特定功能的杯)

開發(fā)語言概念題

3.什么是反射?

4.用Singleton如何寫設(shè)計(jì)模式

5.C#中的垃圾回收機(jī)制是怎樣的?

6.什么是Application Pool?

7.鏈表和數(shù)組的區(qū)別,各有什么優(yōu)缺點(diǎn).

8.Remoting在客戶端服務(wù)器怎么實(shí)現(xiàn) ?

9.什么是友元函數(shù)?

10.用標(biāo)準(zhǔn)C如何實(shí)現(xiàn)多態(tài)?

11.什么是虛函數(shù)?

12.什么是抽象函數(shù)?

13.什么是內(nèi)存泄漏,怎樣最簡單的方法判斷被存泄漏 ?

14.用英文介紹一下使用C#/C++做的項(xiàng)目,主要功能

15.如果要與美國開電話會(huì)議,會(huì)如何與美國的工程師溝通

16.如果老板認(rèn)為你的技術(shù)落后,你會(huì)怎么回答 

數(shù)據(jù)庫知識(shí)題

17.使用什么工具來調(diào)用存儲(chǔ)過程

18.SQL Server的兩種索引是何形式?索引的作用?索引的優(yōu)缺點(diǎn)?

19.觸發(fā)器的作用 

其它知識(shí)題及問題

20.什么是Web Service?

21.什么是XML?

22.Socket怎么實(shí)現(xiàn)

 

 

Q:您在什么情況下會(huì)用到虛方法?它與接口有什么不同?

Q:Override與重載有什么區(qū)別?

Q:值類型與引用類型有什么區(qū)別?

Q:怎樣理解靜態(tài)變量?

Q:向服務(wù)器發(fā)送請(qǐng)求有幾種方式?

Q:DataReader與Dataset有什么區(qū)別?

Q:如果在一個(gè)B/S結(jié)構(gòu)的系統(tǒng)中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進(jìn)行處理?

Q:用.net做B/S結(jié)構(gòu)的系統(tǒng),您是用幾層結(jié)構(gòu)來開發(fā),每一層之間的關(guān)系以及為什么要這樣分層?

Q:軟件開發(fā)過程一般有幾個(gè)階段?每個(gè)階段的作用?

Q:微軟推出了一系列的Application Block,請(qǐng)舉出您所知道的Application Block并說明其作用?

Q:請(qǐng)列舉一些您用到過的設(shè)計(jì)模式以及在什么情況下使用該模式?

Q:您對(duì)WebService的體會(huì)?

Q:您對(duì)編程的興趣如何?工作中遇到不懂的問題是怎樣去解決的?您一般怎樣去提高自己的編程水平?

Q:您離職的原因是什么?

以下幾道題目如果您不會(huì),請(qǐng)較為詳細(xì)的描述您的解決思路和方法

Q:通過超鏈接怎樣傳遞中文參數(shù)?

Q:請(qǐng)編程遍歷頁面上所有TextBox控件并給它賦值為string.Empty?

Q:請(qǐng)編程實(shí)現(xiàn)一個(gè)冒泡排序算法?

 

1.在對(duì)SQL Server 數(shù)據(jù)庫操作時(shí)應(yīng)選用(a)。
a)SQL Server .NET Framework 數(shù)據(jù)提供程序;
b)OLE DB .NET Framework 數(shù)據(jù)提供程序;
c)ODBC .NET Framework 數(shù)據(jù)提供程序;
d)Oracle .NET Framework數(shù)據(jù)提供程序;
2.下列選項(xiàng)中,(c)是引用類型。
a)enum類型
b)struct類型
c)string類型
d)int類型
3.關(guān)于ASP.NET中的代碼隱藏文件的描述正確的是(a)
a)Web窗體頁的程序的邏輯由代碼組成,這些代碼的創(chuàng)建用于與窗體交互。編程邏輯唯一與用戶界面不同的文件中。該文件稱作為“代碼隱藏”文件,如果用C#創(chuàng)建,該文件將具有“.ascx.cs”擴(kuò)展名。
b)項(xiàng)目中所有Web窗體頁的代碼隱藏文件都被編譯成.EXE文件。
c)項(xiàng)目中所有的Web窗體頁的代碼隱藏文件都被編譯成項(xiàng)目動(dòng)態(tài)鏈接庫(.dll)文件。
d)以上都不正確。
4.以下描述錯(cuò)誤的是(a)
a)在C++中支持抽象類而在C#中不支持抽象類。
b)C++中可在頭文件中聲明類的成員而在CPP文件中定義類的成員,在C#中沒有頭文件并且在同一處聲明和定義類的成員。
c)在C#中可使用 new 修飾符顯式隱藏從基類繼承的成員。
d)在C#中要在派生類中重新定義基類的虛函數(shù)必須在前面加Override。
5.C#的數(shù)據(jù)類型有(b)
a)值類型和調(diào)用類型;
b)值類型和引用類型;
c)引用類型和關(guān)系類型;
d)關(guān)系類型和調(diào)用類型;
6.下列描述錯(cuò)誤的是(d)
a)類不可以多重繼承而接口可以;
b)抽象類自身可以定義成員而接口不可以;
c)抽象類和接口都不能被實(shí)例化;
d)一個(gè)類可以有多個(gè)基類和多個(gè)基接口;
7.在DOM中,裝載一個(gè)XML文檔的方法(b)
a)save方法
b)load方法
c)loadXML方法
d)send方法
8.下列關(guān)于構(gòu)造函數(shù)的描述正確的是(c)
a)構(gòu)造函數(shù)可以聲明返回類型。
b)構(gòu)造函數(shù)不可以用private修飾
c)構(gòu)造函數(shù)必須與類名相同
d)構(gòu)造函數(shù)不能帶參數(shù)
9.以下是一些C#中的枚舉型的定義,其中錯(cuò)誤的用法有(a)
a)public enum var1{ Mike = 100, Nike = 102, Jike }
b)public enum var1{ Mike = 100, Nike, Jike }
c)public enum var1{ Mike=-1 , Nike, Jike }
d)public enum var1{ Mike , Nike , Jike }
10.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; myArray3[2][2]的值是(d)。
a)9
b)2
c)6
d)越界
11.接口是一種引用類型,在接口中可以聲明(a),但不可以聲明公有的域或私有的成員變量。
a)方法、屬性、索引器和事件;
b)方法、屬性信息、屬性;
c)索引器和字段;
d)事件和字段;
12.ASP.NET框架中,服務(wù)器控件是為配合Web表單工作而專門設(shè)計(jì)的。服務(wù)器控件有兩種類型,它們是(a)
a)HTML控件和Web控件
b)HTML控件和XML控件
c)XML控件和Web控件
d)HTML控件和IIS控件
13.ASP.NET中,在Web窗體頁上注冊一個(gè)用戶控件,指定該控件的名稱為”Mike”,正確的注冊指令為(b)
a)<%@Register TagPrefix = “Mike” TagName = “Space2” Src = “myX.ascx”%>
b)<%@Register TagPrefix = “Space2” TagName = “Mike” Src = “myX.ascx”%>
c)<%@Register TagPrefix = “SpaceX” TagName = “Space2” Src = “Mike”%>
d)以上皆非
14.在ADO.NET中,對(duì)于Command對(duì)象的ExecuteNonQuery()方法和ExecuteReader()方法,下面敘述錯(cuò)誤的是(c)。
a)insert、update、delete等操作的Sql語句主要用ExecuteNonQuery()方法來執(zhí)行;
b)ExecuteNonQuery()方法返回執(zhí)行Sql語句所影響的行數(shù)。
c)Select操作的Sql語句只能由ExecuteReader()方法來執(zhí)行;
d)ExecuteReader()方法返回一個(gè)DataReder對(duì)象;
15.下列ASP.NET語句(b)正確地創(chuàng)建了一個(gè)與SQL Server 2000數(shù)據(jù)庫的連接。
a)SqlConnection con1 = new Connection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);
b)SqlConnection con1 = new SqlConnection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);
c)SqlConnection con1 = new SqlConnection(Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB);
d)SqlConnection con1 = new OleDbConnection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);
16.Winform中,關(guān)于ToolBar控件的屬性和事件的描述不正確的是(d)。
a)Buttons屬性表示ToolBar控件的所有工具欄按鈕
b)ButtonSize屬性表示ToolBar控件上的工具欄按鈕的大小,如高度和寬度
c)DropDownArrows屬性表明工具欄按鈕(該按鈕有一列值需要以下拉方式顯示)旁邊是否顯示下箭頭鍵
d)ButtonClick事件在用戶單擊工具欄任何地方時(shí)都會(huì)觸發(fā)
17.在ADO.NET中執(zhí)行一個(gè)存儲(chǔ)過程時(shí),如果要設(shè)置輸出參數(shù)則必須同時(shí)設(shè)置參數(shù)的方向和(d ),必要時(shí)還要設(shè)置參數(shù)尺寸。
a)大小;
b)上限;
c)初始值;
d)類型;

18.如果將窗體的FormBoderStyle設(shè)置為None,則(B)。
a)窗體沒有邊框并不能調(diào)整大小;
b)窗體沒有邊框但能調(diào)整大小;
c)窗體有邊框但不能調(diào)整大小;
d)窗體是透明的;
19.如果要將窗體設(shè)置為透明的,則( b)
a)要將FormBoderStyle屬性設(shè)置為None;
b)要將Opacity屬性設(shè)置為小于100%得值;
c)要將locked 屬性設(shè)置為True;
d)要將 Enabled屬性設(shè)置為True;
20.下列關(guān)于C#中索引器理解正確的是(c )
a)索引器的參數(shù)必須是兩個(gè)或兩個(gè)以上
b)索引器的參數(shù)類型必須是整數(shù)型
c)索引器沒有名字
d)以上皆非
21.下面描述錯(cuò)誤的是(D )。
a)窗體也是控件;
b)窗體也是類;
c)控件是從窗體繼承來的;
d)窗體的父類是控件類;
22.要對(duì)注冊表進(jìn)行操作則必須包含(D )。
a)System.ComponentModel命名空間;
b)System.Collections命名空間;
c)System.Threading命名空間;
d)Microsoft.Win32命名空間;
23.要?jiǎng)?chuàng)建多文檔應(yīng)用程序,需要將窗體的(d )屬性設(shè)為true。
a)DrawGrid;
b)ShowInTaskbar;
c)Enabled;
d)IsMdiContainer;
24.如果設(shè)treeView1=new TreeView(),則treeView1.Nodes.Add("根節(jié)點(diǎn)")返回的是一個(gè) (a)類型的值。
a)TreeNode;
b)int;
c)string;
d)TreeView; 

 25.下面關(guān)于XML的描述錯(cuò)誤的是( d)。
a)XML提供一種描述結(jié)構(gòu)化數(shù)據(jù)的方法;
b)XML 是一種簡單、與平臺(tái)無關(guān)并被廣泛采用的標(biāo)準(zhǔn);
c)XML文檔可承載各種信息;
d)XML只是為了生成結(jié)構(gòu)化文檔;
26. 以下的C#代碼,試圖用來定義一個(gè)接口:
public interface IFile
{
int A;
int delFile()
{
A = 3;
}
void disFile();
}
關(guān)于以上的代碼,以下描述錯(cuò)誤的是(A,B )。
a)以上的代碼中存在的錯(cuò)誤包括:不能在接口中定義變量,所以int A代碼行將出現(xiàn)錯(cuò)誤;
b)以上的代碼中存在的錯(cuò)誤包括:接口方法delFile是不允許實(shí)現(xiàn)的,所以不能編寫具體的實(shí)現(xiàn)函數(shù);
c)代碼void disFile();聲明無錯(cuò)誤,接口可以沒有返回值;
d)代碼void disFile();應(yīng)該編寫為void disFile(){};
29.在C#中利用Socket進(jìn)行網(wǎng)絡(luò)通信編程的一般步驟是:建立Socket偵聽、( a)30.聲明一個(gè)委托public delegate int myCallBack(int x); 則用該委托產(chǎn)生的回調(diào)方法的原型應(yīng)該是(b )。
a)void myCallBack(int x) ;
b)int receive(int num) ;
c)string receive(int x) ;
d)不確定的;
二、判斷題,對(duì)的打√錯(cuò)的打×(每小題2分,共20分)
1.( T)在C#中,裝箱操作是將值類型轉(zhuǎn)化成引用類型。
2.( F)接口中的成員不可以有訪問域修飾符,但可以有其它修飾符。
3.( F)在C#中,索引器是專門用來訪問對(duì)象中的數(shù)組信息的。
4.( T)在C#中,接口可以被多重繼承而類不能。
5.( F)在C#中,int[][]是定義一個(gè)int型的二維數(shù)組。
6.( T)異常類對(duì)象均為System.Exception類的對(duì)象。
7.(T ) 當(dāng)窗體最小化后,再次還原成為活動(dòng)窗體時(shí)將自動(dòng)觸發(fā)Paint事件。
8.( T) ASP.NET中,使用驗(yàn)證控件來驗(yàn)證用戶輸入,要求用戶不可跳過該項(xiàng)輸入,并且用戶輸入值在0和1000之間,則適用RequiredFieldValidator和RangeValidator控件。
9.( F) 聲明委托實(shí)際上是聲明了一個(gè)方法。
10.(T ) 任何事物都是對(duì)象。 
1.請(qǐng)簡述一下用Socket進(jìn)行同步通訊編程的詳細(xì)步驟
1、在應(yīng)用程序和遠(yuǎn)程設(shè)備中使用協(xié)議和網(wǎng)絡(luò)地址初始化套接字
2、在應(yīng)用程序中通過指定端口和地址建立監(jiān)聽
3、遠(yuǎn)程設(shè)備發(fā)出連接請(qǐng)求
4、應(yīng)用程序接受連接產(chǎn)生通信scoket
5、應(yīng)用程序和遠(yuǎn)程設(shè)備開始通訊(在通訊中應(yīng)用程序?qū)炱鹬钡酵ㄓ嵔Y(jié)束)
6、通訊結(jié)束,關(guān)閉應(yīng)用程序和遠(yuǎn)程設(shè)備的Socket回收資源
2.比較ADO 與ADO.NET 的不同。