★33°空間‰


                                 ----★七彩服飾  【最潮拜☆日單精品】【Esprit】【Hotwind】滿150包郵-女裝-流行女裝    www.7color.hb.cn

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

          14.活動目錄的作用。
          活動目錄是window2000的最重要的功能.可以將用戶信息全部集成起來,登陸以后可以訪問多個不同的網(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,簡單對象接受協(xié)議.以xml為基本編碼結(jié)構(gòu),建立在已有通信協(xié)議上(如http,不過據(jù)說ms在搞最底層的架構(gòu)在tcp/ip上的soap)的一種規(guī)范
          是微軟大力推廣的Web Service使用的協(xié)議..

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

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

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

          1.new有幾種用法

          第一種:new Class();

          第二種:覆蓋方法

          public new XXXX(){}

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

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

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

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

          dataset,datatable,dataview , IList

          4.概述反射和序列化

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

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

          5.概述o/r mapping 的原理

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

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

          可訪問形式?不懂。

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

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

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

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

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

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

          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 ) 中文兩個字節(jié)

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

          string str ="" 分配空間

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

          class:放在 ? struct放在?

          struct值傳遞

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

          12.概述.NET里對 remoting 和 webservice 兩項技術(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如何實現(xiàn)MVC模式,舉例說明!

          web/business/dataaccess

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

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

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

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

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

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

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

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

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

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

           

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

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

          7.如何理解委托?

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

          msdn2005中是這樣解釋的:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

           

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

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

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

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


           

           

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


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

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

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

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

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

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

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


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

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

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

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

           


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

           

           

          1.new有幾種用法

          第一種:new Class();

          第二種:覆蓋方法

          public new XXXX(){}

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

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

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

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

          dataset,datatable,dataview , IList

          4.概述反射和序列化

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

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

          5.概述o/r mapping 的原理

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

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

          可訪問形式?不懂。

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

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

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

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

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


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

          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 ) 中文兩個字節(jié)

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

          string str ="" 分配空間

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

          class:放在 ? struct放在?

          struct值傳遞

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

          12.概述.NET里對 remoting 和 webservice 兩項技術(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如何實現(xiàn)MVC模式,舉例說明!

          web/business/dataaccess

           

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

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

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

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

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

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

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

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

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

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

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

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

          7.如何理解委托?

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

          msdn2005中是這樣解釋的:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          14.活動目錄的作用。

          答:這個不明白.請明白的補(bǔ)充一下.

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

          答:System.Xml

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

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

          答:什么東西?

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

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

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

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

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

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

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

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

           

          .net筆試題


          姓名:                      日期:

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

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

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

          2. 不定項選擇:

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

                A. 接口中可以有虛方法。     B. 一個類可以實現(xiàn)多個接口。
                C. 接口不能被實例化。       D. 接口中可以包含已實現(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, 以自動增長的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ù)是多少, 用遞歸算法實現(xiàn)。(C#語言)


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

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

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


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

           

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

           

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


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


          7.  A
              B
          A.Fun()
          評分標(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);
                  }
              }
          評分標(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ù)個數(shù) - 1)

                     不用遞歸算法扣5分

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

           

          10          

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


              public interface Observer
              {
                  void Response();    //觀察者的響應(yīng),如是老鼠見到貓的反映
              }
              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();
                  }
              }


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

          設(shè)計方法二: 使用event -- delegate設(shè)計..
              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#可否對內(nèi)存進(jìn)行直接的操作?(這可是個難點(diǎn)哦?要注意!)

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

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

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

           

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

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

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

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

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

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

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

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

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

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

          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(實現(xiàn))interface(接口)?

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

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

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

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

          第七,什么時候用assert。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

           

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

           

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

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

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

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

           

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

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

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

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

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

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

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

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

          7。請指出GAC的含義

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

           

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

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

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

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

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

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

          Q:如果在一個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ā)過程一般有幾個階段?每個階段的作用?

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

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

          Q:您對WebService的體會?

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

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

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

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

          Q:請編程實現(xiàn)一個冒泡排序算法?

           

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

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

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

          4、DataReader和DataSet的異同

           

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

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

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

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

           

          一.填空題

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

          2.當(dāng)整數(shù)a賦值給一個object對象時,整數(shù)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的值現(xiàn)在是_____?   123 

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

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

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

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

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

          11.在.Net托管代碼中我們不用擔(dān)心內(nèi)存漏洞,這是因為有了______?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.當(dāng)類T只聲明了私有實例構(gòu)造函數(shù)時,則在T的程序文本外部,___可以___(可以 or 不可以)從T派生出新的類,不可以____(可以 or 不可以)直接創(chuàng)建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這兩個關(guān)鍵字有什么意義,請寫出你所知道的意義?using 指令 和語句 new 創(chuàng)建實例 new 隱藏基類中方法

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

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

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

                enum Color:byte{

                    Red,

                    Green,

                    Blue,

                    Orange

                 }

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

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

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

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

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

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

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

               int i=5;

               int j=5;

               if (Object.ReferenceEquals(i,j))

                    Console.WriteLine("Equal");

               else

                    Console.WriteLine("Not Equal");

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

           

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

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

          開發(fā)語言概念題

          3.什么是反射?

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

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

          6.什么是Application Pool?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          其它知識題及問題

          20.什么是Web Service?

          21.什么是XML?

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

           

           

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

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

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

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

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

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

          Q:如果在一個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ā)過程一般有幾個階段?每個階段的作用?

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

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

          Q:您對WebService的體會?

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

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

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

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

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

          Q:請編程實現(xiàn)一個冒泡排序算法?

           

          1.在對SQL Server 數(shù)據(jù)庫操作時應(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.下列選項中,(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)項目中所有Web窗體頁的代碼隱藏文件都被編譯成.EXE文件。
          c)項目中所有的Web窗體頁的代碼隱藏文件都被編譯成項目動態(tài)鏈接庫(.dll)文件。
          d)以上都不正確。
          4.以下描述錯誤的是(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.下列描述錯誤的是(d)
          a)類不可以多重繼承而接口可以;
          b)抽象類自身可以定義成員而接口不可以;
          c)抽象類和接口都不能被實例化;
          d)一個類可以有多個基類和多個基接口;
          7.在DOM中,裝載一個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#中的枚舉型的定義,其中錯誤的用法有(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è)計的。服務(wù)器控件有兩種類型,它們是(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()方法來執(zhí)行;
          b)ExecuteNonQuery()方法返回執(zhí)行Sql語句所影響的行數(shù)。
          c)Select操作的Sql語句只能由ExecuteReader()方法來執(zhí)行;
          d)ExecuteReader()方法返回一個DataReder對象;
          15.下列ASP.NET語句(b)正確地創(chuàng)建了一個與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事件在用戶單擊工具欄任何地方時都會觸發(fā)
          17.在ADO.NET中執(zhí)行一個存儲過程時,如果要設(shè)置輸出參數(shù)則必須同時設(shè)置參數(shù)的方向和(d ),必要時還要設(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ù)必須是兩個或兩個以上
          b)索引器的參數(shù)類型必須是整數(shù)型
          c)索引器沒有名字
          d)以上皆非
          21.下面描述錯誤的是(D )。
          a)窗體也是控件;
          b)窗體也是類;
          c)控件是從窗體繼承來的;
          d)窗體的父類是控件類;
          22.要對注冊表進(jìn)行操作則必須包含(D )。
          a)System.ComponentModel命名空間;
          b)System.Collections命名空間;
          c)System.Threading命名空間;
          d)Microsoft.Win32命名空間;
          23.要創(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)")返回的是一個 (a)類型的值。
          a)TreeNode;
          b)int;
          c)string;
          d)TreeView; 

           25.下面關(guān)于XML的描述錯誤的是( d)。
          a)XML提供一種描述結(jié)構(gòu)化數(shù)據(jù)的方法;
          b)XML 是一種簡單、與平臺無關(guān)并被廣泛采用的標(biāo)準(zhǔn);
          c)XML文檔可承載各種信息;
          d)XML只是為了生成結(jié)構(gòu)化文檔;
          26. 以下的C#代碼,試圖用來定義一個接口:
          public interface IFile
          {
          int A;
          int delFile()
          {
          A = 3;
          }
          void disFile();
          }
          關(guān)于以上的代碼,以下描述錯誤的是(A,B )。
          a)以上的代碼中存在的錯誤包括:不能在接口中定義變量,所以int A代碼行將出現(xiàn)錯誤;
          b)以上的代碼中存在的錯誤包括:接口方法delFile是不允許實現(xiàn)的,所以不能編寫具體的實現(xiàn)函數(shù);
          c)代碼void disFile();聲明無錯誤,接口可以沒有返回值;
          d)代碼void disFile();應(yīng)該編寫為void disFile(){};
          29.在C#中利用Socket進(jìn)行網(wǎng)絡(luò)通信編程的一般步驟是:建立Socket偵聽、( a)30.聲明一個委托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)不確定的;
          二、判斷題,對的打√錯的打×(每小題2分,共20分)
          1.( T)在C#中,裝箱操作是將值類型轉(zhuǎn)化成引用類型。
          2.( F)接口中的成員不可以有訪問域修飾符,但可以有其它修飾符。
          3.( F)在C#中,索引器是專門用來訪問對象中的數(shù)組信息的。
          4.( T)在C#中,接口可以被多重繼承而類不能。
          5.( F)在C#中,int[][]是定義一個int型的二維數(shù)組。
          6.( T)異常類對象均為System.Exception類的對象。
          7.(T ) 當(dāng)窗體最小化后,再次還原成為活動窗體時將自動觸發(fā)Paint事件。
          8.( T) ASP.NET中,使用驗證控件來驗證用戶輸入,要求用戶不可跳過該項輸入,并且用戶輸入值在0和1000之間,則適用RequiredFieldValidator和RangeValidator控件。
          9.( F) 聲明委托實際上是聲明了一個方法。
          10.(T ) 任何事物都是對象。 
          1.請簡述一下用Socket進(jìn)行同步通訊編程的詳細(xì)步驟
          1、在應(yīng)用程序和遠(yuǎn)程設(shè)備中使用協(xié)議和網(wǎng)絡(luò)地址初始化套接字
          2、在應(yīng)用程序中通過指定端口和地址建立監(jiān)聽
          3、遠(yuǎn)程設(shè)備發(fā)出連接請求
          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 的不同。
          posted on 2007-03-30 11:35 圣域飛俠 閱讀(727) 評論(0)  編輯  收藏 所屬分類: 轉(zhuǎn)載
          主站蜘蛛池模板: 咸阳市| 阿拉尔市| 渝中区| 奉贤区| 乐安县| 锡林郭勒盟| 遵义市| 永仁县| 佛坪县| 湛江市| 教育| 化州市| 红安县| 息烽县| 岗巴县| 太康县| 获嘉县| 镇赉县| 沙雅县| 通道| 台中市| 太保市| 洱源县| 溆浦县| 东乡| 泾川县| 晋江市| 湖南省| 台北市| 绍兴市| 都江堰市| 湖州市| 伽师县| 绥芬河市| 五峰| 亳州市| 台州市| 永城市| 沈丘县| 祁东县| 麻栗坡县|