第一篇:面試題.net
1、簡(jiǎn)述 private、protected、public、internal 修飾符的訪問權(quán)限。
2、C#中的委托是什么?編寫一個(gè)簡(jiǎn)單的委托代碼。
3、C#中抽象類是什么?編寫一個(gè)簡(jiǎn)單的抽象類代碼。
4、例舉ASP.NET頁(yè)面之間傳值的幾種方式。
5、override與重載的區(qū)別
6、求以下表達(dá)式的值,寫出你想的到其中一種實(shí)現(xiàn)方法:1-2+3-4+……..+m7、.NET中讀寫數(shù)據(jù)庫(kù)需要用到那些類?他們的作用?
8、.NET異常處理機(jī)制?
9、寫出下面題目的SQL語(yǔ)句
表1TB_BMBM 部門基本信息表
BMBM 部門編碼
BMMC 部門名稱
表2TB_BMJE部門月營(yíng)業(yè)表,YY年
MM 月
BMBM 部門編碼
JE部門營(yíng)業(yè)額
A.要求寫一條SQL語(yǔ)句查詢有哪些部門年累計(jì)金額>1000的,注意要按 年YY,部門名稱BMMC分組的累計(jì)金額查詢
B.查出表1中有哪些部門不在(表2中季度金額>200的部門)中
10、用一條SQL語(yǔ)句 查詢出每門課都大于80分的學(xué)生姓名
namekechengfenshu
張三語(yǔ)文81
張三數(shù)學(xué)75
李四語(yǔ)文76
李四數(shù)學(xué)90
王五語(yǔ)文81
王五數(shù)學(xué)100
王五英語(yǔ)90
第二篇:.NET 面試題緊急
轉(zhuǎn)].NET面試題集
[收藏此頁(yè)] [打印] 【IT168知識(shí)庫(kù)】
1.C#中 property 與 attribute的區(qū)別,他們各有什么用處,這種機(jī)制的好處在哪里?
2.講一講你理解的web service,在dot net framework中,怎么很好的結(jié)合xml?(講概念就行了)3.C#, Java 和 c++的特點(diǎn),有什么相同的地方,不同的地方,C#分別從c++和java中吸取了他們那些優(yōu)點(diǎn)?
4.C#可否對(duì)內(nèi)存進(jìn)行直接的操作?(這可是個(gè)難點(diǎn)哦?要注意!)
5.用Visual C++ 6.0編寫的代碼(unmanaged code),如何在CLR下和其他dot net component結(jié)合? 6.以前作過的一些項(xiàng)目?介紹一下自己的編程經(jīng)驗(yàn)。(這是蒙混不過去的,基本一問就知道是真是假)7.你對(duì)公司有什么期望?你的薪水期望值?為什么學(xué)計(jì)算機(jī)?以前的工作經(jīng)驗(yàn)(這非常重要)?
Q3:維護(hù)數(shù)據(jù)庫(kù)的完整性、一致性、你喜歡用觸發(fā)器還是自寫業(yè)務(wù)邏輯?為什么 Q4:ADO。NET相對(duì)于ADO等主要有什么改進(jìn)? Q5:ASP。NET與ASP相比,主要有哪些進(jìn)步? Q6:C#中的委托是什么?事件是不是一種委托?
Q7:描述一下C#中索引器的實(shí)現(xiàn)過程,是否只能根據(jù)數(shù)字進(jìn)行索引? Q8:C#中要使一個(gè)類支持FOREACH遍歷,實(shí)現(xiàn)過程怎樣?
Q10:寫一個(gè)HTML頁(yè)面,實(shí)現(xiàn)以下功能,左鍵點(diǎn)擊頁(yè)面時(shí)顯示“您好”,右鍵點(diǎn)擊時(shí)顯示“禁止右鍵”。并在2分鐘后自動(dòng)關(guān)閉頁(yè)面。
Q11:你對(duì)XMLHTTP、WEBSERVICE 了解嗎?簡(jiǎn)單描述其特點(diǎn)、作用 Q12:接口和抽象類有什么區(qū)別?你選擇使用接口和抽象類的依據(jù)是什么?
Q13:自定義控件和一般用戶控件的異同?如果要用這兩者之一,你會(huì)選擇哪種?為什么 Q14:大概描述一下ASP。NET服務(wù)器控件的生命周期 Q15:UML Q16:面向?qū)ο蟮母拍?,主要特點(diǎn) Q17:類劃分的依據(jù)。類粒度問題 Q18:事物管理問題
第一,談?wù)刦inal, finally, finalize的區(qū)別。
第二,Anonymous Inner Class(匿名內(nèi)部類)是否可以extends(繼承)其它類,是否可以implements(實(shí)現(xiàn))interface(接口)? 第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統(tǒng))。第四,&和&&的區(qū)別。
第五,HashMap和Hashtable的區(qū)別。第六,Collection 和 Collections的區(qū)別。第七,什么時(shí)候用assert。第八,GC是什么? 為什么要有GC? 第九,String s = new String(“xyz”);創(chuàng)建了幾個(gè)String Object? 第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 第十一,short s1 = 1;s1 = s1 + 1;有什么錯(cuò)? short s1 = 1;s1 += 1;有什么錯(cuò)? 第十二,sleep()和 wait()有什么區(qū)別? 第十三,Java有沒有g(shù)oto? 第十四,數(shù)組有沒有l(wèi)ength()這個(gè)方法? String有沒有l(wèi)ength()這個(gè)方法? 第十五,Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型? 第十六,Set里的元素是不能重復(fù)的,那么用什么方法來(lái)區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們有何區(qū)別? 第十七,給我一個(gè)你最常見到的runtime exception。第十八,error和exception有什么區(qū)別? 第十九,List, Set, Map是否繼承自Collection接口? 第二十,abstract class和interface有什么區(qū)別? 第二十一,abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是synchronized? 第二十二,接口是否可繼承接口? 抽象類是否可實(shí)現(xiàn)(implements)接口? 抽象類是否可繼承實(shí)體類(concrete class)? 第二十三,啟動(dòng)一個(gè)線程是用run()還是start()? 第二十四,構(gòu)造器Constructor是否可被override? 第二十五,是否可以繼承String類? 第二十六,當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法? 第二十七,try {}里有一個(gè)return語(yǔ)句,那么緊跟在這個(gè)try后的finally {}里的code會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后? 第二十八,編程題: 用最有效率的方法算出2乘以8等於幾? 第二十九,兩個(gè)對(duì)象值相同(x.equals(y)== true),但卻可有不同的hash code,這句話對(duì)不對(duì)? 第三十,當(dāng)一個(gè)對(duì)象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對(duì)象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞? 第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? 第三十二,編程題: 寫一個(gè)Singleton出來(lái)。數(shù)據(jù)庫(kù)方面:
1.存儲(chǔ)過程和函數(shù)的區(qū)別 2.事務(wù)是什么?
3.游標(biāo)的作用?如何知道游標(biāo)已經(jīng)到了最后?
4.觸發(fā)器分為事前觸發(fā)和事后觸發(fā),這兩種觸發(fā)有和區(qū)別。語(yǔ)句級(jí)觸發(fā)和行級(jí)觸發(fā)有何區(qū)別。
1。用C#實(shí)現(xiàn)以下功能
a 產(chǎn)生一個(gè)int數(shù)組,長(zhǎng)度為100,并向其中隨機(jī)插入1-100,并且不能重復(fù)。b 對(duì)上面生成的數(shù)組排序,需要支持升序、降序兩種順序
2。請(qǐng)說明在.net中常用的幾種頁(yè)面間傳遞參數(shù)的方法,并說出他們的優(yōu)缺點(diǎn)。3。請(qǐng)說明.net中的錯(cuò)誤處理機(jī)制,并舉例 4。請(qǐng)說出強(qiáng)名的含義
5。請(qǐng)列出c#中幾種循環(huán)的方法,并指出他們的不同 6。請(qǐng)指出.net中所有類型的基類 7。請(qǐng)指出GAC的含義
8。SQL SREVER中,向一個(gè)表中插入了新數(shù)據(jù),如何快捷的得到自增量字段的當(dāng)前值 您在什么情況下會(huì)用到虛方法?它與接口有什么不同? Q:Override與重載有什么區(qū)別? Q:值類型與引用類型有什么區(qū)別? Q:怎樣理解靜態(tài)變量?
Q:向服務(wù)器發(fā)送請(qǐng)求有幾種方式? Q:DataReader與Dataset有什么區(qū)別?
Q:如果在一個(gè)B/S結(jié)構(gòu)的系統(tǒng)中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進(jìn)行處理?
Q:用.net做B/S結(jié)構(gòu)的系統(tǒng),您是用幾層結(jié)構(gòu)來(lái)開發(fā),每一層之間的關(guān)系以及為什么要這樣分層? Q:軟件開發(fā)過程一般有幾個(gè)階段?每個(gè)階段的作用?
Q:微軟推出了一系列的Application Block,請(qǐng)舉出您所知道的Application Block并說明其作用? Q:請(qǐng)列舉一些您用到過的設(shè)計(jì)模式以及在什么情況下使用該模式? Q:您對(duì)WebService的體會(huì)?
Q:您對(duì)編程的興趣如何?工作中遇到不懂的問題是怎樣去解決的?您一般怎樣去提高自己的編程水平? Q:您離職的原因是什么?
Q:通過超鏈接怎樣傳遞中文參數(shù)?
Q:請(qǐng)編程遍歷頁(yè)面上所有TextBox控件并給它賦值為string.Empty? Q:請(qǐng)編程實(shí)現(xiàn)一個(gè)冒泡排序算法?
1、override與重載的區(qū)別
2、.net的錯(cuò)誤處理機(jī)制是什么
3、C#中接口和類的異同
4、DataReader和DataSet的異同
1.有哪幾種方法可以實(shí)現(xiàn)一個(gè)類存取另外一個(gè)類的成員函數(shù)及屬性,并請(qǐng)舉列來(lái)加以說明和分析.2.如果需記錄類的實(shí)例個(gè)數(shù),該如何實(shí)現(xiàn),請(qǐng)寫一個(gè)簡(jiǎn)單的類于以證明.3.A類是B類的基類,并且都有自己的構(gòu)造,析構(gòu)函數(shù),請(qǐng)舉例證明B類從實(shí)例化到消亡過程中構(gòu)造,析構(gòu)函數(shù)的執(zhí)行過程.4.需要實(shí)現(xiàn)對(duì)一個(gè)字符串的處理,首先將該字符串首尾的空格去掉,如果字符串中間還有連續(xù)空格的話,僅保留一個(gè)空格,即允許字符串中間有多個(gè)空格,但連續(xù)的空格數(shù)不可超過一個(gè).一.填空題
1.c#中的三元運(yùn)算符是__?:___? 2.當(dāng)整數(shù)a賦值給一個(gè)object對(duì)象時(shí),整數(shù)a將會(huì)被__裝箱(封裝)___? 3.類成員有_____種可訪問形式? this.;new Class().Method;4.public static const int A=1;這段代碼有錯(cuò)誤么?是什么? const不能用static修飾 5.float f=-123.567F;int i=(int)f;i的值現(xiàn)在是_____? 123 6.利用operator聲明且僅聲明了“==”,有什么錯(cuò)誤么? 7.委托聲明的關(guān)鍵字是______? delagete 8.用sealed修飾的類有什么特點(diǎn)?密封,不能繼承
9.在Asp.net中所有的自定義用戶控件都必須繼承自________?Control 10.在.Net中所有可序列化的類都被標(biāo)記為_____? 11.在.Net托管代碼中我們不用擔(dān)心內(nèi)存漏洞,這是因?yàn)橛辛薩_____?gc 12.下面的代碼中有什么錯(cuò)誤嗎?_______ using System;class A { public virtual void F(){ Console.WriteLine(“A.F”);} } abstract class B:A { public abstract override void F();// new public abstract void F();}
13.當(dāng)類T只聲明了私有實(shí)例構(gòu)造函數(shù)時(shí),則在T的程序文本外部,___可以___(可以 or 不可以)從T派生出新的類,不可以____(可以 or 不可以)直接創(chuàng)建T的任何實(shí)例。14.下面這段代碼有錯(cuò)誤么? switch(i){ case(): CaseZero();break;case 1: CaseOne();break;case 2: dufault;//wrong CaseTwo();break;} 15.在.Net中,類System.Web.UI.Page 可以被繼承么?可以
二.簡(jiǎn)答題
1.在c#中using和new這兩個(gè)關(guān)鍵字有什么意義,請(qǐng)寫出你所知道的意義?using 指令和語(yǔ)句 new 創(chuàng)建實(shí)例 new 隱藏基類中方法
4.談?wù)勵(lì)惡徒Y(jié)構(gòu)的區(qū)別?類是引用類型、結(jié)構(gòu)是值類型
5.一個(gè)長(zhǎng)度為10000的字符串,通過隨機(jī)從a-z中抽取10000個(gè)字符組成。請(qǐng)用c#語(yǔ)言編寫主要程序來(lái)實(shí)現(xiàn)。
6.對(duì)于這樣的一個(gè)枚舉類型: enum Color:byte{ Red, Green, Blue, Orange } string[] ss=Enum.GetNames(typeof(Color));byte[] bb=Enum.GetValues(typeof(Color));試寫一段程序顯示出枚舉類型中定義的所有符號(hào)名稱以及它們對(duì)應(yīng)的數(shù)值。7.您了解設(shè)計(jì)模式么?請(qǐng)列出您所知道的設(shè)計(jì)模式的名稱。// 8.請(qǐng)?jiān)赟QL Server中設(shè)計(jì)表來(lái)保存一個(gè)樹狀結(jié)構(gòu)的組織結(jié)構(gòu)圖(假設(shè)結(jié)構(gòu)圖中只有名稱這一項(xiàng)內(nèi)容需要保存),如果我想查詢某一職位下的所有職位,用一個(gè)存儲(chǔ)過程來(lái)實(shí)現(xiàn),你有什么思路? 9.什么叫做SQL注入,如何防止?請(qǐng)舉例說明。10.下面這段代碼輸出什么?為什么? int i=5;int j=5;if(Object.ReferenceEquals(i,j))Console.WriteLine(“Equal”);else Console.WriteLine(“Not Equal”);//不相等,因?yàn)楸容^的是對(duì)象
1.寫一個(gè)實(shí)現(xiàn)對(duì)一段字符串翻轉(zhuǎn)的方法,附加一些條件,如其中包括“,”、“.”,對(duì)其設(shè)計(jì)測(cè)試用例。2.對(duì)一支紙杯設(shè)計(jì)測(cè)試用例(可以是廣義的杯,不一定是某一支特定功能的杯)開發(fā)語(yǔ)言概念題 3.什么是反射?
4.用Singleton如何寫設(shè)計(jì)模式 5.C#中的垃圾回收機(jī)制是怎樣的? 6.什么是Application Pool?
7.鏈表和數(shù)組的區(qū)別,各有什么優(yōu)缺點(diǎn).8.Remoting在客戶端服務(wù)器怎么實(shí)現(xiàn) ? 9.什么是友元函數(shù)? 10.用標(biāo)準(zhǔn)C如何實(shí)現(xiàn)多態(tài)? 11.什么是虛函數(shù)? 12.什么是抽象函數(shù)?
13.什么是內(nèi)存泄漏,怎樣最簡(jiǎn)單的方法判斷被存泄漏 ? 英語(yǔ)題
14.用英文介紹一下使用C#/C++做的項(xiàng)目,主要功能 15.如果要與美國(guó)開電話會(huì)議,會(huì)如何與美國(guó)的工程師溝通 16.如果老板認(rèn)為你的技術(shù)落后,你會(huì)怎么回答
數(shù)據(jù)庫(kù)知識(shí)題
17.使用什么工具來(lái)調(diào)用存儲(chǔ)過程
18.SQL Server的兩種索引是何形式?索引的作用?索引的優(yōu)缺點(diǎn)? 19.觸發(fā)器的作用
其它知識(shí)題及問題 20.什么是Web Service? 21.什么是XML? 22.Socket怎么實(shí)現(xiàn)?
-某人的答案
請(qǐng)大家指出我的錯(cuò)誤
1.C#中 property 與 attribute的區(qū)別,他們各有什么用處,這種機(jī)制的好處在哪里? 一個(gè)是屬性,用于存取類的字段,一個(gè)是特性,用來(lái)標(biāo)識(shí)類,方法等的附加性質(zhì)
2.講一講你理解的web service,在dot net framework中,怎么很好的結(jié)合xml?(講概念就行了)不會(huì),正在學(xué)習(xí)中
3.C#, Java 和 c++的特點(diǎn),有什么相同的地方,不同的地方,C#分別從c++和java中吸取了他們那些優(yōu)點(diǎn)?
相同點(diǎn):都是C系的,都是面向?qū)ο?/p>
不同點(diǎn):Java,C#都是建立在虛擬機(jī)機(jī)制上,而C++不是
4.C#可否對(duì)內(nèi)存進(jìn)行直接的操作?(這可是個(gè)難點(diǎn)哦?要注意!)可以
5.用Visual C++ 6.0編寫的代碼(unmanaged code),如何在CLR下和其他dot net component結(jié)合? 編譯Dll,[DLLImport]
6.以前作過的一些項(xiàng)目?介紹一下自己的編程經(jīng)驗(yàn)。(這是蒙混不過去的,基本一問就知道是真是假)7.你對(duì)公司有什么期望?你的薪水期望值?為什么學(xué)計(jì)算機(jī)?以前的工作經(jīng)驗(yàn)(這非常重要)?
Q3:維護(hù)數(shù)據(jù)庫(kù)的完整性、一致性、你喜歡用觸發(fā)器還是自寫業(yè)務(wù)邏輯?為什么 觸發(fā)器,性能好,事務(wù)性
Q4:ADO。NET相對(duì)于ADO等主要有什么改進(jìn)? 新增dataset等,不需要隨時(shí)保持連接,性能提高
Q5:ASP。NET與ASP相比,主要有哪些進(jìn)步? asp解釋形,aspx編譯型,性能提高,有利于保護(hù)源碼
Q6:C#中的委托是什么?事件是不是一種委托? 委托是一種安全的函數(shù)指針,事件是一種消息機(jī)制
Q7:描述一下C#中索引器的實(shí)現(xiàn)過程,是否只能根據(jù)數(shù)字進(jìn)行索引? 不會(huì)
Q8:C#中要使一個(gè)類支持FOREACH遍歷,實(shí)現(xiàn)過程怎樣? 實(shí)現(xiàn)一個(gè)接口
Q10:寫一個(gè)HTML頁(yè)面,實(shí)現(xiàn)以下功能,左鍵點(diǎn)擊頁(yè)面時(shí)顯示“您好”,右鍵點(diǎn)擊時(shí)顯示“禁止右鍵”。并在2分鐘后自動(dòng)關(guān)閉頁(yè)面。JS代碼
Q11:你對(duì)XMLHTTP、WEBSERVICE 了解嗎?簡(jiǎn)單描述其特點(diǎn)、作用 xmlhttp可以主動(dòng)獲取遠(yuǎn)端web代碼,類似HttpWebRequest
Q12:接口和抽象類有什么區(qū)別?你選擇使用接口和抽象類的依據(jù)是什么? 接口用于規(guī)范,抽象類用于共性。
Q15:UML 統(tǒng)一建模語(yǔ)言
Q16:面向?qū)ο蟮母拍?,主要特點(diǎn) 封裝,基層,多態(tài)
數(shù)據(jù)庫(kù)方面:
1.存儲(chǔ)過程和函數(shù)的區(qū)別
存儲(chǔ)過程是編譯好的存儲(chǔ)在數(shù)據(jù)庫(kù)的操作,函數(shù)不用說了。。
2.事務(wù)是什么? 具有原子性特點(diǎn)
3.游標(biāo)的作用?如何知道游標(biāo)已經(jīng)到了最后? 指示當(dāng)前記錄的位置,檢查NULL
4.觸發(fā)器分為事前觸發(fā)和事后觸發(fā),這兩種觸發(fā)有和區(qū)別。語(yǔ)句級(jí)觸發(fā)和行級(jí)觸發(fā)有何區(qū)別。一個(gè)是操作前,一個(gè)是操作后
1。用C#實(shí)現(xiàn)以下功能
a 產(chǎn)生一個(gè)int數(shù)組,長(zhǎng)度為100,并向其中隨機(jī)插入1-100,并且不能重復(fù)。int[] intArr=new int[100];ArrayList myList=new ArrayList();Random rnd=new Random();while(myList.Count<100){ int num=rnd.Next(1,101);if(!myList.Contains(num))myList.Add(num);} for(int i=0;i<100;i++)intArr[i]=(int)myList[i];
b 對(duì)上面生成的數(shù)組排序,需要支持升序、降序兩種順序 ArrayList本身就能排序
2。請(qǐng)說明在.net中常用的幾種頁(yè)面間傳遞參數(shù)的方法,并說出他們的優(yōu)缺點(diǎn)。session(viewstate)簡(jiǎn)單,但易丟失 application 全局
cookie 簡(jiǎn)單,但可能不支持,可能被偽造 input ttype=“hidden” 簡(jiǎn)單,可能被偽造 url參數(shù)簡(jiǎn)單,顯示于地址欄,長(zhǎng)度有限 數(shù)據(jù)庫(kù)穩(wěn)定,安全,但性能相對(duì)弱
3。請(qǐng)說明.net中的錯(cuò)誤處理機(jī)制,并舉例 try catch final
4。請(qǐng)說出強(qiáng)名的含義
具有自己的key,可以在GAC為公用
5。請(qǐng)列出c#中幾種循環(huán)的方法,并指出他們的不同 for wile foreach
6。請(qǐng)指出.net中所有類型的基類 object
7。請(qǐng)指出GAC的含義 全局程序集緩存
8。SQL SREVER中,向一個(gè)表中插入了新數(shù)據(jù),如何快捷的得到自增量字段的當(dāng)前值 select @@id...什么的,忘了
您在什么情況下會(huì)用到虛方法?它與接口有什么不同? 前面已說
Q:Override與重載有什么區(qū)別?
一個(gè)是重寫父類函數(shù),一個(gè)是同一個(gè)函數(shù)的幾種形式
Q:值類型與引用類型有什么區(qū)別? 值和指針的區(qū)別
Q:怎樣理解靜態(tài)變量? 所有實(shí)例公用一個(gè)的變量
Q:向服務(wù)器發(fā)送請(qǐng)求有幾種方式? get post
Q:DataReader與Dataset有什么區(qū)別? 一個(gè)是只能向前的只讀游標(biāo),一個(gè)是內(nèi)存中的表
Q:如果在一個(gè)B/S結(jié)構(gòu)的系統(tǒng)中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進(jìn)行處理? input type=“" url 數(shù)據(jù)庫(kù)
Q:用.net做B/S結(jié)構(gòu)的系統(tǒng),您是用幾層結(jié)構(gòu)來(lái)開發(fā),每一層之間的關(guān)系以及為什么要這樣分層? 三層,表現(xiàn),邏輯,數(shù)據(jù),安全性,維護(hù)性
Q:軟件開發(fā)過程一般有幾個(gè)階段?每個(gè)階段的作用? 需求分析,架構(gòu)設(shè)計(jì),代碼編寫,QA,部署
Q:請(qǐng)列舉一些您用到過的設(shè)計(jì)模式以及在什么情況下使用該模式? 著名的singleton
Q:您對(duì)編程的興趣如何?工作中遇到不懂的問題是怎樣去解決的?您一般怎樣去提高自己的編程水平? Q:您離職的原因是什么?
Q:通過超鏈接怎樣傳遞中文參數(shù)? URLEncode URLDecode
Q:請(qǐng)編程遍歷頁(yè)面上所有TextBox控件并給它賦值為string.Empty? foreach
1.有哪幾種方法可以實(shí)現(xiàn)一個(gè)類存取另外一個(gè)類的成員函數(shù)及屬性,并請(qǐng)舉列來(lái)加以說明和分析.同一個(gè)名稱控件直接,或者反射
2.如果需記錄類的實(shí)例個(gè)數(shù),該如何實(shí)現(xiàn),請(qǐng)寫一個(gè)簡(jiǎn)單的類于以證明.const static int classNum=0;classNum++;
3.A類是B類的基類,并且都有自己的構(gòu)造,析構(gòu)函數(shù),請(qǐng)舉例證明B類從實(shí)例化到消亡過程中構(gòu)造,析構(gòu)函數(shù)的執(zhí)行過程.構(gòu)造先父后子,析夠反之
4.需要實(shí)現(xiàn)對(duì)一個(gè)字符串的處理,首先將該字符串首尾的空格去掉,如果字符串中間還有連續(xù)空格的話,僅保留一個(gè)空格,即允許字符串中間有多個(gè)空格,但連續(xù)的空格數(shù)不可超過一個(gè).string inputStr=” xx xx “;inputStr=Regex.Replace(inputStr.Trim(),” *“,” “);
二.簡(jiǎn)答題
1.在c#中using和new這兩個(gè)關(guān)鍵字有什么意義,請(qǐng)寫出你所知道的意義?using 指令和語(yǔ)句 new 創(chuàng)建實(shí)例 new 隱藏基類中方法
using 引入名稱空間或者使用非托管資源 new 新建實(shí)例或者隱藏父類方法
4.談?wù)勵(lì)惡徒Y(jié)構(gòu)的區(qū)別? 類是引用類型、結(jié)構(gòu)是值類型
5.一個(gè)長(zhǎng)度為10000的字符串,通過隨機(jī)從a-z中抽取10000個(gè)字符組成。請(qǐng)用c#語(yǔ)言編寫主要程序來(lái)實(shí)現(xiàn)。
和前面那個(gè)差不多,一樣
6.對(duì)于這樣的一個(gè)枚舉類型: enum Color:byte{ Red, Green, Blue, Orange } string[] ss=Enum.GetNames(typeof(Color));byte[] bb=Enum.GetValues(typeof(Color));試寫一段程序顯示出枚舉類型中定義的所有符號(hào)名稱以及它們對(duì)應(yīng)的數(shù)值。foreach
9.什么叫做SQL注入,如何防止?請(qǐng)舉例說明。利用sql關(guān)鍵字對(duì)網(wǎng)站進(jìn)行攻擊。過濾關(guān)鍵字'等
10.下面這段代碼輸出什么?為什么? int i=5;int j=5;if(Object.ReferenceEquals(i,j))Console.WriteLine(”Equal“);else Console.WriteLine(”Not Equal“);//不相等,因?yàn)楸容^的是對(duì)象
1.寫一個(gè)實(shí)現(xiàn)對(duì)一段字符串翻轉(zhuǎn)的方法,附加一些條件,如其中包括“,”、“.”,對(duì)其設(shè)計(jì)測(cè)試用例。inputStr=inputStr.ToCharArray().Reverse().ToString();
2.對(duì)一支紙杯設(shè)計(jì)測(cè)試用例(可以是廣義的杯,不一定是某一支特定功能的杯)太寬了。。
開發(fā)語(yǔ)言概念題 3.什么是反射? 動(dòng)態(tài)獲取程序集信息
4.用Singleton如何寫設(shè)計(jì)模式 static屬性里面new ,構(gòu)造函數(shù)private
5.C#中的垃圾回收機(jī)制是怎樣的?
三個(gè)generation,當(dāng)每個(gè)generation內(nèi)存滿了的時(shí)候檢查引用,無(wú)引用就回收內(nèi)存
6.什么是Application Pool?
Web應(yīng)用,類似Thread Pool,提高并發(fā)性能
7.鏈表和數(shù)組的區(qū)別,各有什么優(yōu)缺點(diǎn).一個(gè)可以動(dòng)態(tài)增長(zhǎng),一個(gè)固定(VB中可以Redim),性能數(shù)組教好
8.Remoting在客戶端服務(wù)器怎么實(shí)現(xiàn) ? 9.什么是友元函數(shù)?
friendly聲明,可以訪問protect級(jí)別方法
11.什么是虛函數(shù)? 可以被重寫
12.什么是抽象函數(shù)? 必須被重寫
13.什么是內(nèi)存泄漏,怎樣最簡(jiǎn)單的方法判斷被存泄漏 ? C++,C中忘了釋放內(nèi)存,內(nèi)存不會(huì)再次分配
數(shù)據(jù)庫(kù)知識(shí)題
17.使用什么工具來(lái)調(diào)用存儲(chǔ)過程 任何一種語(yǔ)言
18.SQL Server的兩種索引是何形式?索引的作用?索引的優(yōu)缺點(diǎn)? cluster和非cluster,加速查找,占用額外控件,維護(hù)索引耗費(fèi)時(shí)間
19.觸發(fā)器的作用
保證數(shù)據(jù)庫(kù)操作變更能接到通知
其它知識(shí)題及問題 20.什么是Web Service? 使應(yīng)用程序在整個(gè)網(wǎng)上可以被調(diào)用
21.什么是XML?
可擴(kuò)展標(biāo)記語(yǔ)言,可以做配置文件,可以傳輸數(shù)據(jù),可以存儲(chǔ)數(shù)據(jù)
22.Socket怎么實(shí)現(xiàn)? 這個(gè)不知道怎么說了。。
1.1.1 Visual Studio.NET 有幾個(gè)集成開發(fā)環(huán)境? ● A.一個(gè) ○ B.兩個(gè) ○ C.三個(gè) ○ D.四個(gè)
1.1.2 我們稱.NET編程架構(gòu)是什么?
● A..NET Framework ○ B.VS.NET ○ C.XML Web Service ○ D.開發(fā)工具
1.1.3 以下那些標(biāo)準(zhǔn)是與Web Service相關(guān)的
○ A..SOAP ○ B.WSDL ○ C.UDDI ○ D.以上都是
1.1.4 SOAP標(biāo)準(zhǔn)是誰(shuí)來(lái)制定的? ○ A.Microsoft ● B.W3C ○ C.IBM ○ D.SUN
1.1.5 Visual Studio.NET 會(huì)支持多少種開發(fā)語(yǔ)言? ○ A.兩種 ○ B.三種 ○ C.四種 ● D.多種
1.1.6 ASP.NET 是用來(lái)開發(fā)何種應(yīng)用的?
○ A.Windows應(yīng)用 ○ B..NET組件類 ● C.Web應(yīng)用 ○ D.命令行應(yīng)用程序
1.1.7 C#編譯器將C#程序編譯成什么樣的代碼? A.匯編語(yǔ)言代碼 B.機(jī)器語(yǔ)言代碼 C.微軟中間語(yǔ)言代碼 D.二進(jìn)制代碼 答案:C
1.2 B 類題
1.2.1 所有的.NET基類庫(kù)是用什么語(yǔ)言編寫的? ○ A.C++ ● B.C# ○ C.VB.NET ○ D.匯編
1.2.2 什么語(yǔ)言提供了對(duì)XML注釋的支持?
○ A.C++ ● B.C# ○ C.VB.NET ○ D.Jscript
1.2.3 關(guān)于微軟中間語(yǔ)言,下面什么說法錯(cuò)誤的? ●A.它是解釋執(zhí)行的。
B.在執(zhí)行時(shí),它被轉(zhuǎn)化為機(jī)器代碼。C.它是處理器無(wú)關(guān)的指令集。D.它允許真正的跨語(yǔ)言集成。
1.2.4.ASP.NET比ASP相比較,下列哪個(gè)是不正確的? A.支持更多編程語(yǔ)言
●B.可以同時(shí)存在于一個(gè)應(yīng)用程序里
C.用戶界面和代碼分離,大大提高編程質(zhì)量 D.都支持頁(yè)面級(jí)和應(yīng)用程序級(jí)的跟蹤調(diào)試
1.2.5 關(guān)于VB.NET,與C#(發(fā)音,C sharp)比較,下列哪項(xiàng)是不正確的? A.都是類型安全的編程語(yǔ)言。B.都支持自動(dòng)垃圾收集。C.都是面向?qū)ο蟮恼Z(yǔ)言。
●D.VB.NET不支持API調(diào)用。
1.2.6 微軟在VS.NET默認(rèn)安裝中提供了幾種編程語(yǔ)言的開發(fā)環(huán)境? A.2種 B.3種 ●C.4種 D.5種搶答(規(guī)則,題念完了,才可以搶答)
2.1 下列哪些不是公共語(yǔ)言運(yùn)行環(huán)境(CLR)的特性? ●A.代碼執(zhí)行管理 ●B.管理函數(shù)指針調(diào)用 C.類型安全
D.代碼訪問安全
2.2 下面哪個(gè)不是ADO.NET對(duì)象? A.數(shù)據(jù)適配器DataAdapter ●B.記錄集Recordset C.數(shù)據(jù)集DataSet
2.3 什么工具來(lái)進(jìn)行數(shù)據(jù)庫(kù)建模? A.SQL Server。
B.VS.NET架構(gòu)版中的Visio?!馛.VS.NET的集成環(huán)境。D.Biztalk Server。
2.4 ACT(微軟應(yīng)用程序中心測(cè)試工具)能夠用來(lái)進(jìn)行下面哪些測(cè)試: A.Web應(yīng)用程序的功能性測(cè)試 B.性能測(cè)試 C.壓力測(cè)試 ●D.以上所有
2.5 ADO.NET中,數(shù)據(jù)集的Schema(結(jié)構(gòu)定義)用什么來(lái)描述? A.SQL語(yǔ)句 ●B.XML C.為達(dá)到最高的效率而設(shè)計(jì)的二進(jìn)制標(biāo)準(zhǔn)
2.6 ASP.NET支持哪種會(huì)話狀態(tài)保存的方式: A.服務(wù)器進(jìn)程內(nèi)
B.狀態(tài)服務(wù)(State Service)C.SQL 服務(wù)器 ●D.以上都是風(fēng)險(xiǎn)
3.1 A類題
3.1.1 下列哪種語(yǔ)言不是面向?qū)ο蟮模?A.C# ●B.VB C.VB.NET D.C++
3.1.2.NET框架不可以運(yùn)行在什么樣的平臺(tái)上? A.Windows 2000 B.Windows NT 4.0 C.Windows 98 D.Windows XP E.Windows 95
3.1.3 VB.NET 是一種完全面向?qū)ο蟮恼Z(yǔ)言嗎? ● A.是 ○ B.不是
3.1.4 用戶可以在.NET環(huán)境中使用Java語(yǔ)言嗎? ● A.可以 ○ B.不可以
3.1.5 ASP和ASP.NET應(yīng)用程序可以同時(shí)在同一個(gè)Web Server上運(yùn)行,并不相互影響。這種說法: ●A.正確 B.錯(cuò)誤
3.1.6 在.NET應(yīng)用中,如果開發(fā)時(shí)分配了內(nèi)存卻不小心忘了及時(shí)釋放,會(huì)造成內(nèi)存不足嗎? A.會(huì)
●B.不會(huì)
3.2 B類題
3.3 對(duì)于發(fā)布.NET應(yīng)用,那個(gè)說法正確? A.只能使用文件復(fù)制發(fā)布
B.只能使用Windows Installer C.只能使用打包和發(fā)布向?qū)?●D.以上方法都可以
3.3.1 關(guān)于C#語(yǔ)言的描述,下列哪項(xiàng)是不正確的? A.和Java一樣,都起源于C++語(yǔ)言
B.和Java都已經(jīng)提交給ECMA國(guó)際標(biāo)準(zhǔn)組織。●C.它支持C++所不支持的接口(Interface)D.它支持自動(dòng)垃圾回收
3.3.2 下面哪一條有關(guān)ASP.NET是錯(cuò)誤的? ●A.比ASP需要更多代碼 B.是編譯執(zhí)行的
C.服務(wù)器端控件可以減小客戶端編程工作量 D.編譯后的頁(yè)可以被緩存起來(lái)提高性能
3.3.3 真正實(shí)現(xiàn)跨平臺(tái)集成的技術(shù)是什么? A.HTML。B.Java。C.DCOM。
●D.XML web service。
3.3.4 微軟.NET框架快速開發(fā)的原因是什么? A.豐富的類庫(kù) B.統(tǒng)一的編程模型 C.優(yōu)秀的集成環(huán)境 ●D.以上都是
3.3.5 下列哪條不包括在.NET框架中? A.ASP.NET ●B.MFC C.ADO.NET D.Windows 表單
3.4 C類題
3.4.1 關(guān)于VC++.NET的管理擴(kuò)展,下面哪個(gè)說法不正確? A.它默認(rèn)情況下不被安裝
B.它可以將現(xiàn)有的代碼直接移植到.NET C.它可以完成所有C#能做到的 D.它完全支持.NET框架
3.4.2 VS.NET支持VB6的升級(jí),不正確的說法是哪個(gè)? A.VS.NET提供該升級(jí)向?qū)?/p>
B.VB表單和用戶控件被升級(jí)到Windows表單 C.ADO數(shù)據(jù)綁定可升級(jí)到ADO.NET D.ActiveX文檔, DHTML頁(yè)面被升級(jí)
13.ADO.NET數(shù)據(jù)集在那里創(chuàng)建數(shù)據(jù)緩沖? A.數(shù)據(jù)庫(kù)服務(wù)器內(nèi)存 ●B.Web服務(wù)器內(nèi)存 C.客戶端內(nèi)存
3.4.3 下面哪種特性VB.NET中沒有提供? A.類的繼承 B.指針
C.Delegate D.Attributes
11.在C#中,怎樣決定一個(gè)對(duì)象的類型? A.使用is操作符 B.使用typeof操作符 C.使用GetType方法
3.4.4 在一個(gè)過程里面發(fā)生了意外(Exception),而該過程里沒有設(shè)置如何處理它,那么會(huì)發(fā)生什么情況? A.產(chǎn)生錯(cuò)誤。
B.該應(yīng)用程序被終止。C.顯示錯(cuò)誤信息。
●D.該意外傳回調(diào)用者或者前一個(gè)過程
備份題(如果出現(xiàn)相同的最高分)
3.5 當(dāng)你升級(jí)一個(gè)Visual Basic 6.0的應(yīng)用程序時(shí),變體數(shù)據(jù)類型會(huì)被轉(zhuǎn)換成: A.整型 B.字節(jié)型
●C.對(duì)象類型 D.字符串類型
一個(gè)名字空間可以分布在多少個(gè)裝配件里面? A.無(wú) B.一個(gè) C.兩個(gè)
●D.可以按需要任意多個(gè)。
5.為了使用全局裝配件緩沖,裝配件必須有: ●A 強(qiáng)命名 B 弱命名 C 都可以
6.我們可以使用那個(gè)命令行工具從全局裝配件緩沖中安裝或刪除裝配件? ●A.gacutil.exe B.pview.exe C.al.exe D.csc.exe
7..NET中下列什么工具可以用來(lái)察看策略信息? A 代碼訪問安全工具(Caspol.exe)B 權(quán)限查看工具(permview.exe)C 都可以
11.12.在ADO.NET中,數(shù)據(jù)關(guān)聯(lián)類說明了在同一個(gè)數(shù)據(jù)集里的兩張數(shù)據(jù)表中的一列或多列之間的關(guān)系。這種說法: A.正確 ●B.錯(cuò)誤
13.非連接數(shù)據(jù)訪問模式比連接數(shù)據(jù)訪問模式更適合于那些需要高可擴(kuò)展性的應(yīng)用程序。這種說法: ●A.正確 B.錯(cuò)誤
16.事務(wù)的啟動(dòng)或終止可以使用下面那種對(duì)象: A.事務(wù)對(duì)象 B.連接對(duì)象 C.命令對(duì)象
15.數(shù)據(jù)適配器能被用來(lái)基于SQL join操作更新數(shù)據(jù)表中的數(shù)據(jù),這種說法: A.正確 ●B.錯(cuò)誤
沒事自已檢查一下自已,答案僅供參考
一、選擇填空題(每空2分,共60分)
1.在對(duì)SQL Server 數(shù)據(jù)庫(kù)操作時(shí)應(yīng)選用()。a)SQL Server.NET Framework 數(shù)據(jù)提供程序; b)OLE DB.NET Framework 數(shù)據(jù)提供程序; c)ODBC.NET Framework 數(shù)據(jù)提供程序; d)Oracle.NET Framework數(shù)據(jù)提供程序; 2.下列選項(xiàng)中,()是引用類型。a)enum類型 b)struct類型 c)string類型 d)int類型
3.關(guān)于ASP.NET中的代碼隱藏文件的描述正確的是()
a)Web窗體頁(yè)的程序的邏輯由代碼組成,這些代碼的創(chuàng)建用于與窗體交互。編程邏輯唯一與用戶界面不同的文件中。該文件稱作為“代碼隱藏”文件,如果用C#創(chuàng)建,該文件將具有“.ascx.cs”擴(kuò)展名。
b)項(xiàng)目中所有Web窗體頁(yè)的代碼隱藏文件都被編譯成.EXE文件。
c)項(xiàng)目中所有的Web窗體頁(yè)的代碼隱藏文件都被編譯成項(xiàng)目動(dòng)態(tài)鏈接庫(kù)(.dll)文件。
d)以上都不正確。
4.以下描述錯(cuò)誤的是()
a)在C++中支持抽象類而在C#中不支持抽象類。
b)C++中可在頭文件中聲明類的成員而在CPP文件中定義類的成員,在C#中沒有頭文件并且在同一處聲明和定義類的成員。
c)在C#中可使用 new 修飾符顯式隱藏從基類繼承的成員。
d)在C#中要在派生類中重新定義基類的虛函數(shù)必須在前面加Override。5.C#的數(shù)據(jù)類型有()a)值類型和調(diào)用類型; b)值類型和引用類型; c)引用類型和關(guān)系類型; d)關(guān)系類型和調(diào)用類型; 6.下列描述錯(cuò)誤的是()
a)類不可以多重繼承而接口可以;
b)抽象類自身可以定義成員而接口不可以; c)抽象類和接口都不能被實(shí)例化;
d)一個(gè)類可以有多個(gè)基類和多個(gè)基接口; 7.在DOM中,裝載一個(gè)XML文檔的方法()a)save方法 b)load方法 c)loadXML方法 d)send方法
8.下列關(guān)于構(gòu)造函數(shù)的描述正確的是()a)構(gòu)造函數(shù)可以聲明返回類型。b)構(gòu)造函數(shù)不可以用private修飾 c)構(gòu)造函數(shù)必須與類名相同 d)構(gòu)造函數(shù)不能帶參數(shù)
9.以下是一些C#中的枚舉型的定義,其中錯(cuò)誤的用法有()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]的值是()。a)9 b)2 c)6 d)越界
11.接口是一種引用類型,在接口中可以聲明(),但不可以聲明公有的域或私有的成員變量。
a)方法、屬性、索引器和事件; b)方法、屬性信息、屬性; c)索引器和字段; d)事件和字段;
12.ASP.NET框架中,服務(wù)器控件是為配合Web表單工作而專門設(shè)計(jì)的。服務(wù)器控件有兩種類型,它們是()a)HTML控件和Web控件 b)HTML控件和XML控件 c)XML控件和Web控件 d)HTML控件和IIS控件 13.ASP.NET中,在Web窗體頁(yè)上注冊(cè)一個(gè)用戶控件,指定該控件的名稱為”Mike”,正確的注冊(cè)指令為()a)<%@Register TagPrefix = “Mike” TagName = “Space2” Src = “myX.ascx”%> b)<%@Register TagPrefix = “Space2” TagName = “Mike” Src = “myX.ascx”%> c)<%@Register TagPrefix = “SpaceX” TagName = “Space2” Src = “Mike”%> d)以上皆非
14.在ADO.NET中,對(duì)于Command對(duì)象的ExecuteNonQuery()方法和ExecuteReader()方法,下面敘述錯(cuò)誤的是()。a)insert、update、delete等操作的Sql語(yǔ)句主要用ExecuteNonQuery()方法來(lái)執(zhí)行;
b)ExecuteNonQuery()方法返回執(zhí)行Sql語(yǔ)句所影響的行數(shù)。c)Select操作的Sql語(yǔ)句只能由ExecuteReader()方法來(lái)執(zhí)行; d)ExecuteReader()方法返回一個(gè)DataReder對(duì)象; 15.下列ASP.NET語(yǔ)句(b)正確地創(chuàng)建了一個(gè)與SQL Server 2000數(shù)據(jù)庫(kù)的連接。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控件的屬性和事件的描述不正確的是()。a)Buttons屬性表示ToolBar控件的所有工具欄按鈕
b)ButtonSize屬性表示ToolBar控件上的工具欄按鈕的大小,如高度和寬度 c)DropDownArrows屬性表明工具欄按鈕(該按鈕有一列值需要以下拉方式顯示)旁邊是否顯示下箭頭鍵
d)ButtonClick事件在用戶單擊工具欄任何地方時(shí)都會(huì)觸發(fā)
17.在ADO.NET中執(zhí)行一個(gè)存儲(chǔ)過程時(shí),如果要設(shè)置輸出參數(shù)則必須同時(shí)設(shè)置參數(shù)的方向和(),必要時(shí)還要設(shè)置參數(shù)尺寸。a)大小; b)上限; c)初始值; d)類型;
18.如果將窗體的FormBoderStyle設(shè)置為None,則()。a)窗體沒有邊框并不能調(diào)整大小; b)窗體沒有邊框但能調(diào)整大?。?c)窗體有邊框但不能調(diào)整大??; d)窗體是透明的;
19.如果要將窗體設(shè)置為透明的,則()a)要將FormBoderStyle屬性設(shè)置為None; b)要將Opacity屬性設(shè)置為小于100%得值; c)要將locked 屬性設(shè)置為True; d)要將 Enabled屬性設(shè)置為True;
20.下列關(guān)于C#中索引器理解正確的是()a)索引器的參數(shù)必須是兩個(gè)或兩個(gè)以上 b)索引器的參數(shù)類型必須是整數(shù)型 c)索引器沒有名字 d)以上皆非
21.下面描述錯(cuò)誤的是()。a)窗體也是控件; b)窗體也是類;
c)控件是從窗體繼承來(lái)的; d)窗體的父類是控件類;
22.要對(duì)注冊(cè)表進(jìn)行操作則必須包含()。a)System.ComponentModel命名空間; b)System.Collections命名空間; c)System.Threading命名空間; d)Microsoft.Win32命名空間;
23.要?jiǎng)?chuàng)建多文檔應(yīng)用程序,需要將窗體的()屬性設(shè)為true。a)DrawGrid;
b)ShowInTaskbar; c)Enabled;
d)IsMdiContainer;
24.如果設(shè)treeView1=new TreeView(),則treeView1.Nodes.Add(”根節(jié)點(diǎn)“)返回的是一個(gè)()類型的值。a)TreeNode; b)int; c)string; d)TreeView;
25.下面關(guān)于XML的描述錯(cuò)誤的是()。a)XML提供一種描述結(jié)構(gòu)化數(shù)據(jù)的方法;
b)XML 是一種簡(jiǎn)單、與平臺(tái)無(wú)關(guān)并被廣泛采用的標(biāo)準(zhǔn); c)XML文檔可承載各種信息; d)XML只是為了生成結(jié)構(gòu)化文檔; 上述答案:
1.在對(duì)SQL Server 數(shù)據(jù)庫(kù)操作時(shí)應(yīng)選用()a;2.下列選項(xiàng)中,()是引用類型。
c)string類型//其構(gòu)造函數(shù)為靜態(tài)構(gòu)造函數(shù)所以看起來(lái)像值類型
3.關(guān)于ASP.NET中的代碼隱藏文件的描述正確的是()
c)項(xiàng)目中所有的Web窗體頁(yè)的代碼隱藏文件都被編譯成項(xiàng)目動(dòng)態(tài)鏈接庫(kù)(.dll)文件。
4.以下描述錯(cuò)誤的是()
a)在C++中支持抽象類而在C#中不支持抽象類。
5.C#的數(shù)據(jù)類型有()a)值類型和調(diào)用類型;
6.下列描述錯(cuò)誤的是()
d)一個(gè)類可以有多個(gè)基類和多個(gè)基接口;
7.在DOM中,裝載一個(gè)XML文檔的方法()
b)load方法
8.下列關(guān)于構(gòu)造函數(shù)的描述正確的是()c)構(gòu)造函數(shù)必須與類名相同
9.以下是一些C#中的枚舉型的定義,其中錯(cuò)誤的用法有()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)越界
11.接口是一種引用類型,在接口中可以聲明(),但不可以聲明公有的域或私有的成員變量。
a)方法、屬性、索引器和事件;
12.ASP.NET框架中,服務(wù)器控件是為配合Web表單工作而專門設(shè)計(jì)的。服務(wù)器控件有兩種類型,它們是()a)HTML控件和Web控件
13.ASP.NET中,在Web窗體頁(yè)上注冊(cè)一個(gè)用戶控件,指定該控件的名稱為”Mike”,正確的注冊(cè)指令為()a)<%@Register TagPrefix = “Mike” TagName = “Space2” Src = “myX.ascx”%> b)<%@Register TagPrefix = “Space2” TagName = “Mike” Src = “myX.ascx”%> c)<%@Register TagPrefix = “SpaceX” TagName = “Space2” Src = “Mike”%> d)以上皆非
14.在ADO.NET中,對(duì)于Command對(duì)象的ExecuteNonQuery()方法和ExecuteReader()方法,下面敘述錯(cuò)誤的是()。
c)Select操作的Sql語(yǔ)句只能由ExecuteReader()方法來(lái)執(zhí)行;
15.下列ASP.NET語(yǔ)句(b)正確地創(chuàng)建了一個(gè)與SQL Server 2000數(shù)據(jù)庫(kù)的連接。
b)SqlConnection con1 = new SqlConnection(“Data Source = localhost;Integrated Security = SSPI;Initial Catalog = myDB”);
16.Winform中,關(guān)于ToolBar控件的屬性和事件的描述不正確的是()。a)Buttons屬性表示ToolBar控件的所有工具欄按鈕
b)ButtonSize屬性表示ToolBar控件上的工具欄按鈕的大小,如高度和寬度 c)DropDownArrows屬性表明工具欄按鈕(該按鈕有一列值需要以下拉方式顯示)旁邊是否顯示下箭頭鍵
d)ButtonClick事件在用戶單擊工具欄任何地方時(shí)都會(huì)觸發(fā) 17.在ADO.NET中執(zhí)行一個(gè)存儲(chǔ)過程時(shí),如果要設(shè)置輸出參數(shù)則必須同時(shí)設(shè)置參數(shù)的方向和(),必要時(shí)還要設(shè)置參數(shù)尺寸。
b)上限;
18.如果將窗體的FormBoderStyle設(shè)置為None,則()。a)窗體沒有邊框并不能調(diào)整大??; b)窗體沒有邊框但能調(diào)整大?。?c)窗體有邊框但不能調(diào)整大?。?d)窗體是透明的;
19.如果要將窗體設(shè)置為透明的,則()
b)要將Opacity屬性設(shè)置為小于100%得值;
20.下列關(guān)于C#中索引器理解正確的是()
b)索引器的參數(shù)類型必須是整數(shù)型
21.下面描述錯(cuò)誤的是()。
c)控件是從窗體繼承來(lái)的;
22.要對(duì)注冊(cè)表進(jìn)行操作則必須包含()。a)System.ComponentModel命名空間; b)System.Collections命名空間; c)System.Threading命名空間; d)Microsoft.Win32命名空間;
23.要?jiǎng)?chuàng)建多文檔應(yīng)用程序,需要將窗體的()屬性設(shè)為true。
d)IsMdiContainer;
24.如果設(shè)treeView1=new TreeView(),則treeView1.Nodes.Add(”根節(jié)點(diǎn)“)返回的是一個(gè)()類型的值。a)TreeNode; b)int; c)string; d)TreeView;
25.下面關(guān)于XML的描述錯(cuò)誤的是()。
d)XML只是為了生成結(jié)構(gòu)化文檔;
一、.Net Framework部分* 1.裝箱、拆箱操作發(fā)生在:()A.類與對(duì)象之間 B.對(duì)象與對(duì)象之間 C.引用類型與值類型之間 D.引用類型與引用類型之間 2.用戶類若想支持Foreach語(yǔ)句需要實(shí)現(xiàn)的接口是:()A.IEnumerableB.IEnumerator C.ICollectionD.ICollectData 3..Net Framework通過什么與COM組件進(jìn)行交互操作?()A.Side By SideB.Web Service C.InteropD.PInvoke 4..Net依靠以下哪一項(xiàng)技術(shù)解決COM存在的Dll Hell問題的?()A.Side By SideB.Interop C.PInvokeD.COM+ 5.裝箱與拆箱操作是否是互逆的操作?()A.是B.否
6.以下哪個(gè)是可以變長(zhǎng)的數(shù)組?()A.ArrayB.string[] C.string[N]D.ArrayList 7.用戶自定義異常類需要從以下哪個(gè)類繼承:()A.ExceptionB.CustomException C.ApplicationExceptionD.BaseException 8.以下代碼段中能否編譯通過?請(qǐng)給出理由。try { } catch(FileNotFoundException e1){ } catch(Exception e2){ } catch(IOException e3){ } catch { }
9.對(duì)于一個(gè)實(shí)現(xiàn)了IDisposable接口的類,以下哪些項(xiàng)可以執(zhí)行與釋放或重置非托管資源相關(guān)的應(yīng)用程序定義的任務(wù)?(多選)()A.CloseB.DisposeC.Finalize D.usingE.Quit 10..Net依賴以下哪項(xiàng)技術(shù)實(shí)現(xiàn)跨語(yǔ)言互用性?()A.CLRB.CTSC.CLSD.CTT 11.請(qǐng)問: String類與StringBuilder類有什么區(qū)別?為什么在.Net類庫(kù)中要同時(shí)存在這2個(gè)類?(簡(jiǎn)答)
12.以下哪個(gè)類是int的基類?()A.Int32B.ObjectC.ValueTypeD.Int16
二、C# 部分* 13.以下哪些可以作為接口成員?(多選)()A.方法B.屬性C.字段D.事件E.索引器 F.構(gòu)造函數(shù)G.析構(gòu)函數(shù)
14.以下關(guān)于ref和out的描述哪些項(xiàng)是正確的?(多選)()A.使用ref參數(shù),傳遞到ref參數(shù)的參數(shù)必須最先初始化。B.使用out參數(shù),傳遞到out參數(shù)的參數(shù)必須最先初始化。C.使用ref參數(shù),必須將參數(shù)作為ref參數(shù)顯式傳遞到方法。D.使用out參數(shù),必須將參數(shù)作為out參數(shù)顯式傳遞到方法。
15.“訪問范圍限定于此程序或那些由它所屬的類派生的類型”是對(duì)以下哪個(gè)成員可訪問性含義的正確描述?()A.publicB.protectedC.internalD.protected internal 16.class Class1 { private static int count = 0;static Class1(){ count++;} public Class1(){ count++;} } Class1 o1 = new Class1();Class1 o2 = new Class1();請(qǐng)問,o1.Count的值是多少?()A.1B.2C.3D.4 17.abstract class BaseClass { public virtual void MethodA(){ } public virtual void MethodB(){ } } class Class1: BaseClass { public void MethodA(string arg){ } public override void MethodB(){ } } class Class2: Class1 { new public void MethodB(){ } } class MainClass { public static void Main(string[] args){ Class2 o = new Class2();Console.WriteLine(o.MethodA());} } 請(qǐng)問,o.MethodA調(diào)用的是:()A.BaseClass.MethodAB.Class2.MethodA C.Class1.MethodAD.都不是
18.請(qǐng)敘述屬性與索引器的區(qū)別。
19.請(qǐng)敘述const與readonly的區(qū)別。
20.請(qǐng)敘述類與結(jié)構(gòu)的區(qū)別。
三、ASP.NET & ADO.NET部分* 21.您需要?jiǎng)?chuàng)建一個(gè)ASP.NET應(yīng)用程序,公司考慮使用Windows身份認(rèn)證。所有的用戶都存在于AllWin這個(gè)域中。
您想要使用下列認(rèn)證規(guī)則來(lái)配置這個(gè)應(yīng)用程序: ? 匿名用戶不允許訪問這個(gè)應(yīng)用程序。
? 所有雇員除了Tess和King都允許訪問這個(gè)應(yīng)用程序。
請(qǐng)問您應(yīng)該使用以下哪一個(gè)代碼段來(lái)配置這個(gè)應(yīng)用程序?()A.
B.在這個(gè)應(yīng)用程序的Web.config文件中創(chuàng)建一個(gè)applicationError節(jié)去處理ASP.NET代碼錯(cuò)誤。
C.在這個(gè)應(yīng)用程序的Global.asax文件中創(chuàng)建一個(gè)CustomErrors事件去處理HTTP錯(cuò)誤。
D.在這個(gè)應(yīng)用程序的Web.config文件中創(chuàng)建一個(gè)CustomErrors節(jié)去處理HTTP錯(cuò)誤。
E.在這個(gè)應(yīng)用程序的每一頁(yè)中添加一個(gè)Page指示符去處理ASP.NET 代碼錯(cuò)誤。F.在這個(gè)應(yīng)用程序的每一頁(yè)中添加一個(gè)Page指示符去處理ASP.NET HTTP錯(cuò)誤。24.您的公司有一個(gè)DB Server,名為AllWin,其上裝了MS SQLSERVER 2000?,F(xiàn)在需要您寫一個(gè)數(shù)據(jù)庫(kù)連接字符串,用以連接AllWin上SQL SERVER中的一個(gè)名為PubBase實(shí)例的Test庫(kù)。請(qǐng)問,應(yīng)該選擇下面哪一個(gè)字符串?()A.“Server=AllWin;Data Source=PubBase;Initial Catalog=Test;Integrated Security=SSPI”
B.“Server= AllWin;Data Source=PubBase;Database=Test;Integrated Security= SSPI”
C.“Data Source= AllWin PubBase;Initial Category=PubBase;Integrated Security= SSPI”
D.“Data Source= AllWin PubBase;Database=Test;Integrated Security= SSPI”
25.您為AllWin公司創(chuàng)建了一個(gè)ASP.NET應(yīng)用程序。這個(gè)應(yīng)用程序調(diào)用一個(gè) Xml Web Service。這個(gè)Xml Web Service將返回一個(gè)包含了公司雇員列表的DataSet對(duì)象。請(qǐng)問您該如何在這個(gè)程序中使用這個(gè)Xml Web Service?()A.在“引用”對(duì)話框的.Net標(biāo)簽中選擇System.Web.Services.dll。B.在“Web引用”對(duì)話框中輸入這個(gè)XML Web service的地址。
C.在您的Global.asax.cs中添加一條using語(yǔ)句并指定這個(gè)XML Web service的地址。
D.在您的Global.asax.cs中寫一個(gè)事件處理器導(dǎo)入這個(gè)Xml Web Service相應(yīng)的.wsdl和.disco文件。
26.您要?jiǎng)?chuàng)建一個(gè)ASP.NET應(yīng)用程序在DataGrid控件中顯示一個(gè)經(jīng)過排序的列表。產(chǎn)品數(shù)據(jù)被存放于一個(gè)名為PubBase的Microsoft SQL Server 數(shù)據(jù)庫(kù)。每個(gè)產(chǎn)品的主鍵是ProductID,Numeric型并且每個(gè)產(chǎn)品有一個(gè)字母描述字段,名為ProductName。您使用一個(gè) SqlDataAdapter對(duì)象和一個(gè)SqlCommand對(duì)象通過調(diào)用一個(gè)存儲(chǔ)過程從數(shù)據(jù)庫(kù)中獲取產(chǎn)品數(shù)據(jù)。您將SqlCommand對(duì)象的 CommandType屬性設(shè)置為CommandType.StoredProcedure,并將它的CommandText屬性設(shè)置為 procProductList。您成功的獲取了一個(gè)DataTable對(duì)象,其中是已經(jīng)按ProductID降序排列的產(chǎn)品列表。您打算顯示以相反的字母順序排列的ProductName,請(qǐng)問該怎么做?()A.將SqlCommand對(duì)象的CommandType屬性修改為CommandType.Text,將CommandText屬性修改為”SELECT * FROM procProductList ORDER BY ProductName DESC”。然后將這個(gè)DataTable對(duì)象綁定到DataGrid控件。B.創(chuàng)建一個(gè)基于這個(gè)DataTable對(duì)象的新的DataView并將這個(gè)DataView的Sort屬性設(shè)置為“ProductName DESC”。然后將這個(gè)DataView對(duì)象綁定到DataGrid控件。
C.將DataGrid控件的AllowSorting屬性設(shè)置為True,并將DataGridColumn的SortExpression屬性設(shè)置為 “ProductName DESC”.以顯示ProductName。然后將這個(gè)DataTable對(duì)象綁定到DataGrid控件。D.將DataTable對(duì)象的DisplayExpression屬性設(shè)置為 “ORDER BY ProductName DESC”.。然后將這個(gè)DataTable對(duì)象綁定到DataGrid控件
四、Xml部分
28.請(qǐng)寫出獲取上述Xml中所有含有2個(gè)子節(jié)點(diǎn)的元素的XPath。
五、Javascript & DHtml部分*
30.您需要?jiǎng)討B(tài)創(chuàng)建一個(gè)文本框,并且當(dāng)此文本框獲得焦點(diǎn)后彈出對(duì)話框,提示“Ok”。
六、邏輯推理部分* 31.一人拿一張百元鈔票到商店買了25元的東西,店主由于手頭沒有零錢,便拿這張百元鈔票到隔壁的小攤販那里換了100元零錢,并找回了那人75元錢。那人拿著25元的東西和75元零錢走了。過了一會(huì)兒,隔壁小攤販找到店主,說剛才店主拿來(lái)?yè)Q零的百元鈔票為假幣。店主仔細(xì)一看,果然是假鈔。店主只好又找了一張真的百元鈔票給小攤販。
問:在整個(gè)過程中,店主一共虧了多少錢財(cái)?(不計(jì)商品利潤(rùn))
76.C#代碼實(shí)現(xiàn),確保windows程序只有一個(gè)實(shí)例(instance)
///
///應(yīng)用程序的主入口點(diǎn)。/// [STAThread]
static void Main(){
//防止程序多次運(yùn)行
if(!OneInstance.IsFirst(”GetPayInfo“)){
MessageBox.Show(”警告:程序正在運(yùn)行中!請(qǐng)不要重復(fù)打開程序!可在右下角系統(tǒng)欄找到!“,”程序錯(cuò)誤提示:“,MessageBoxButtons.OK,MessageBoxIcon.Stop);
return;}
Application.Run(new Form1());}
// ******************* 防止程序多次執(zhí)行 ************************** public abstract class OneInstance {
///
///判斷程序是否正在運(yùn)行
///
///
程序名稱
///
public static bool IsFirst(string appId){
bool ret=false;
if(OpenMutex(0x1F0001,0,appId)==IntPtr.Zero){
CreateMutex(IntPtr.Zero,0,appId);ret=true;}
return ret;}
[DllImport(”Kernel32.dll“,CharSet=CharSet.Auto)]
private static extern IntPtr OpenMutex(uint dwDesiredAccess, // access
int bInheritHandle, // inheritance option
string lpName // object name);
[DllImport(”Kernel32.dll",CharSet=CharSet.Auto)]
private static extern IntPtr CreateMutex(IntPtr lpMutexAttributes, // SD
int bInitialOwner, // initial owner
string lpName // object name);}
第三篇:-.net面試題
Face to Face內(nèi)容
有可能有筆試:
兩份英文寫作測(cè)試題:
1、將高知特的中文描述翻譯成英文;(看一下高知特的網(wǎng)站就可以啦,但不要完全照搬,那樣很容易看出來(lái))
2、根據(jù)一個(gè)特定的情景來(lái)寫一封英文
(本次是關(guān)于如何向自己的Manager報(bào)告自己的項(xiàng)目需要延期,并提供解決計(jì)劃)。
英文口試:
1、自我介紹(英文);在介紹的中途,HR不時(shí)會(huì)打斷你綿綿不絕的背誦,從你的簡(jiǎn)歷或者你的自我介紹中提一些相關(guān)的問題,所以你務(wù)必做好準(zhǔn)備
2、項(xiàng)目經(jīng)驗(yàn)(包括幾個(gè)項(xiàng)目,什么技術(shù)等);說說你最近的一個(gè)項(xiàng)目
3、懂哪些技術(shù),每種技術(shù)用的時(shí)間。
4、興趣愛好等。
5、說說你的前任老大是一個(gè)什么樣的人
6、對(duì)薪資的期望值
小結(jié)一下:盡量放松,不要怕英文,只要你開口,別管什么語(yǔ)法錯(cuò)誤,記住一條:英文是用來(lái)交流的,只要你表達(dá)清楚自己要說的意思,那你就OK啦
注:Hr比較喜歡壓力面試,就是比如問到你期望的薪水,然后她直接說給不到,看人選的反應(yīng)。其實(shí)薪水是由面試結(jié)果來(lái)評(píng)定的,所以Hr只是想看人選是更關(guān)注什么,是薪水還是好的機(jī)會(huì)。所以薪水方面不用顧慮太多,表現(xiàn)出對(duì)機(jī)會(huì)的看重就好了。
英文面試結(jié)束后,是招人的項(xiàng)目組負(fù)責(zé)人面試,此輪面試時(shí)間約為1個(gè)小時(shí)
技術(shù)考察可分為三個(gè)類別:
1、一些技術(shù)細(xì)節(jié),基于所做的項(xiàng)目,此部分面試比重最大;
2、對(duì)WEB開發(fā)比較看重;
3、對(duì)開發(fā)的專業(yè)性:如UML分析,設(shè)計(jì)模式能了解會(huì)更好。
面試題目:
1、自我介紹(英文),不會(huì)的話用中文;
2、項(xiàng)目經(jīng)驗(yàn)((包括幾個(gè)項(xiàng)目,什么技術(shù)等));
3、然后問技術(shù):c#基本概念包括:接口和抽象類區(qū)別,ado.net,web service;
4、設(shè)計(jì)模式,mvc,分層設(shè)計(jì),web service安全機(jī)制;
5、Oracle數(shù)據(jù)庫(kù)設(shè)計(jì)的原則,后臺(tái)程序
6、算法:包括樹的概念;
7、O/R mapping的概念,優(yōu)點(diǎn)和缺點(diǎn)等;
8、Xml的文檔處理,包括xpath,dom,xsl等
9、GAC,strongName,sql index,還有SSAS,dim,facttable10、T-SQL請(qǐng)解釋事務(wù)處理,并發(fā)處理,游標(biāo)概念
SQL-Server2005中PIVOT的用途以及CASE的用途
三層框架,如何開發(fā)數(shù)據(jù)層程序集
11、問到Session,Javascript
如何設(shè)計(jì)一個(gè)三層架構(gòu)的應(yīng)用
如何在三層架構(gòu)的應(yīng)用中傳遞數(shù)據(jù)
介紹以前的項(xiàng)目中某一個(gè)細(xì)節(jié)
給你一個(gè)需求,叫你設(shè)計(jì)數(shù)據(jù)庫(kù)模型
如何驗(yàn)證用戶的輸入信息
有個(gè)關(guān)于安全問題的題目
12、請(qǐng)說明在.net中常用的幾種頁(yè)面間傳遞參數(shù)的方法
13、WebForm窗體數(shù)據(jù)傳遞
14、ViewState,Session,Application,Cache區(qū)別
15、IIS安全機(jī)制
16、托管和非托管的區(qū)別
17、對(duì)象的生存周期,及內(nèi)存回收機(jī)制
18、多線程
WSE
Remoting
NUnit
PowerDesigner19、設(shè)計(jì)模式(只說自己用過的,會(huì)要求舉出實(shí)際經(jīng)歷)
20、OO的特征(詳細(xì)講出)
21、ADO.Net中的重要類的用法,及性能、使用上的區(qū)別
22、開始時(shí)開發(fā)的.net 程序用戶體驗(yàn)比較快,后來(lái)慢了,從哪些方面解決。
23、用戶將數(shù)據(jù)導(dǎo)入excel,用javascript或者思路可以提示用戶導(dǎo)入開始,結(jié)束。
24、臨時(shí)表的分類,索引
25、OO的概念。
26、多線程,如何防止死鎖
27、xml28、asp.net page 的生命周期,重要的事件,順序
29、webservice 協(xié)議,用什么標(biāo)識(shí)一個(gè)webservice方法,如何公開一個(gè)webservice讓別的開發(fā)者調(diào)用?(這個(gè)問題
忘了是不是這樣問的)
30、response.redirect server,transfer 區(qū)別,哪個(gè)效率高
31、游標(biāo),可不可以嵌套,可以用什么辦法替換使用游標(biāo)
32、數(shù)據(jù)庫(kù)的3大范式
注:如果面試人談到那一方面比較深入,面試官可能會(huì)比較深入的問下去,所以不知道的最好坦白說不知道,不要硬充明白,以免留下壞印象。
.net面試側(cè)重點(diǎn):
1、如果有多年的工作經(jīng)驗(yàn)他們希望你至少在以往的工作中在某一個(gè)方向很專,如數(shù)據(jù)庫(kù)設(shè)計(jì)、數(shù)據(jù)庫(kù)優(yōu)化、業(yè)務(wù)層設(shè)計(jì);
2、如果在對(duì)大數(shù)據(jù)量的事務(wù)、并發(fā)處理和ASP.net表現(xiàn)層有研究他們更看重
3、如果有一些設(shè)計(jì)經(jīng)驗(yàn):如UML、設(shè)計(jì)模式會(huì)更好
4、如果工作多年他們希望有項(xiàng)目管理經(jīng)驗(yàn):如需求分析、團(tuán)隊(duì)管理等等
5、英文方面:英語(yǔ)能對(duì)話就可以了,筆試只是測(cè)試下英語(yǔ)讀寫
而且面試都是中國(guó)人,對(duì)于技術(shù)問題可以用中文回答
面試的過程中會(huì)讓你在簡(jiǎn)歷上找一個(gè)項(xiàng)目重點(diǎn)說明:承擔(dān)的角色,用到何種技術(shù)、項(xiàng)目的軟件架構(gòu),項(xiàng)目有什么是當(dāng)時(shí)覺得做的最好的。整個(gè)面試的過程還是以簡(jiǎn)歷上反映的技術(shù)為主。
以下是一個(gè)資深.net人員根據(jù)面試題目做的總結(jié):
要的是WEB開發(fā),用的數(shù)據(jù)庫(kù)是SQLSERVER2005,對(duì)人員比較看重?cái)?shù)據(jù)庫(kù)?;具€是應(yīng)用層級(jí)的,準(zhǔn)備:側(cè)重復(fù)習(xí)數(shù)據(jù)庫(kù)編程方面的知識(shí),server端的。.net和數(shù)據(jù)庫(kù)之間也要掌握。
第四篇:.Net面試題(個(gè)人整理)
第1頁(yè) /共17.列舉ASP.NET 頁(yè)面之間傳遞值的幾種方式。答:
? QueryString是一種非常簡(jiǎn)單的傳值方式,他可以將傳送的值顯示在瀏覽器的地址欄中。如果是傳遞一個(gè)或多個(gè)安全性要求不高或是結(jié)構(gòu)簡(jiǎn)單的數(shù)值時(shí),可以使用這個(gè)方法。但是對(duì)于傳遞數(shù)組或?qū)ο蟮脑?,就不能用這個(gè)方法了。
? Application對(duì)象的作用范圍是整個(gè)全局,也就是說對(duì)所有用戶都有效。其常用的方法用Lock和UnLock。
? Session變量想必這個(gè)肯定是大家使用中最常見的用法了,作用于用戶個(gè)人,所以,過量的存儲(chǔ)會(huì)導(dǎo)致服務(wù)器內(nèi)存資源的耗盡。
? Cookie對(duì)象變量這個(gè)也是大家常使用的方法,與Session一樣,其是什對(duì)每一個(gè)用戶而言的,但是有個(gè)本質(zhì)的區(qū)別,即Cookie是存放在客戶端的,而session是存放在服務(wù)器端的。而且Cookie的使用要配合ASP.NET內(nèi)置對(duì)象Request來(lái)使用。
? Server.Transfer方法這個(gè)才可以說是面象對(duì)象開發(fā)所使用的方法,其使用Server.Transfer方法把流程從當(dāng)前頁(yè)面引導(dǎo)到另一個(gè)頁(yè)面中,新的頁(yè)面使用前一個(gè)頁(yè)面的應(yīng)答流,所以這個(gè)方法是完全面象對(duì)象的,簡(jiǎn)潔有效。
3.一列數(shù)的規(guī)則如下: 1、1、2、3、5、8、13、21、34......求第30位數(shù)是多少,用遞歸算法實(shí)現(xiàn)。
答:publicstaticint Calculate(int x){ int retInt = 1;if(x > 2){ return Calculate(x1);} else
return retInt;} 4.C#中的委托是什么?事件是不是一種委托?
答:委托是一種定義方法簽名的類型,可以與具有兼容簽名的任何方法關(guān)聯(lián)??梢酝ㄟ^委
托調(diào)用方法。委托用于將方法作為參數(shù)傳遞給其他方法。委托具有以下特點(diǎn):
? 委托類似于 C++ 函數(shù)指針,但它們是類型安全的。? 委托允許將方法作為參數(shù)進(jìn)行傳遞。? 委托可用于定義回調(diào)方法。
? 委托可以鏈接在一起;例如,可以對(duì)一個(gè)事件調(diào)用多個(gè)方法。? 方法不必與委托簽名完全匹配。事件是一種特殊的委托。
5.override與重載的區(qū)別 答:
Override:要擴(kuò)展或修改繼承的方法、屬性、索引器或事件的抽象實(shí)現(xiàn)或虛實(shí)現(xiàn),重寫的基方法必須與override方法具有相同的簽名。
第2頁(yè) /共17
方法重載:一個(gè)類中可以有一個(gè)以上的方法擁有相同的名稱。但必須有不相同的簽名。
6.如果在一個(gè)B/S結(jié)構(gòu)的系統(tǒng)中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進(jìn)行處理?
答: QueryString、Server.Transfer方法。
7.請(qǐng)編程遍歷頁(yè)面上所有TextBox控件并給它賦值為string.Empty? 答:
foreach(Control control inthis.Controls){ if(control isTextBox){ TextBox tb =(TextBox)control;tb.Text = String.Empty;} }
8.請(qǐng)編程實(shí)現(xiàn)一個(gè)冒泡排序算法? 答:
//冒泡排序
publicstaticvoid MaoPaoSort(refint[] arrays){ if(arrays!= null&& arrays.Length > 0){ for(int i = 1;i < arrays.Length;i++){ bool isChange = false;for(int j = 0;j < arrays.Length-i;j++){ if(arrays[j] > arrays[j + 1]){ int tempValue = arrays[j];arrays[j] = arrays[j + 1];arrays[j + 1] = tempValue;isChange = true;} } if(!isChange)break;} } }
第3頁(yè) /共17
9.描述一下C#中索引器的實(shí)現(xiàn)過程,是否只能根據(jù)數(shù)字進(jìn)行索引?
答:索引器允許類或結(jié)構(gòu)的實(shí)例就像數(shù)組一樣進(jìn)行索引。索引器類似于屬性,不同之處在于它們的訪問器采用參數(shù)。Public ReturnType this[ paramType index]{get{} set{}},可以用任何類型進(jìn)行索引。
10.求以下表達(dá)式的值,寫出您想到的一種或幾種實(shí)現(xiàn)方法: 1-2+3-4+??+m 答:publicstaticint sumMethod1(int m){ int sum=0;for(int i = 1;i <= m;i++){ if(i % 2!= 0)sum += i;else
sum-= i;} return sum;}
publicstaticint sumMethod2(int m){ int sum = 0;if(m % 2!= 0)sum = m / 2 + 1;else
sum =-(m / 2);return sum;}
12.在下面的例子里
classA { public A(){ PrintFields();} publicvirtualvoid PrintFields(){ } }
classB : A { int x = 1;int y;public B()
第4頁(yè) /共17
{ y =-1;} publicoverridevoid PrintFields(){ Console.WriteLine(“x={0},y={1}”, x, y);} } 當(dāng)使用new B()創(chuàng)建B的實(shí)例時(shí),產(chǎn)生什么輸出? 答:X=1,Y=0
13.什么叫應(yīng)用程序域?
答:應(yīng)用程序域(application domain)(AppDomain)一種邊界,它由公共語(yǔ)言運(yùn)行庫(kù)圍繞同一應(yīng)用程序范圍內(nèi)創(chuàng)建的對(duì)象建立(即,從應(yīng)用程序入口點(diǎn)開始,沿著對(duì)象激活的序列的任何位置)。應(yīng)用程序域有助于將在一個(gè)應(yīng)用程序中創(chuàng)建的對(duì)象與在其他應(yīng)用程序中創(chuàng)建的對(duì)象隔離,以使運(yùn)行時(shí)行為可以預(yù)知。在一個(gè)單獨(dú)的進(jìn)程中可以存在多個(gè)應(yīng)用程序域。
14.CTS、CLS、CLR分別作何解釋?
答:CTS:通用類型系統(tǒng)。CLS:通用語(yǔ)言規(guī)范。CLR:公共語(yǔ)言運(yùn)行庫(kù)。
15.什么是裝箱和拆箱?
答:裝箱:裝箱轉(zhuǎn)換是指將一個(gè)值類型隱式或顯式地轉(zhuǎn)換成一個(gè)object類型,拆箱:拆箱轉(zhuǎn)換是指將一個(gè)對(duì)象類型顯式地轉(zhuǎn)換成一個(gè)值類型。
16.什么是受管制的代碼?
答:受托管的代碼不能直接寫內(nèi)存,是安全的,它受CLR的內(nèi)存安全管理,而非托管代碼是非安全代碼,可以使用指針操作內(nèi)存
18.net中讀寫數(shù)據(jù)庫(kù)需要用到那些類?他們的作用? 答:DataSet:數(shù)據(jù)存儲(chǔ)器
Connection對(duì)象,用來(lái)創(chuàng)建和打開,關(guān)閉數(shù)據(jù)庫(kù)連接。
Command對(duì)象,用來(lái)執(zhí)行各種sql語(yǔ)句或者調(diào)用存儲(chǔ)過程。
Adapter對(duì)象,數(shù)據(jù)適配器,用來(lái)執(zhí)行SQL語(yǔ)句,配合數(shù)據(jù)集執(zhí)行比較多。DataReader,只讀的對(duì)象,有著很高的性能。
21.在.net中,配件的意思是? 答:程序集。(中間語(yǔ)言,源數(shù)據(jù),資源,裝配清單)
22.常用的調(diào)用WebService的方法有哪些? 答:1.使用WSDL.exe命令行工具。
2.使用VS.NET中的Add Web Reference菜單選項(xiàng)
第5頁(yè) /共17
23..net Remoting 的工作原理是什么?
答:服務(wù)器端向客戶端發(fā)送一個(gè)進(jìn)程編號(hào),一個(gè)程序域編號(hào),以確定對(duì)象的位置。
31.公司要求開發(fā)一個(gè)繼承System.Windows.Forms.ListView類的組件,要求達(dá)到以下的特殊功能:點(diǎn)擊ListView 各列列頭時(shí),能按照點(diǎn)擊列的每行值進(jìn)行重排視圖中的所有行(排序的方式如DataGrid相似)。根據(jù)您的知識(shí),請(qǐng)簡(jiǎn)要談一下您的思路
答:根據(jù)點(diǎn)擊的列頭,包該列的名稱取出,按照該列名排序后,再綁定到ListView中。
35.能用foreach遍歷訪問的對(duì)象需要實(shí)現(xiàn)IEnumerable接口或聲明GetEnumerator方法的類型。
36.GC是什么? 為什么要有GC? 答:GC是垃圾收集器。程序員不用擔(dān)心內(nèi)存管理,因?yàn)槔占鲿?huì)自動(dòng)進(jìn)行管理。要請(qǐng)求垃圾收集,可以調(diào)用下面的方法之一:System.GC.Collect();
37.String s = new String(“xyz”);創(chuàng)建了幾個(gè)String Object? 答:兩個(gè)對(duì)象,一個(gè)是“xyx”,一個(gè)是指向“xyx”的引用對(duì)像s。
38.abstract class和interface有什么區(qū)別? 答: 抽象類:
? 只能用做其它類的基類,它就是被設(shè)計(jì)來(lái)被繼承的。? 不能創(chuàng)建它的實(shí)例。
? 它使用abstract修飾符來(lái)聲明。? 抽象類可以包含抽象成員,但不是必須的,它的成員可以抽象成員和普通帶實(shí)現(xiàn)的成員的任意組合。
? 它自己可以派生自另一個(gè)抽象類。任何派生自抽象類的類必須使用override關(guān)鍵字實(shí)現(xiàn)該類所有的抽象成員,除非派生類自己也是抽象類。接口:
? 接口是表示一組函數(shù)成員而不實(shí)現(xiàn)成員的引用類型。其它類和結(jié)構(gòu)可以實(shí)現(xiàn)接口。? 接口聲明不包括數(shù)據(jù)成員。
? 接口聲明只能包含如下類型的靜態(tài)成員函數(shù)的聲明:方法、屬性、事件、索引。? 接口的成員不能包含任何實(shí)現(xiàn)代碼,而在每一個(gè)成員聲明的主體后必須使用分號(hào)。? 接口名稱必須從大寫的I開始。它和類一樣,也可以聲明成分部接口。? 接口聲明可以有任何的訪問類型:public、protected、internal、private。? 接口成員是隱式Public的,不允許有任何訪問修飾符。
1,什么是線程池
為了幫我們降低創(chuàng)建和銷毀線程相關(guān)的成本,CLR為每一個(gè)進(jìn)程維護(hù)了一個(gè)線程池。一開始進(jìn)程的線程池是空的,如果進(jìn)程使用的線程被創(chuàng)建,并且完成了線程的執(zhí)行,它不會(huì)被銷毀,而是加入到進(jìn)程的線程池中,這后,如果進(jìn)程需要一個(gè)另外一個(gè)線程,CLR就會(huì)從池中還原一個(gè)線程,這就節(jié)省了很多時(shí)間。
39.啟動(dòng)一個(gè)線程是用run()還是start()?
第6頁(yè) /共17
答:?jiǎn)?dòng)一個(gè)線程是調(diào)用start()方法,這并不意味著線程就會(huì)立即運(yùn)行,只是進(jìn)入了可運(yùn)行狀態(tài)。直接調(diào)用run()方法不會(huì)產(chǎn)生線程,而是把它當(dāng)作普通的方法調(diào)用,馬上執(zhí)行
40.接口是否可繼承接口? 抽像類是否可實(shí)現(xiàn)(implements)接口? 抽像類是否可繼承實(shí)體類(concrete class)? 答:接口可以繼承接口。抽像類可以實(shí)現(xiàn)(implements)接口,抽像類是否可繼承實(shí)體類,但前提是實(shí)體類必須有明確的構(gòu)造函數(shù)。
41.構(gòu)造器Constructor是否可被override? 答:構(gòu)造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。
42.是否可以繼承String類? 答:不可以,因?yàn)镾tring類是密封類,被Sealed修飾符所修飾。
44.兩個(gè)對(duì)像值相同(x.equals(y)== true),但卻可有不同的hash code,這句話對(duì)不對(duì)? 答:不對(duì),有相同的hash code。
Hash Code:可以簡(jiǎn)單的理解為內(nèi)存的地址?!?=” : 操作比較的是兩個(gè)變量的值是否相等,對(duì)于引用型變量表示的是兩個(gè)變量在堆中存儲(chǔ) 的地址是否相同,即棧中的內(nèi)容是否相同。
“equals” : 操作表示的兩個(gè)變量是否是對(duì)同一個(gè)對(duì)象的引用,即堆中的內(nèi)容是否相同。而字符串是一個(gè)特殊的引用型類型,在C#語(yǔ)言中,重載了string 對(duì)象的很多方法方法(包括equals()方法),使string對(duì)象用起來(lái)就像是值類型一樣。
45.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? 答:可以。
47.當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法? 不能,一個(gè)對(duì)象的一個(gè)synchronized方法只能由一個(gè)線程訪問。
49.List, Set, Map是否繼承自Collection接口? 答:List,Set是Map不是
51.數(shù)組有沒有l(wèi)ength()這個(gè)方法? String有沒有l(wèi)ength()這個(gè)方法? 答:數(shù)組和string都沒有Length()方法,只有Length屬性。
52.sleep()和 wait()有什么區(qū)別? 答:sleep()方法是將當(dāng)前線程掛起指定的時(shí)間。
wait()釋放對(duì)象上的鎖并阻塞當(dāng)前線程,直到它重新獲取該鎖。
53.short s1 = 1;s1 = s1 + 1;有什么錯(cuò)? short s1 = 1;s1 += 1;有什么錯(cuò)? 答:short s1 = 1;s1 = s1 + 1;有錯(cuò),s1是short型,s1+1是int型,不能隱式轉(zhuǎn)化為short型??尚薷臑閟1 =(short)(s1 + 1)。short s1 = 1;s1 += 1正確。
第7頁(yè) /共17
復(fù)合賦值表達(dá)式自動(dòng)地將所執(zhí)行計(jì)算的結(jié)果轉(zhuǎn)型為其左側(cè)變量的類型,s1+=1等價(jià)于s1=(short)s1+1;
55.如何處理幾十萬(wàn)條并發(fā)數(shù)據(jù)?
答:用存儲(chǔ)過程或事務(wù)。取得最大標(biāo)識(shí)的時(shí)候同時(shí)更新..注意主鍵不是自增量方式這種方法并發(fā)的時(shí)候是不會(huì)有重復(fù)主鍵的..取得最大標(biāo)識(shí)要有一個(gè)存儲(chǔ)過程來(lái)獲取.56.Session有什么重大BUG,微軟提出了什么方法加以解決?
答:是iis中由于有進(jìn)程回收機(jī)制,系統(tǒng)繁忙的話Session會(huì)丟失,可以用Sate server或SQL Server數(shù)據(jù)庫(kù)的方式存儲(chǔ)Session不過這種方式比較慢,而且無(wú)法捕獲Session的END事件。
57.進(jìn)程和線程的區(qū)別?
答:進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的單位;線程是CPU調(diào)度和分派的單位,一個(gè)進(jìn)程可以有多個(gè)線程,這些線程共享這個(gè)進(jìn)程的資源。
進(jìn)程:進(jìn)程就是一組資源,它們構(gòu)成了一個(gè)正在運(yùn)行的程序。線程:在進(jìn)程中系統(tǒng)創(chuàng)建了一個(gè)叫做線程的內(nèi)核對(duì)象,線程體現(xiàn)了一個(gè)程序的真實(shí)執(zhí)行情況。
58.堆和棧的區(qū)別?
答:棧是編譯期間就分配好的內(nèi)存空間,因此你的代碼中必須就棧的大小有明確的定義;堆是程序運(yùn)行期間動(dòng)態(tài)分配的內(nèi)存空間,你可以根據(jù)程序的運(yùn)行情況確定要分配的堆內(nèi)存的大小。
棧:它是一個(gè)內(nèi)存數(shù)組,是一個(gè)LIFO的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)只能從棧頂插入和刪除。
堆:它是一塊內(nèi)存區(qū)域,在堆里可以分配大塊的內(nèi)存用于存儲(chǔ)某類型的數(shù)據(jù),堆里的內(nèi)存可以以任意順序存入和取出。
59.成員變量和成員函數(shù)前加static的作用? 答:
? 它們用來(lái)反映類的狀態(tài)。
? 靜態(tài)成員它被類的所有實(shí)例所共享,所有實(shí)例都訪問同一內(nèi)存位置。? 它們獨(dú)立于所有的類實(shí)例,即使沒有類實(shí)例,也可以調(diào)用類的靜態(tài)成員。
60.ASP。NET與ASP相比,主要有哪些進(jìn)步? 答:asp解釋形,aspx編譯型,性能提高,可以跟美工的工作分開進(jìn)行,更有利于團(tuán)隊(duì)開發(fā)。
61.產(chǎn)生一個(gè)int數(shù)組,長(zhǎng)度為100,并向其中隨機(jī)插入1-100,并且不能重復(fù)。
publicstaticint[] BuildIntArray(){ int[] retsInt = newint[100];
第8頁(yè) /共17
List
62.請(qǐng)說明在.net中常用的幾種頁(yè)面間傳遞參數(shù)的方法,并說出他們的優(yōu)缺點(diǎn)。答:
? QueryString 傳遞一個(gè)或多個(gè)安全性要求不高或是結(jié)構(gòu)簡(jiǎn)單的數(shù)值。但是對(duì)于傳遞數(shù)組或?qū)ο蟮脑?,就不能用這個(gè)方法了
? session(viewstate)簡(jiǎn)單,但易丟失作用于用戶個(gè)人,過量的存儲(chǔ)會(huì)導(dǎo)致服務(wù)器內(nèi)存資源的耗盡。
? application 對(duì)象的作用范圍是整個(gè)全局,也就是說對(duì)所有用戶都有效。其常用的方法用Lock和UnLock ? cookie 簡(jiǎn)單,但可能不支持,可能被偽造 Cookie是存放在客戶端的,而session是存放在服務(wù)器端的。而且Cookie的使用要配合ASP.NET內(nèi)置對(duì)象Request來(lái)使用 ? input ttype=“hidden” 簡(jiǎn)單,可能被偽造 ? url參數(shù)簡(jiǎn)單,顯示于地址欄,長(zhǎng)度有限
? Server.Transfer 把流程從當(dāng)前頁(yè)面引導(dǎo)到另一個(gè)頁(yè)面中,新的頁(yè)面使用前一個(gè)頁(yè)面的應(yīng)答流
? 數(shù)據(jù)庫(kù)穩(wěn)定,安全,但性能相對(duì)弱
63.請(qǐng)指出GAC的含義? 答:全局程序集緩存。
GAC(Global Assembly Cache),他的作用是可以存放一些有很多程序都要用到的公共Assembly。這樣,很多程序就可以從GAC里面取得Assembly,而不需要再把所有要用到的Assembly都拷貝到應(yīng)用程序的執(zhí)行目錄下面。
64.向服務(wù)器發(fā)送請(qǐng)求有幾種方式?
答:get,post。get一般為鏈接方式,post一般為按鈕方式。區(qū)別:
Get方式,服務(wù)器端用Request.Qurystring取變量的值,安全性不高,傳送數(shù)據(jù)量小。
post方式,服務(wù)器端用Request.Form獲取提交的數(shù)據(jù),安全性高。建議:
1、get方式的安全性較Post方式要差些,包含機(jī)密信息的話,建議用Post數(shù)據(jù)提交方式;
2、在做數(shù)據(jù)查詢時(shí),建議用Get方式;而在做數(shù)據(jù)添加、修改或刪除時(shí),建議用Post方式。
第9頁(yè) /共17
65.DataReader與Dataset有什么區(qū)別? 答:
? 連接數(shù)據(jù)庫(kù)時(shí)DataSet是非面向連接的,而DataReader是面向連接的。
? DataSet表示一個(gè)數(shù)據(jù)集,是數(shù)據(jù)在內(nèi)存中的緩存,可以包括多個(gè)表,是保存數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。而Datareader不承擔(dān)保存數(shù)據(jù)的責(zé)任,它只負(fù)責(zé)從數(shù)據(jù)源讀取數(shù)據(jù)到本地而已,它不是數(shù)據(jù)結(jié)構(gòu),而是網(wǎng)絡(luò)通訊組件的高層封裝。
? DataSet可以離線處理,前后滾動(dòng),而DataReader不能離線處理,且是只讀向前的,速度快。
? DataSet可以存儲(chǔ)數(shù)據(jù)庫(kù)各種對(duì)象的,比如表觸發(fā)器等,可以更新回原來(lái)的數(shù)據(jù)庫(kù)。而DataReader只能存儲(chǔ)游標(biāo)記錄,不可以更新回原來(lái)的數(shù)據(jù)庫(kù),它類似一個(gè)只能向前的游標(biāo)記錄集。
66.軟件開發(fā)過程一般有幾個(gè)階段?每個(gè)階段的作用?答: 軟件開發(fā)一般分為五個(gè)階段: ? 問題的定義及規(guī)劃
此階段是軟件開發(fā)與需求方共同討論,主要確定軟件的開發(fā)目標(biāo)及其可行性。? 需求分析
在確定軟件開發(fā)可行性的情況下,對(duì)軟件需要實(shí)現(xiàn)的各個(gè)功能進(jìn)行詳細(xì)需求分析。需求分析階段是一個(gè)很重要的階段,這一階段做的好,將為整個(gè)軟件項(xiàng)目的開發(fā)打下良好的基礎(chǔ)?!拔ㄒ徊蛔兊氖亲兓旧怼保瑯榆浖枨笠彩窃谲浖_發(fā)過程中不斷變化和深入的,因此,我們必須定制需求變更計(jì)劃來(lái)應(yīng)付這種變化,以保護(hù)整個(gè)項(xiàng)目的正常進(jìn)行。? 軟件設(shè)計(jì)
此階段中要根據(jù)需求分析的結(jié)果,對(duì)整個(gè)軟件系統(tǒng)進(jìn)行設(shè)計(jì),如系統(tǒng)框架設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)等。軟件設(shè)計(jì)一般分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),軟件設(shè)計(jì)將為軟件程序編寫打下良好的基礎(chǔ)。? 程序編碼
此階段是將軟件設(shè)計(jì)的結(jié)果轉(zhuǎn)化為計(jì)算機(jī)可運(yùn)行的程序代碼。在程序編碼中必定要制定統(tǒng)一、符合標(biāo)準(zhǔn)的編寫規(guī)范。以保證程序的可讀性、易維護(hù)性。提高程序的運(yùn)行效率。? 軟件測(cè)試
在軟件設(shè)計(jì)完成之后要進(jìn)行嚴(yán)密的測(cè)試,一發(fā)現(xiàn)軟件在整個(gè)軟件設(shè)計(jì)過程中存在的問題并加以糾正。整個(gè)測(cè)試階段分為單元測(cè)試、組裝測(cè)試、系統(tǒng)測(cè)試三個(gè)階段進(jìn)行。測(cè)試方法主要有白盒測(cè)試和黑盒測(cè)試。? 6.部署及維護(hù)。
67.在c#中using和new這兩個(gè)關(guān)鍵字有什么意義,請(qǐng)寫出你所知道的意義? Uning:
? using做為命名空間指令:通過在源文件頂端放置Using命名空間指令以避免不得不使用長(zhǎng)名稱,它通知編譯器你將要使用來(lái)自某個(gè)指定命名空間的類型。? using做為別名指令:它允許對(duì)一個(gè)命名空間或命名空間中的一個(gè)類型起一個(gè)別名。? using語(yǔ)句:某些類型的非托管對(duì)象有數(shù)量限制或很耗費(fèi)系統(tǒng)資源,這樣在代碼使用完它們后,就得盡可能快的釋放它們,using語(yǔ)句有助于簡(jiǎn)化該過程并確保這些資源被適當(dāng)?shù)奶幹谩?/p>
New :
第10頁(yè) /共17
? 創(chuàng)建類和結(jié)構(gòu)的實(shí)例。? 隱藏基類的方法。
? 創(chuàng)建匿名類型(var和new關(guān)鍵字一起使用時(shí)可以創(chuàng)建匿名類型,匿名類型只是一個(gè)繼承了Object的、沒有名稱的類,該類的定義從初始化器中推斷,類似于隱匿類型化的變量)。
68.需要實(shí)現(xiàn)對(duì)一個(gè)字符串的處理,首先將該字符串首尾的空格去掉,如果字符串中間還有連續(xù)空格的話,僅保留一個(gè)空格,即允許字符串中間有多個(gè)空格,但連續(xù)的空格數(shù)不可超過一個(gè).答: string str = “ afdkd askdfji ksdafj ”;string strAfter = Regex.Replace(str.Trim(), @“s+”, “ ”);
69.下面這段代碼輸出什么?為什么?
int i = 5;int j = 5;if(Object.ReferenceEquals(i, j))Console.WriteLine(“Equal”);else
Console.WriteLine(“Not Equal”);答:Not Equal,因?yàn)镽eferenceEquals是Object的靜態(tài)方法,用于比較兩個(gè)引用類型的對(duì)象是否是對(duì)于同一個(gè)對(duì)象的引用,對(duì)于值類型它總是返回false。
34.ReferenceEquals, == , Equals的區(qū)別
? String對(duì)于聲明的相同的字符串在堆上只保留一個(gè)Copy,所以有相同字符串值的兩個(gè)字符串變量將會(huì)指向相同的Reference。? ReferenceEquals:
它是Object的靜態(tài)方法,用于比較兩個(gè)引用類型的對(duì)象是否是對(duì)于同一個(gè)對(duì)象的引用,對(duì)于值類型它總是返回false。? ==:
它是一個(gè)可以重載的二元操作符,可以用于比較兩個(gè)對(duì)象是否相等。對(duì)于內(nèi)置值類型,==判斷的是兩個(gè)對(duì)象的代數(shù)值是否相等。它會(huì)根據(jù)需要自動(dòng)進(jìn)行必要的類型轉(zhuǎn)換,并根據(jù)兩個(gè)對(duì)象的值是否相等返回true或者false,而對(duì)于用戶定義的值類型,如果沒有重載==操作符,==將是不能夠使用的。
對(duì)于引用類型,== 默認(rèn)的行為與ReferenceEquals的行為相同,僅有兩個(gè)對(duì)象指向同一個(gè)Reference的時(shí)候才返回true。但是.NET Framework中的類很多對(duì)==進(jìn)行了重載,例如String類的==與Equals的行為相同,判斷兩個(gè)字符串的內(nèi)容是否相等。所以在應(yīng)用中,對(duì)于系統(tǒng)定義的引用類型建議不要使用==操作符,以免程序出現(xiàn)與預(yù)期不同的運(yùn)行結(jié)果。? Equals(): 它對(duì)于值類型和引用類型的定義不同,對(duì)于值類型,類型相同,并且數(shù)值相同(對(duì)于struct的每個(gè)成員都必須相同),則Equals返回 true,否則返回false。而對(duì)于引用類型,默認(rèn)的行為與ReferenceEquals的行為相同,僅有兩個(gè)對(duì)象指向同一個(gè)Reference的時(shí)候才返回true??梢愿鶕?jù)需要對(duì)Equals進(jìn)行重載,例如String類的Equals用于判斷兩個(gè)字符串的內(nèi)容是否相等。
70.什么叫做SQL注入,如何防止?請(qǐng)舉例說明。
第11頁(yè) /共17
答:利用sql語(yǔ)言漏洞獲得合法身份登陸系統(tǒng)。如身份驗(yàn)證的程序設(shè)計(jì)成:
SqlCommand com=new SqlCommand(“Select * from users where username='”+t_name.text+“' and pwd='”+t_pwd.text+“'”);object obj=com.ExcuteScale();if(obj!=null)
{
//通過驗(yàn)證
} 這段代碼容易被sql注入。如用戶在t_name中隨便輸入,在t_pwd中輸入1' or 1='1 就可以進(jìn)入系統(tǒng)了??梢圆捎脜?shù)化查詢語(yǔ)句進(jìn)行防止。
71.什么是反射?
答:有關(guān)程序及其類型的數(shù)據(jù)被稱為元數(shù)據(jù)(metadata),它們保存在程序的程序集中。程序在運(yùn)行時(shí),可以查看其它程序集及其本身的元數(shù)據(jù),一個(gè)運(yùn)行的程序查看本身及其它程序集的元數(shù)據(jù)的行為叫做反射(reflection)。
72.用Singleton如何寫設(shè)計(jì)模式
publicsealedclassSun { privatestaticSun instance = null;private Sun(){} publicstaticSun Instance { get
{ return instance == null ? instance = newSun(): instance;} } }
73.什么是Application Pool?
答:Web應(yīng)用,類似Thread Pool,提高并發(fā)性能。
74.什么是虛函數(shù)?什么是抽像函數(shù)?
? 虛函數(shù):使它們可以在派生類中被重寫,它自身可以有函數(shù)的實(shí)現(xiàn)。
? 抽像函數(shù):規(guī)定其非虛子類必須實(shí)現(xiàn)的函數(shù),必須被重寫,它自身不可有函數(shù)的實(shí)現(xiàn)。
75.什么是XML?
答:XML即可擴(kuò)展標(biāo)記語(yǔ)言(Extensible Markup Language)。它是一種以簡(jiǎn)單文本格式存儲(chǔ)數(shù)據(jù)的方式,這意味著它可以被任何計(jì)算機(jī)讀取,它在.Net中執(zhí)行大量的任務(wù),包括描述應(yīng)用程序的配置、在Web服務(wù)之間傳輸信息等。
77.什么是ASP.net中的用戶控件?
第12頁(yè) /共17
答:用戶控件是能夠在其中放置標(biāo)記和 Web 服務(wù)器控件的容器。然后,可以將用戶控件作為一個(gè)單元對(duì)待,為其定義屬性和方法。有了用戶控件,就不必為每個(gè)需要相同內(nèi)容的頁(yè)面多次創(chuàng)建用戶界面,編寫代碼,而只需要?jiǎng)?chuàng)建一個(gè)用戶控件,在幾個(gè)頁(yè)面中多次使用。
78.列舉一下你所了解的XML技術(shù)及其應(yīng)用
答:xml用于配置,用于保存靜態(tài)數(shù)據(jù)類型.接觸XML最多的是web Services..和config,soap協(xié)議
79.ADO.net中常用的對(duì)象有哪些?分別描述一下。提供者對(duì)象:
? Connection 提供到數(shù)據(jù)源的基本連接。? Command 使用它對(duì)數(shù)據(jù)源發(fā)出命令。
? CommandBuilder 此對(duì)象用于構(gòu)建Sql命令,在基于單一表查詢的對(duì)象中進(jìn)行數(shù)據(jù)修改。? DataReader 這是一個(gè)快速而易用的對(duì)象,可以從數(shù)據(jù)源中讀取僅能前向和只讀的數(shù)據(jù)流。
? DataAdapter 它是一個(gè)通用的類,可以執(zhí)行針對(duì)數(shù)據(jù)源的各種操作,包括更新變動(dòng)的數(shù)據(jù),填充DataSet對(duì)象以及其它操作。用戶對(duì)象:
? DataSet 它表示一組相關(guān)表,在應(yīng)用程序中這些表作為一個(gè)單元來(lái)引用。
80.什么是code-Behind技術(shù)。
答:Code-Behind技術(shù)也稱為代碼隱藏技術(shù),在ASP.NET中通過ASPX頁(yè)面指向CS文件的方法實(shí)現(xiàn)顯示邏輯和處理邏輯的分離,這樣有助于web應(yīng)用程序的創(chuàng)建。比如分工,美工和編程的可以個(gè)干各的,不用再像以前asp那樣都代碼和html代碼混在一起,難以維護(hù)。
81.什么是SOAP,有哪些應(yīng)用。
答:SOAP(Simple Object Access Protocol)簡(jiǎn)單對(duì)象訪問協(xié)議,是在分散或分布式的環(huán)境中交換信息并執(zhí)行遠(yuǎn)程過程調(diào)用的協(xié)議,是一個(gè)基于XML的協(xié)議。使用SOAP,不用考慮任何特定的傳輸協(xié)議(最常用的還是HTTP協(xié)議),可以允許任何類型的對(duì)象或代碼,在任何平臺(tái)上,以任何一種語(yǔ)言相互通信。這種相互通信采用的是XML格式的消息。
82.C#中 property 與 attribute的區(qū)別,他們各有什么用處,這種機(jī)制的好處在哪里? ? Attribute是Microsoft.NET Framework文件的元數(shù)據(jù),可以用來(lái)向運(yùn)行時(shí)描述你的代碼,或者在程序運(yùn)行的時(shí)候影響應(yīng)用程序的行為。Attribute是派生于System.Attribute類之下,它的主要作用是描述
? Property是面向?qū)ο缶幊痰幕靖拍?,提供了?duì)私有字段的訪問封裝,在C#中以get和set訪問器方法實(shí)現(xiàn)對(duì)可讀可寫屬性的操作,提供了安全和靈活的數(shù)據(jù)訪問封裝。
83.XML 與 HTML 的主要區(qū)別
? XML是HTML的補(bǔ)充,而不是HTML的替代品,XML和HTML是兩種不同用途的語(yǔ)言。? XML是被設(shè)計(jì)用來(lái)描述數(shù)據(jù)的,重點(diǎn)是:什么是數(shù)據(jù),如何存放數(shù)據(jù)。而HTML是被設(shè)計(jì)用來(lái)顯示數(shù)據(jù)的,重點(diǎn)是:顯示數(shù)據(jù)以及如何顯示數(shù)據(jù)更好上面。
第13頁(yè) /共17
? XML是自由的、可以擴(kuò)展的,XML標(biāo)記并不是預(yù)先規(guī)定好的,你必須創(chuàng)造你自XML標(biāo)記并不是,而在HTML文檔中必須使用規(guī)則中定義好的標(biāo)記。
? XML是區(qū)分大小寫字母的,HTML不區(qū)分。? 在HTML中,如果上下文清楚地顯示出段落或者列表鍵在何處結(jié)尾,那么你可以省略
或者之類的結(jié)束標(biāo)記。在XML中,絕對(duì)不能省略掉結(jié)束標(biāo)記。? 在XML中,擁有單個(gè)標(biāo)記而沒有匹配的結(jié)束標(biāo)記的元素必須用一個(gè) / 字符作為結(jié)尾。這樣分析器就知道不用查找結(jié)束標(biāo)記了。
? 在XML中,屬性值必須封裝在引號(hào)中。在HTML中,引號(hào)是可用可不用的。? 在HTML中,可以擁有不帶值的屬性名。在XML中,所有的屬性都必須帶有相應(yīng)的值。
84.c#中的三元運(yùn)算符是? 答:?:。
85.當(dāng)整數(shù)a賦值給一個(gè)object對(duì)像時(shí),整數(shù)a將會(huì)被? 答:裝箱。
86.類成員有5種可訪問形式?
87.public static const int A=1;這段代碼有錯(cuò)誤么?是什么?
答:const表現(xiàn)的很像靜態(tài)變量,它們對(duì)類的每個(gè)實(shí)例都是可見的,而且即使沒有類的實(shí)例它們也可以使用,而與靜態(tài)變量不同的是它沒有自己的存儲(chǔ)位置,而是在編譯時(shí)被編譯器替換,因此它不能聲明為Static。
88.float f=-123.567F;int i=(int)f;i的值現(xiàn)在是-123
將f的值強(qiáng)制轉(zhuǎn)換成int型,也就是將小數(shù)點(diǎn)后面的部分直接截取,保留整數(shù)部分。89.委托聲明的關(guān)鍵字是 Delegate。
91.在Asp.net中所有的自定義用戶控件都必須繼承自 Control。
92.在.Net中所有可序列化的類都被標(biāo)記為[Serializable]。
93.在.Net托管代碼中我們不用擔(dān)心內(nèi)存漏洞,這是因?yàn)橛辛薌C垃圾回收機(jī)制。
94.下面的代碼中有什么錯(cuò)誤嗎?_______ using System;class A
第14頁(yè) /共17
{ public virtual void F(){ Console.WriteLine(“A.F”);} abstract class B:A { public abstract override void F();} 答:abstract override 是不可以一起修飾.95.當(dāng)類T只聲明了私有實(shí)例構(gòu)造函數(shù)時(shí),則在T的程序文本外部,不可以從T派生出新的類,因?yàn)樽宇悷o(wú)法調(diào)用父類的構(gòu)造函數(shù),不可以直接創(chuàng)建T的任何實(shí)例。
96.Switch語(yǔ)句的格式
switch(1 + 1){ case 1: Console.WriteLine(“Wrong”);break;case 2: Console.WriteLine(“right”);break;default: Console.WriteLine(“jiaoyanqing”);break;}
97.在.Net中,類System.Web.UI.Page 可以被繼承么? 答:可以。
98..net的錯(cuò)誤處理機(jī)制是什么?
答:.net錯(cuò)誤處理機(jī)制采用try->catch->finally結(jié)構(gòu),發(fā)生錯(cuò)誤時(shí),層層上拋,直到找到匹配的Catch為止。
異常:它是程序中的運(yùn)行時(shí)錯(cuò)誤,它違反了一個(gè)系統(tǒng)約束或應(yīng)用程序約束,或出現(xiàn)了在正常操作時(shí)未預(yù)料的情形,如果程序沒有提供處理該異常的代碼,系統(tǒng)會(huì)掛起這個(gè)程序。即使在Try塊中有Return語(yǔ)句,F(xiàn)inally塊也總是會(huì)在返回到調(diào)用代碼之前執(zhí)行。
99.利用operator聲明且僅聲明了==,有什么錯(cuò)誤么? 答:要同時(shí)修改Equale和GetHash()? 重載了“==” 就必須重載 “!=”
8.62-63=1 等式不成立,請(qǐng)移動(dòng)一個(gè)數(shù)字(不可以移動(dòng)減號(hào)和等于號(hào)),使得等式成立,如何移動(dòng)?
答案:62移動(dòng)成2的6次方
第15頁(yè) /共17
105.對(duì)于這樣的一個(gè)枚舉類型:enumColor : byte { Red, Green, Blue, Orange };答:string[] ss = Enum.GetNames(typeof(Color));Array array = Enum.GetValues(typeof(Color));
107.C#可否對(duì)內(nèi)存進(jìn)行直接的操作?
答:C#可以直接對(duì)內(nèi)存進(jìn)行操作。但是默認(rèn)情況下,為了保持類型安全,C#不支持指針運(yùn)算。不過,通過使用 unsafe 關(guān)鍵字,可以定義可使用指針的不安全上下文。在不安全的上下文中,類型可以是指針類型以及值類型或引用類型。
108.ADO.NET相對(duì)于ADO等主要有什么改進(jìn)?
? ADO.NET不依賴于數(shù)據(jù)提供程序,而是使用.Net托管提供的程序。? 不使用com ? 不在支持動(dòng)態(tài)游標(biāo)和服務(wù)器端游
? 可以斷開connection而保留當(dāng)前數(shù)據(jù)集可用 ? 強(qiáng)類型轉(zhuǎn)換 ? xml支持
110.大概描述一下ASP.NET服務(wù)器控件的生命周期 答:初始化加載視圖狀態(tài)處理回發(fā)數(shù)據(jù)加載發(fā)送回發(fā)更改通知處理回發(fā)事件預(yù)呈現(xiàn)保存狀態(tài)呈現(xiàn)處置卸載
111.匿名內(nèi)部類是否可以繼承其它類,是否可以實(shí)現(xiàn)接口? 答:不能,可以實(shí)現(xiàn)接口
113.,&和&&的區(qū)別。
&是位運(yùn)算符,表示按位與運(yùn)算,&&是邏輯運(yùn)算符,表示邏輯與(and).114.HashMap和Hashtable的區(qū)別。
答:HashMap是Hashtable的輕量級(jí)實(shí)現(xiàn)(非線程安全的實(shí)現(xiàn)),他們都完成了Map接口,主要區(qū)別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable.116.重載方法可以改變返回值的類型?
117.error和exception有什么區(qū)別? 答:error 表示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問題。比如說內(nèi)存溢出。不可能指望程序能處理這樣的情況。
exception 表示一種設(shè)計(jì)或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運(yùn)行正常,從不會(huì)發(fā)生的情況。
118.<%# %>和<% %>有什么區(qū)別? 答:<%# %>表示綁定的數(shù)據(jù)源
<% %>是服務(wù)器端代碼塊
120.重載與覆蓋的區(qū)別?
第16頁(yè) /共17
? 方法的覆蓋是子類和父類之間的關(guān)系,是垂直關(guān)系;方法的重載是同一個(gè)類中方法之間的關(guān)系,是水平關(guān)系
? 覆蓋是一個(gè)方法或一對(duì)方法產(chǎn)生關(guān)系;方法的重載是多個(gè)方法之間的關(guān)系。? 覆蓋要求參數(shù)列表相同;重載要求參數(shù)列表不同。
? 覆蓋關(guān)系中,調(diào)用那個(gè)方法體,是根據(jù)對(duì)象的類型(對(duì)象對(duì)應(yīng)存儲(chǔ)空間類型)來(lái)決定;重載關(guān)系,是根據(jù)調(diào)用時(shí)的實(shí)參表與形參表來(lái)選擇方法體的。
125.分析以下代碼。
public static void test(string ConnectString){
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();conn.ConnectionString = ConnectString;try {
conn.Open();} catch(Exception Ex){
MessageBox.Show(Ex.ToString());} finally {
if(!conn.State.Equals(ConnectionState.Closed))conn.Close();} } 請(qǐng)問
1)以上代碼可以正確使用連接池嗎?
如果傳入的connectionString是一模一樣的話,可以正確使用連接池。不過一模一樣的意思是,連字符的空格數(shù),順序完全一致。
127.什么是WSE?目前最新的版本是多少?
答:WSE(Web Service Extension)包來(lái)提供最新的WEB服務(wù)安全保證,目前最新版本2.0。
129.下面的例子中
classA { publicstaticint X;static A(){ X = B.Y + 1;
第17頁(yè) /共17
} } classB { publicstaticint Y = A.X + 1;static B(){ } } static void Main(){ Console.WriteLine(“X={0},Y={1}”, mytest.A.X, mytest.B.Y);}
產(chǎn)生的輸出結(jié)果是什么? 答:X=2,Y=1;
第五篇:.Net面試題集
1.有哪幾種方法可以實(shí)現(xiàn)一個(gè)類存取另外一個(gè)類的成員函數(shù)及屬性,并請(qǐng)舉列來(lái)加以說明和分析.2.A類是B類的基類,并且都有自己的構(gòu)造,析構(gòu)函數(shù),請(qǐng)舉例證明B類從實(shí)例化到消亡過程中構(gòu)造,析構(gòu)函數(shù)的執(zhí)行過程.請(qǐng)附code
3.什么叫應(yīng)用程序域?什么是受管制的代碼?什么是強(qiáng)類型系統(tǒng)?
4..Net中讀寫數(shù)據(jù)庫(kù)需要用到哪些類?他們的作用
5.ASP.net的身份驗(yàn)證方式有哪些?分別是什么原理?
6.解釋一下UDDI、WSDL的意義及其作用。
7.常用的調(diào)用webservice方法有哪些?
8.講一講你理解的web service,在dot net framework中,怎么很好的結(jié)合xml?(講概念就行了)
9.C#可否對(duì)內(nèi)存進(jìn)行直接的操作?(這可是個(gè)難點(diǎn)哦?要注意?。?如果能,如何操作;如果不能,為什么?
10.描述一下C#中索引器的實(shí)現(xiàn)過程,是否只能根據(jù)數(shù)字進(jìn)行索引?
1.值類型和引用類型的區(qū)別?
2.了解程序集強(qiáng)簽名嗎?
3.C#中接口和類有什么區(qū)別?
4.View State 的作用和實(shí)現(xiàn)方式?
5.在ASP.net中可以利用哪些對(duì)象存儲(chǔ)狀態(tài)?幾種維持狀態(tài)的對(duì)象應(yīng)用場(chǎng)合以及優(yōu)缺點(diǎn)?
6.簡(jiǎn)單說說 ASP.NET 中基于表單的身份驗(yàn)證方式的用法
7.是否了解 URL Rewrite?請(qǐng)簡(jiǎn)要說明其原理和在 ASP.NET 中的實(shí)現(xiàn)方式。
8.在超過10萬(wàn)條記錄的頁(yè)面顯示時(shí),你如何處理分頁(yè),有多少種替代方案?
9.DataReader和DataSet的異同
10.你會(huì)利用那些工具進(jìn)行數(shù)據(jù)庫(kù)的性能分析及其優(yōu)化?說說你覺得優(yōu)化數(shù)據(jù)庫(kù)需要注
意的方面。比如:如何設(shè)計(jì)優(yōu)化查詢?yōu)橹?、插入更新為主的表?/p>
11.數(shù)據(jù)庫(kù)某表主鍵自增,是很常見的情形。在ASP.Net或C#程序中,要求向該表插入一條記錄,并馬上從該表查出這條記錄。不能使用時(shí)間戳,請(qǐng)問你如何實(shí)現(xiàn)?
12.Xhtml 的三種 DOCTYPE 分別有啥意義?請(qǐng)說明。簡(jiǎn)單說明各個(gè)情況下,那些標(biāo)簽可用,那些不可用。
13.請(qǐng)列舉說明XHtml代碼規(guī)范,越多越好。
14.客戶端與瀏覽器:如果讓你做一個(gè)TreeView控件,你的思路。
15.談?wù)務(wù)搲?,聊天室,IM,和各種網(wǎng)站程序的交互與刷新思路的差異與共同點(diǎn)。
16.請(qǐng)談?wù)剬?duì)WSE(Web Services Enhancements)的認(rèn)識(shí)。
17.你用過哪些版本控制工具
18.在開發(fā)中你利用那些工具進(jìn)行單元測(cè)試和模塊測(cè)試
19.如何進(jìn)行Bug管理
20.如何生成和管理開發(fā)文檔
21.請(qǐng)用代碼簡(jiǎn)單描述一下Singleton、抽象工廠、Bridge、Composite(任選三個(gè))的設(shè)計(jì)模式的概念。
22.如果你是一位軟件架構(gòu)師,您將如何去搭建一個(gè)符合n-tie的架構(gòu)?并請(qǐng)描述一下您搭建的每一層的作用。(注意:請(qǐng)您考慮項(xiàng)目中有WebService的情況)
23.就數(shù)據(jù)結(jié)構(gòu)或算法某一話題談一下自己看法,如鏈表,二叉樹,遞歸,分治等任選其一。
24.談一下假設(shè)如果讓你做一個(gè)特殊的數(shù)據(jù)結(jié)構(gòu)體,比如網(wǎng)絡(luò)對(duì)弈中國(guó)象棋,如何組織數(shù)據(jù)結(jié)構(gòu),描述棋盤,行棋步驟,進(jìn)行存儲(chǔ)和傳遞?
25、可否簡(jiǎn)要的介紹asp.net 2.0 Membership,WebPart和C#的匿名函數(shù)和泛型等你認(rèn)為.net 2.0自己感興趣的內(nèi)容,希望可以簡(jiǎn)要地闡述其中的特點(diǎn)。
26、你如何學(xué)習(xí)新知識(shí)?有哪些站點(diǎn)或者資源你認(rèn)為值得推薦?
27、你最近在做哪些工作,或者你在對(duì)哪個(gè)技術(shù)感興趣,請(qǐng)描述其中數(shù)項(xiàng)你覺得很有心得的內(nèi)容??梢允且韵马?xiàng):
a)介紹自己最近正在深入研究的技術(shù)心的、自己寫的小程序的心得等等
b)自己最近參與的項(xiàng)目中涉及到的各種技術(shù),軟件管理方法等等的心得。
28、期望的工資待遇與前景,目前的住所,人際關(guān)系等。以前的經(jīng)歷,和以后的打算,比如:30歲程序員的話題。
1.面向?qū)ο蟮乃枷胫饕ㄊ裁矗?/p>
2.什么是ASP.net中的用戶控件
3.什么叫應(yīng)用程序域?什么是受管制的代碼?什么是強(qiáng)類型系統(tǒng)?什么是裝箱和拆箱?什么是重載?CTS、CLS和CLR分別作何解釋?
4.列舉一下你所了解的XML技術(shù)及其應(yīng)用
5.值類型和引用類型的區(qū)別?寫出C#的樣例代碼。
6.ADO.net中常用的對(duì)象有哪些?分別描述一下。
7.如何理解委托?
8.C#中的接口和類有什么異同。
9.。net中讀寫數(shù)據(jù)庫(kù)需要用到哪些類?他們的作用
10.UDP連接和TCP連接的異同。
11.ASP.net的身份驗(yàn)證方式有哪些?分別是什么原理?
12.進(jìn)程和線程分別怎么理解?
13.什么是code-Behind技術(shù)。
14.活動(dòng)目錄的作用。
15..net中讀寫XML的類都?xì)w屬于哪些命名空間?
16.解釋一下UDDI、WSDL的意義及其作用。
17.什么是SOAP,有哪些應(yīng)用。
18.如何部署一個(gè)ASP.net頁(yè)面。
19.如何理解.net中的垃圾回收機(jī)制。
20.常用的調(diào)用webservice方法有哪些?繼承多態(tài)封裝用戶控件.不會(huì)說懂得做裝箱和拆箱發(fā)生值類型向引用類型轉(zhuǎn)換,和引用類型向值類型轉(zhuǎn)重載:同一個(gè)函數(shù)參數(shù)不同
4.xml可以用來(lái)做網(wǎng)頁(yè)(xslt)xml可以當(dāng)作數(shù)據(jù)庫(kù) xml可以用來(lái)保存對(duì)象的系列化
5值類型,沒有什么好說的.引用類型用處是返回兩個(gè)以上參數(shù)的時(shí)候比較好用 ref out 我常用的是out不要先賦值
6ado.net 我直接用 sqlhelper了有connection command 還有參數(shù)回調(diào)機(jī)制比較有用的.在net中采用了委托.接口,是可以多繼承,類只有單繼承.接口強(qiáng)調(diào)了你必須實(shí)現(xiàn),而沒有具本實(shí)現(xiàn)的方法和虛類有點(diǎn)相似datareader dataset 還有一個(gè)不太常用udp不要實(shí)現(xiàn)什么三次握手.asp.net身份驗(yàn)證最常用還是以前的session方法.form驗(yàn)證沒有用過.微軟的哪個(gè)也沒有用過進(jìn)程簡(jiǎn)單理解為單個(gè)程序吧(按ctrl+alt+del)可以看到的.它至少有一個(gè)主線程.13 代碼后置..不懂得講活動(dòng)目錄..完全不會(huì)system.xml(system.io創(chuàng)建目錄的時(shí)候用)這個(gè)也是web服務(wù)里的東西.soap簡(jiǎn)單協(xié)議.我只知道.web服務(wù)是基于它之上的部置一個(gè)頁(yè)面.也就是說沒有代碼是直接寫在aspx中的了.只接放在IIS的虛擬目錄下就行了.當(dāng)然要asp.net支持垃圾回收..一般的只要掌握.非托管對(duì)象要記得釋放資源就行了吧.直接在vs.net里面引用就OK了.它會(huì)自己生成一個(gè)代理類