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

1.面向對象的思想主要包括什么?
面向對象三大特征:繼承,封套,多態.面相對象的思想也不是一句兩句就能說清楚..主要思想就是減少代碼重復,增大代碼復用率..

2.什么是ASP.net中的用戶控件
問這樣的問題,一般是迷惑你.因為新手還是分不清楚用戶控件和服務器控件(也稱自定義控件)..用戶控件一般用在內容多為靜態,或者少許會改變的情況下..用的比較大..類似ASP中的include..但是功能要強大的多..

如果現有的 ASP.NET 服務器控件都不符合應用程序的特定要求,則可以創建封裝所需功能的 Web 用戶控件或 Web 自定義控件。這兩種控件之間的主要區別在于設計時的易創建性與易用性。

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

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

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


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

4.列舉一下你所了解的XML技術及其應用
xml用于配置,用于保存靜態數據類型.接觸XML最多的是web Services..和config

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

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

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

7.如何理解委托?
委托的概念,最好的說明就是事件.因為事件使用的就是委托.例如:this.Load += new System.EventHandler(this.Page_Load);這個就是使用了一個委托.
具體的用法請參考.我以前的帖子,設計貓鼠聯動..

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

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

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

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

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

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

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

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

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

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

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

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

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

1.new有幾種用法

第一種:new Class();

第二種:覆蓋方法

public new XXXX(){}

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

2.如何把一個array復制到arrayList里

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

3.datagrid.datasouse可以連接什么數據源 [dataset,datatable,dataview]

dataset,datatable,dataview , IList

4.概述反射和序列化

反射:程序集包含模塊,而模塊包含類型,類型又包含成員。反射則提供了封裝程序集、模塊和類型的對象。您可以使用反射動態地創建類型的實例,將類型綁定到現有對象,或從現有對象中獲取類型。然后,可以調用類型的方法或訪問其字段和屬性

序列化:序列化是將對象轉換為容易傳輸的格式的過程。例如,可以序列化一個對象,然后使用 HTTP 通過 Internet 在客戶端和服務器之間傳輸該對象。在另一端,反序列化將從該流重新構造對象。

5.概述o/r mapping 的原理

利用反射,配置 將類于數據庫表映射

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

可訪問形式?不懂。

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

7.用sealed修飾的類有什么特點

sealed 修飾符用于防止從所修飾的類派生出其它類。如果一個密封類被指定為其他類的基類,則會發生編譯時錯誤。

密封類不能同時為抽象類。

sealed 修飾符主要用于防止非有意的派生,但是它還能促使某些運行時優化。具體說來,由于密封類永遠不會有任何派生類,所以對密封類的實例的虛擬函數成員的調用可以轉換為非虛擬調用來處理。

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

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

9.執行下面代碼后:

String strTemp ="abcdefg 某某某";

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

Int j = strTemp.Length;

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

i=(14 ) ;j=(11 ) 中文兩個字節

10.C#中,string str = null 與 string str ="",請盡量用文字說明區別。(要點:說明詳細的內存空間分配)

string str ="" 分配空間

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

class:放在 ? struct放在?

struct值傳遞

類與結構有很多相似之處:結構可以實現接口,并且可以具有與類相同的成員類型。然而,結構在幾個重要方面不同于類:結構為值類型而不是引用類型,并且結構不支持繼承。結構的值存儲在“在堆棧上”或“內聯”。細心的程序員有時可以通過聰明地使用結構來增強性能。

12.概述.NET里對 remoting 和 webservice 兩項技術的理解和實際中的應用。

遠程邏輯調用,remoing接口只能用在.net中

13.什么是code-behind技術

aspx and cs

14.概述三層結構體系

web/business/dataaccess

15.asp.net如何實現MVC模式,舉例說明!

web/business/dataaccess

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

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

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

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

答:用戶控件就是.ascx擴展名的東西嘍,可以拖到不同的頁面中調用,以節省代碼.比如登陸可能在多個頁面上有,就可以做成用戶控件,但是有一個問題就是用戶控件拖到不同級別的目錄下后里面的圖片等的相對路徑會變得不準確,需要自已寫方法調整.

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

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

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

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

