C#和ASP.Net面試題目集錦

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.面向對象的思想主要包括什麼?
面向對象三大特徵:繼承,封套,多態.面相對象的思想也不是一句兩句就能說清楚..主要思想就是減小代碼重複,增大代碼複用率..html

2.什麼是ASP.net中的用戶控件
問這樣的問題,通常是迷惑你.由於新手仍是分不清楚用戶控件和服務器控件(也稱自定義控件)..用戶控件通常用在內容多爲靜態,或者少量會改變的狀況下..用的比較大..相似ASP中的include..可是功能要強大的多..java

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

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

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

下表概述了這兩種類型之間的主要區別:
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出來的對象單獨分配一個獨立的內存..因此值不會互相沖突/sql

數據成員能夠分靜態變量、非靜態變量兩種.
 靜態成員:靜態類中的成員加入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#中的接口和類有什麼異同。
類是方法功能的實現和集合,接口是規範類.約束類.

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分鐘)


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

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

3、分析:(除了答案,還需闡明思路):
一、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]有重複的數據,沒有重複的不顯示出來。

SELECT `vPART_ID` FROM `buybill` group by vPART_ID HAVING COUNT(vPART_ID)>1


傳入某個屬性的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三、2一、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:請編程實現一個冒泡排序算法?

 

一、override與重載的區別

二、.net的錯誤處理機制是什麼

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

四、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、判斷題,對的打√錯的打×(每小題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進行同步通信編程的詳細步驟 一、在應用程序和遠程設備中使用協議和網絡地址初始化套接字 二、在應用程序中經過指定端口和地址創建監聽 三、遠程設備發出鏈接請求 四、應用程序接受鏈接產生通訊scoket 五、應用程序和遠程設備開始通信(在通信中應用程序將掛起直到通信結束) 六、通信結束,關閉應用程序和遠程設備的Socket回收資源 2.比較ADO 與ADO.NET 的不一樣。 
相關文章
相關標籤/搜索