5.值類型和引用類型的區別?寫出C#的樣例代碼。答:結構是值類型,類是引用類型,所以傳結構就是值類型的應用啦,傳對象或類就是引用類型的,這個不用多寫了吧.

 

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

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

7.如何理解委托?

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

msdn2005中是這樣解釋的:

委托具有以下特點:

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

答:進程是老子,線程是兒子,沒有老子就沒有兒子,一個老子可以有多個兒子.一個兒子可以成為別人的兒子,一個老子也可以為別的老子生兒子.

13.什么是code-Behind技術。

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


 

 

ASP.NET面試的題目
1。請簡要寫出你對C#及ASP的認識。


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

3。 請使用ADO。NET 寫出數據庫連接開始事務處理,即數據庫連接(代碼)
 
       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語言中,如果要建立一個工資表包含職工號,姓名,職稱。工資等字段。若要保證工資 字段 的取值不低于800元,最合適的實現方法是:
A。在創建工資表時為”工資“字段建立缺省
B。在創建工資表時為”工資“字段建立檢查約束
C。在工資表建立一個觸發器
D。為工資表數據輸入編寫一個程序進行控制

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

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

7。請使用正則表達式驗證電子郵件地址的合法性(代碼)

8。如何設定DATAGRID中模板列里 下拉列表默然值,如何在編輯時,讓其綁定另一個表的數據并自動講當前值設為默認值

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


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

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

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

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

 


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

 

 

1.new有幾種用法

第一種:new Class();

第二種:覆蓋方法

public new XXXX(){}

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

2.如何把一個array復制到arrayList里

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

3.datagrid.datasouse可以連接什么數據源 [dataset,datatable,dataview]

dataset,datatable,dataview , IList

4.概述反射和序列化

反射:程序集包含模塊,而模塊包含類型,類型又包含成員。反射則提供了封裝程序集、模塊和類型的對象。您可以使用反射動態地創建類型的實例,將類型綁定到現有對象,或從現有對象中獲取類型。然后,可以調用類型的方法或訪問其字段和屬性

序列化:序列化是將對象轉換為容易傳輸的格式的過程。例如,可以序列化一個對象,然后使用 HTTP 通過 Internet 在客戶端和服務器之間傳輸該對象。在另一端,反序列化將從該流重新構造對象。

5.概述o/r mapping 的原理

利用反射,配置 將類于數據庫表映射

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

可訪問形式?不懂。

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

7.用sealed修飾的類有什么特點

sealed 修飾符用于防止從所修飾的類派生出其它類。如果一個密封類被指定為其他類的基類,則會發生編譯時錯誤。

密封類不能同時為抽象類。

sealed 修飾符主要用于防止非有意的派生,但是它還能促使某些運行時優化。具體說來,由于密封類永遠不會有任何派生類,所以對密封類的實例的虛擬函數成員的調用可以轉換為非虛擬調用來處理。


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

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

9.執行下面代碼后:

String strTemp ="abcdefg 某某某";

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

Int j = strTemp.Length;

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

i=(14 ) ;j=(11 ) 中文兩個字節

10.C#中,string str = null 與 string str ="",請盡量用文字說明區別。(要點:說明詳細的內存空間分配)

string str ="" 分配空間

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

class:放在 ? struct放在?

struct值傳遞

類與結構有很多相似之處:結構可以實現接口,并且可以具有與類相同的成員類型。然而,結構在幾個重要方面不同于類:結構為值類型而不是引用類型,并且結構不支持繼承。結構的值存儲在“在堆棧上”或“內聯”。細心的程序員有時可以通過聰明地使用結構來增強性能。

12.概述.NET里對 remoting 和 webservice 兩項技術的理解和實際中的應用。

遠程邏輯調用,remoing接口只能用在.net中

13.什么是code-behind技術

aspx and cs

14.概述三層結構體系

web/business/dataaccess

15.asp.net如何實現MVC模式,舉例說明!

web/business/dataaccess

 

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

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

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

答:用戶控件就是.ascx擴展名的東西嘍,可以拖到不同的頁面中調用,以節省代碼.比如登陸可能在多個頁面上有,就可以做成用戶控件,但是有一個問題就是用戶控件拖到不同級別的目錄下后里面的圖片等的相對路徑會變得不準確,需要自已寫方法調整.

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

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

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

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

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

答:結構是值類型,類是引用類型,所以傳結構就是值類型的應用啦,傳對象或類就是引用類型的,這個不用多寫了吧.

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

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

7.如何理解委托?

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

msdn2005中是這樣解釋的:

委托具有以下特點:

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

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

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

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

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

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

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

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

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

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

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

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

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

答:form認證,windows集成認證等,原理不清楚.

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

答:進程是老子,線程是兒子,沒有老子就沒有兒子,一個老子可以有多個兒子.一個兒子可以成為別人的兒子,一個老子也可以為別的老子生兒子.

13.什么是code-Behind技術。

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

14.活動目錄的作用。

答:這個不明白.請明白的補充一下.

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

答:System.Xml

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

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

答:什么東西?

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

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

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

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

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

答:GC?對象創建了總要清除啊,不然內存哪夠用?

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

答:調用就調用,還有很多方法嗎?

 

.net筆試題


姓名:                      日期:

1.      填空: (1)面向對象的語言具有________性、_________性、________性。

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

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

2. 不定項選擇:

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

      A. 接口中可以有虛方法。     B. 一個類可以實現多個接口。
      C. 接口不能被實例化。       D. 接口中可以包含已實現的方法。

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

      A. ExecuteNonQuery            B. ExecuteScalar

      C. Fill                        D. ExecuteReader

3. 簡述 private、 protected、 public、 internal 修飾符的訪問權限。


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


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


6. 寫出程序的輸出結果

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.寫出程序的輸出結果

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.      寫出程序的輸出結果:
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. 一列數的規則如下: 1、1、2、3、5、8、13、21、34......

   求第30位數是多少, 用遞歸算法實現。(C#語言)


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

要求:  1.要有聯動性,老鼠和主人的行為是被動的。

2.考慮可擴展性,貓的叫聲可能引起其他聯動效應。


參考答案:
1. (1)  繼承性、封裝性、多態性。(考基本概念)
   (2)  IEnumerable 、 GetEnumerator (對foreach機制的理解,本來不想出這題的,湊分)
   (3)  ... (送分題, 對ADO.net的了解)
評分標準:一空1分,滿分10分。

 

2. (1) B、C (考對接口的理解)  (2)  B、C、D (考查對ADO.net的熟練程度)
  評分標準: 一題5分,不選或者錯選均不得分。漏選得2分。滿分10分。

 

3. . private :   私有成員, 在類的內部才可以訪問。
     protected : 保護成員,該類內部和繼承類中可以訪問。
     public :    公共成員,完全公開,沒有訪問限制。
     internal:   在同一命名空間內可以訪問。
評分標準:答對1題2分,2題5分,3題7分。全對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)
    評分標準: 寫對即10分。(答案不唯一,datagrid 分頁可能需要用到)
 
5.  1.使用QueryString,  如....?id=1; response. Redirect()....
    2.使用Session變量
    3.使用Server.Transfer
    ....等等
   評分標準: 答對1點得3分, 兩點7分, 3點10分。


6.  (考查值引用和對象引用)
10
21
0
str
string being converted.
評分標準:答對一點得2分,滿分10分。


7.  A
    B
A.Fun()
評分標準: 寫出A.B 得5分,寫出A.Fun()得5分,滿分10分。
(考查在繼承類中構造函數, 以及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);
        }
    }
評分標準: 寫出return Foo(i -1) + Foo(i - 2); 得5分。

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

           方法參數過多需要扣分(扣除分數 = 參數個數 - 1)

           不用遞歸算法扣5分

           (遞歸算法在樹結構建立等方面比較常用)

 

10          

 要點:1. 聯動效果,運行代碼只要執行Cat.Cryed()方法。2. 對老鼠和主人進行抽象
評分標準: <1>.構造出Cat、Mouse、Master三個類,并能使程序運行(2分)
            <2>從Mouse和Master中提取抽象(5分)
            <3>聯動效應,只要執行Cat.Cryed()就可以使老鼠逃跑,主人驚醒。(3分)


    public interface Observer
    {
        void Response();    //觀察者的響應,如是老鼠見到貓的反映
    }
    public interface Subject
    {
        void AimAt(Observer obs);  //針對哪些觀察者,這里指貓的要撲捉的對象---老鼠
    }
    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();
        }
    }


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

設計方法二: 使用event -- delegate設計..
    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的區別,他們各有什么用處,這種機制的好處在哪里?

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

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

4. C#可否對內存進行直接的操作?(這可是個難點哦?要注意!)

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

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

7. 你對公司有什么期望?你的薪水期望值?為什么學計算機?以前的工作經驗(這非常重要)?

 

Q3: 維護數據庫的完整性、一致性、你喜歡用觸發器還是自寫業務邏輯?為什么

Q4:ADO。NET相對于ADO等主要有什么改進?

Q5:ASP。NET與ASP相比,主要有哪些進步?

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

Q7:描述一下C#中索引器的實現過程,是否只能根據數字進行索引?

Q8:C#中要使一個類支持FOREACH遍歷,實現過程怎樣?

Q10:寫一個HTML頁面,實現以下功能,左鍵點擊頁面時顯示“您好”,右鍵點擊時顯示“禁止右鍵”。并在2分鐘后自動關閉頁面。

Q11:你對XMLHTTP、WEBSERVICE 了解嗎?簡單描述其特點、作用

Q12:接口和抽象類有什么區別?你選擇使用接口和抽象類的依據是什么?

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

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

Q15:UML

Q16:面向對象的概念,主要特點

Q17:類劃分的依據。類粒度問題

Q18:事物管理問題

 

第一,談談final, finally, finalize的區別。

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

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

第四,&和&&的區別。

第五,HashMap和Hashtable的區別。

第六,Collection 和 Collections的區別。

第七,什么時候用assert。

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

第九,String s = new String("xyz");創建了幾個String Object?

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

第十一,short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 += 1;有什么錯?

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

第十三,Java有沒有goto?

第十四,數組有沒有length()這個方法? String有沒有length()這個方法?

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

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

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

第十八,error和exception有什么區別?

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

第二十,abstract class和interface有什么區別?

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

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

第二十三,啟動一個線程是用run()還是start()?

第二十四,構造器Constructor是否可被override?

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

第二十六,當一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法?

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

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

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

第三十,當一個對象被當作參數傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結果,那么這里到底是值傳遞還是引用傳遞?

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

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

 

數據庫方面:

 

1.存儲過程和函數的區別

2.事務是什么?

3.游標的作用?如何知道游標已經到了最后?

4.觸發器分為事前觸發和事后觸發,這兩種觸發有和區別。語句級觸發和行級觸發有何區別。

 

1。用C#實現以下功能

   a 產生一個int數組,長度為100,并向其中隨機插入1-100,并且不能重復。

   b 對上面生成的數組排序,需要支持升序、降序兩種順序

2。請說明在.net中常用的幾種頁面間傳遞參數的方法,并說出他們的優缺點。

3。請說明.net中的錯誤處理機制,并舉例

4。請說出強名的含義

5。請列出c#中幾種循環的方法,并指出他們的不同

6。請指出.net中所有類型的基類

7。請指出GAC的含義

8。SQL SREVER中,向一個表中插入了新數據,如何快捷的得到自增量字段的當前值

 

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

Q:Override與重載有什么區別?

Q:值類型與引用類型有什么區別?

Q:怎樣理解靜態變量?

Q:向服務器發送請求有幾種方式?

Q:DataReader與Dataset有什么區別?

Q:如果在一個B/S結構的系統中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進行處理?

Q:用.net做B/S結構的系統,您是用幾層結構來開發,每一層之間的關系以及為什么要這樣分層?

Q:軟件開發過程一般有幾個階段?每個階段的作用?

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

Q:請列舉一些您用到過的設計模式以及在什么情況下使用該模式?

Q:您對WebService的體會?

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

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

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

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

Q:請編程實現一個冒泡排序算法?

 

1、override與重載的區別

2、.net的錯誤處理機制是什么

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

4、DataReader和DataSet的異同

 

1.有哪幾種方法可以實現一個類存取另外一個類的成員函數及屬性,并請舉列來加以說明和分析.

2.如果需記錄類的實例個數,該如何實現,請寫一個簡單的類于以證明.

3.A類是B類的基類,并且都有自己的構造,析構函數,請舉例證明B類從實例化到消亡過程中構造,析構函數的執行過程.

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

 

一.填空題

1.c#中的三元運算符是__?:___?

2.當整數a賦值給一個object對象時,整數a將會被__裝箱(封裝)___?

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

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

5.float f=-123.567F;

  int i=(int)f;

i的值現在是_____?   123 

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

7.委托聲明的關鍵字是______? delagete

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

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

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

11.在.Net托管代碼中我們不用擔心內存漏洞,這是因為有了______?gc

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

     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.當類T只聲明了私有實例構造函數時,則在T的程序文本外部,___可以___(可以 or 不可以)從T派生出新的類,不可以____(可以 or 不可以)直接創建T的任何實例。

14.下面這段代碼有錯誤么?

    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這兩個關鍵字有什么意義,請寫出你所知道的意義?using 指令 和語句 new 創建實例 new 隱藏基類中方法

4.談談類和結構的區別?類是引用類型、結構是值類型

5.一個長度為10000的字符串,通過隨機從a-z中抽取10000個字符組成。請用c#語言編寫主要程序來實現。

6.對于這樣的一個枚舉類型:

      enum Color:byte{

          Red,

          Green,

          Blue,

          Orange

       }

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

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

試寫一段程序顯示出枚舉類型中定義的所有符號名稱以及它們對應的數值。

7.您了解設計模式么?請列出您所知道的設計模式的名稱。 //

8.請在SQL Server中設計表來保存一個樹狀結構的組織結構圖(假設結構圖中只有名稱這一項內容需要保存),如果我想查詢某一職位下的所有職位,用一個存儲過程來實現,你有什么思路?

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

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

     int i=5;

     int j=5;

     if (Object.ReferenceEquals(i,j))

          Console.WriteLine("Equal");

     else

          Console.WriteLine("Not Equal");

//不相等,因為比較的是對象

 

1.寫一個實現對一段字符串翻轉的方法,附加一些條件,如其中包括“,”、“.”,對其設計測試用 例 。

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

開發語言概念題

3.什么是反射?

4.用Singleton如何寫設計模式

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

6.什么是Application Pool?

7.鏈表和數組的區別,各有什么優缺點.

8.Remoting在客戶端服務器怎么實現 ?

9.什么是友元函數?

10.用標準C如何實現多態?

11.什么是虛函數?

12.什么是抽象函數?

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

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

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

16.如果老板認為你的技術落后,你會怎么回答 

數據庫知識題

17.使用什么工具來調用存儲過程

18.SQL Server的兩種索引是何形式?索引的作用?索引的優缺點?

19.觸發器的作用 

其它知識題及問題

20.什么是Web Service?

21.什么是XML?

22.Socket怎么實現

 

 

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

Q:Override與重載有什么區別?

Q:值類型與引用類型有什么區別?

Q:怎樣理解靜態變量?

Q:向服務器發送請求有幾種方式?

Q:DataReader與Dataset有什么區別?

Q:如果在一個B/S結構的系統中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進行處理?

Q:用.net做B/S結構的系統,您是用幾層結構來開發,每一層之間的關系以及為什么要這樣分層?

Q:軟件開發過程一般有幾個階段?每個階段的作用?

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

Q:請列舉一些您用到過的設計模式以及在什么情況下使用該模式?

Q:您對WebService的體會?

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

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

以下幾道題目如果您不會,請較為詳細的描述您的解決思路和方法

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

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

Q:請編程實現一個冒泡排序算法?

 

1.在對SQL Server 數據庫操作時應選用(a)。
a)SQL Server .NET Framework 數據提供程序;
b)OLE DB .NET Framework 數據提供程序;
c)ODBC .NET Framework 數據提供程序;
d)Oracle .NET Framework數據提供程序;
2.下列選項中,(c)是引用類型。
a)enum類型
b)struct類型
c)string類型
d)int類型
3.關于ASP.NET中的代碼隱藏文件的描述正確的是(a)
a)Web窗體頁的程序的邏輯由代碼組成,這些代碼的創建用于與窗體交互。編程邏輯唯一與用戶界面不同的文件中。該文件稱作為“代碼隱藏”文件,如果用C#創建,該文件將具有“.ascx.cs”擴展名。
b)項目中所有Web窗體頁的代碼隱藏文件都被編譯成.EXE文件。
c)項目中所有的Web窗體頁的代碼隱藏文件都被編譯成項目動態鏈接庫(.dll)文件。
d)以上都不正確。
4.以下描述錯誤的是(a)
a)在C++中支持抽象類而在C#中不支持抽象類。
b)C++中可在頭文件中聲明類的成員而在CPP文件中定義類的成員,在C#中沒有頭文件并且在同一處聲明和定義類的成員。
c)在C#中可使用 new 修飾符顯式隱藏從基類繼承的成員。
d)在C#中要在派生類中重新定義基類的虛函數必須在前面加Override。
5.C#的數據類型有(b)
a)值類型和調用類型;
b)值類型和引用類型;
c)引用類型和關系類型;
d)關系類型和調用類型;
6.下列描述錯誤的是(d)
a)類不可以多重繼承而接口可以;
b)抽象類自身可以定義成員而接口不可以;
c)抽象類和接口都不能被實例化;
d)一個類可以有多個基類和多個基接口;
7.在DOM中,裝載一個XML文檔的方法(b)
a)save方法
b)load方法
c)loadXML方法
d)send方法
8.下列關于構造函數的描述正確的是(c)
a)構造函數可以聲明返回類型。
b)構造函數不可以用private修飾
c)構造函數必須與類名相同
d)構造函數不能帶參數
9.以下是一些C#中的枚舉型的定義,其中錯誤的用法有(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框架中,服務器控件是為配合Web表單工作而專門設計的。服務器控件有兩種類型,它們是(a)
a)HTML控件和Web控件
b)HTML控件和XML控件
c)XML控件和Web控件
d)HTML控件和IIS控件
13.ASP.NET中,在Web窗體頁上注冊一個用戶控件,指定該控件的名稱為”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中,對于Command對象的ExecuteNonQuery()方法和ExecuteReader()方法,下面敘述錯誤的是(c)。
a)insert、update、delete等操作的Sql語句主要用ExecuteNonQuery()方法來執行;
b)ExecuteNonQuery()方法返回執行Sql語句所影響的行數。
c)Select操作的Sql語句只能由ExecuteReader()方法來執行;
d)ExecuteReader()方法返回一個DataReder對象;
15.下列ASP.NET語句(b)正確地創建了一個與SQL Server 2000數據庫的連接。
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中,關于ToolBar控件的屬性和事件的描述不正確的是(d)。
a)Buttons屬性表示ToolBar控件的所有工具欄按鈕
b)ButtonSize屬性表示ToolBar控件上的工具欄按鈕的大小,如高度和寬度
c)DropDownArrows屬性表明工具欄按鈕(該按鈕有一列值需要以下拉方式顯示)旁邊是否顯示下箭頭鍵
d)ButtonClick事件在用戶單擊工具欄任何地方時都會觸發
17.在ADO.NET中執行一個存儲過程時,如果要設置輸出參數則必須同時設置參數的方向和(d ),必要時還要設置參數尺寸。
a)大小;
b)上限;
c)初始值;
d)類型;

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

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