日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > C# >内容正文

C#

c#笔试

發(fā)布時(shí)間:2024/9/5 C# 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c#笔试 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 簡(jiǎn)述 private、 protected、 public、 internal 修飾符的訪問(wèn)權(quán)限。
答 . private :???? 私有成員, 在類的內(nèi)部才可以訪問(wèn)。
?????? protected : 保護(hù)成員,該類內(nèi)部和繼承類中可以訪問(wèn)。
?????? public :????? 公共成員,完全公開(kāi),沒(méi)有訪問(wèn)限制。
?????? internal:???? 在同一命名空間內(nèi)可以訪問(wèn)。

2 .列舉ASP.NET 頁(yè)面之間傳遞值的幾種方式。
答. 1.使用QueryString,??? 如....?id=1; response. Redirect()....
????? 2.使用Session變量
????? 3.使用Server.Transfer

3. 一列數(shù)的規(guī)則如下: 1、1、2、3、5、8、13、21、34......??? 求第30位數(shù)是多少, 用遞歸算法實(shí)現(xiàn)。
答: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);
????????? }
????? }

4.C#中的委托是什么?事件是不是一種委托?
答:?????
委托可以把一個(gè)方法作為參數(shù)代入另一個(gè)方法。
委托可以理解為指向一個(gè)函數(shù)的引用。
是,是一種特殊的委托

5.override與重載的區(qū)別
答 :
override 與重載的區(qū)別。重載是方法的名稱相同。參數(shù)或參數(shù)類型不同,進(jìn)行多次重載以適應(yīng)不同的需要
Override 是進(jìn)行基類中函數(shù)的重寫。為了適應(yīng)需要。

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

7.請(qǐng)編程遍歷頁(yè)面上所有TextBox控件并給它賦值為string.Empty?
答:
??????? foreach (System.Windows.Forms.Control control in this.Controls)
??????? {
if (control is System.Windows.Forms.TextBox)
{
????? System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ;
????? tb.Text = String.Empty ;
}
??????? }

8.請(qǐng)編程實(shí)現(xiàn)一個(gè)冒泡排序算法?
答:
????????? int [] array = new int [*] ;
int temp = 0 ;
for (int i = 0 ; i < array.Length - 1 ; i++)
{
for (int j = i + 1 ; j < array.Length ; j++)
{
if (array[j] < array[i])
{
temp = array[i] ;
array[i] = array[j] ;
array[j] = temp ;
}
}
}

9.描述一下C#中索引器的實(shí)現(xiàn)過(guò)程,是否只能根據(jù)數(shù)字進(jìn)行索引?
答:不是??梢杂萌我忸愋汀?/p>

10.求以下表達(dá)式的值,寫出您想到的一種或幾種實(shí)現(xiàn)方法: 1-2+3-4+……+m
答:
????? int Num = this.TextBox1.Text.ToString() ;
int Sum = 0 ;
for (int i = 0 ; i < Num + 1 ; i++)
{
if((i%2) == 1)
{
Sum += i ;
}
else
{
Sum = Sum??? - I ;
}
}
System.Console.WriteLine(Sum.ToString());
System.Console.ReadLine() ;

11.用.net做B/S結(jié)構(gòu)的系統(tǒng),您是用幾層結(jié)構(gòu)來(lái)開(kāi)發(fā),每一層之間的關(guān)系以及為什么要這樣分層?
答:一般為3層
????????? 數(shù)據(jù)訪問(wèn)層,業(yè)務(wù)層,表示層。
????????? 數(shù)據(jù)訪問(wèn)層對(duì)數(shù)據(jù)庫(kù)進(jìn)行增刪查改。
????????? 業(yè)務(wù)層一般分為二層,業(yè)務(wù)表觀層實(shí)現(xiàn)與表示層的溝通,業(yè)務(wù)規(guī)則層實(shí)現(xiàn)用戶密碼的安全等。
????????? 表示層為了與用戶交互例如用戶添加表單。
優(yōu)點(diǎn):??? 分工明確,條理清晰,易于調(diào)試,而且具有可擴(kuò)展性。
缺點(diǎn):??? 增加成本。

12.在下面的例子里
?????? using System;
?????? class A
?????? {
??????????? public A()
???????????? {
????????????????? PrintFields();
???????????? }
??????????? public virtual void PrintFields(){}
??????? }
??????? class B:A
??????? {
???????????? int x=1;
???????????? int y;
???????????? public B()
???? {
???????????????? y=-1;
???????????? }
???????????? public override void PrintFields()
???????????? {
???????????????? Console.WriteLine("x={0},y={1}",x,y);
???????????? }
當(dāng)使用new B()創(chuàng)建B的實(shí)例時(shí),產(chǎn)生什么輸出?
答:X=1,Y=0;x= 1 y = -1

13.什么叫應(yīng)用程序域?
答:應(yīng)用程序域可以理解為一種輕量級(jí)進(jìn)程。起到安全的作用。占用資源小。

14.CTS、CLS、CLR分別作何解釋?
答:CTS:通用語(yǔ)言系統(tǒng)。CLS:通用語(yǔ)言規(guī)范。CLR:公共語(yǔ)言運(yùn)行庫(kù)。

15.什么是裝箱和拆箱?
答:從值類型接口轉(zhuǎn)換到引用類型裝箱。從引用類型轉(zhuǎn)換到值類型拆箱。

16.什么是受管制的代碼?
答:unsafe:非托管代碼。不經(jīng)過(guò)CLR運(yùn)行。

17.什么是強(qiáng)類型系統(tǒng)?
答:RTTI:類型識(shí)別系統(tǒng)。

18.net中讀寫數(shù)據(jù)庫(kù)需要用到那些類?他們的作用?
答:DataSet:數(shù)據(jù)存儲(chǔ)器。
????? DataCommand:執(zhí)行語(yǔ)句命令。
????? DataAdapter:數(shù)據(jù)的集合,用語(yǔ)填充。

19.ASP.net的身份驗(yàn)證方式有哪些?分別是什么原理?
答:10。Windwos(默認(rèn))用IIS...From(窗體)用帳戶....Passport(密鑰)

20.什么是Code-Behind技術(shù)?
答:代碼后植。

21.在.net中,配件的意思是?
答:程序集。(中間語(yǔ)言,源數(shù)據(jù),資源,裝配清單)

22.常用的調(diào)用WebService的方法有哪些?
答:1.使用WSDL.exe命令行工具。
????? 2.使用VS.NET中的Add Web Reference菜單選項(xiàng)

23..net Remoting 的工作原理是什么?
答:服務(wù)器端向客戶端發(fā)送一個(gè)進(jìn)程編號(hào),一個(gè)程序域編號(hào),以確定對(duì)象的位置。

24.在C#中,string str = null 與 string str = “” 請(qǐng)盡量使用文字或圖象說(shuō)明其中的區(qū)別。
答:string str = null 是不給他分配內(nèi)存空間,而string str = "" 給它分配長(zhǎng)度為空字符串的內(nèi)存空間。

25.請(qǐng)?jiān)斒鲈赿otnet中類(class)與結(jié)構(gòu)(struct)的異同?
答:Class可以被實(shí)例化,屬于引用類型,是分配在內(nèi)存的堆上的,Struct屬于值類型,是分配在內(nèi)存的棧上的.

26.根據(jù)委托(delegate)的知識(shí),請(qǐng)完成以下用戶控件中代碼片段的填寫:
namespace test
{
public delegate void OnDBOperate();
public class UserControlBase : System.Windows.Forms.UserControl
{
public event OnDBOperate OnNew;
privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
if(e.Button.Equals(BtnNew))
{
//請(qǐng)?jiān)谝韵卵a(bǔ)齊代碼用來(lái)調(diào)用OnDBOperate委托簽名的OnNew事件。
}
}
}
答:if( OnNew != null )?
????? OnNew( this, e );

27.分析以下代碼,完成填空
string strTmp = "abcdefg某某某";
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
以上代碼執(zhí)行完后,i= j=
答:i=13,j=10

28.SQLSERVER服務(wù)器中,給定表 table1 中有兩個(gè)字段 ID、LastUpdateDate,ID表示更新的事務(wù)號(hào), LastUpdateDate表示更新時(shí)的服務(wù)器時(shí)間,請(qǐng)使用一句SQL語(yǔ)句獲得最后更新的事務(wù)號(hào)
答:Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)

29.根據(jù)線程安全的相關(guān)知識(shí),分析以下代碼,當(dāng)調(diào)用test方法時(shí)i>10時(shí)是否會(huì)引起死鎖?并簡(jiǎn)要說(shuō)明理由。
public void test(int i)
{
???? lock(this)
{
???? if (i>10)
???? {
?????? i--;
?????? test(i);
???? }
}
}
答:不會(huì)發(fā)生死鎖,(但有一點(diǎn)int是按值傳遞的,所以每次改變的都只是一個(gè)副本,因此不會(huì)出現(xiàn)死鎖。但如果把int換做一個(gè)object,那么死鎖會(huì)發(fā)生)

30.簡(jiǎn)要談一下您對(duì)微軟.NET 構(gòu)架下remoting和webservice兩項(xiàng)技術(shù)的理解以及實(shí)際中的應(yīng)用。
答:WS主要是可利用HTTP,穿透防火墻。而Remoting可以利用TCP/IP,二進(jìn)制傳送提高效率。


31.公司要求開(kāi)發(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)擊的列頭,包該列的ID取出,按照該ID排序后,在給綁定到ListView中。

32.給定以下XML文件,完成算法流程圖。
<FileSystem>
< DriverC >
<Dir DirName=”MSDOS622”>
<File FileName =” Command.com” ></File>
</Dir>
<File FileName =”MSDOS.SYS” ></File>
<File FileName =” IO.SYS” ></File>
</DriverC>
</FileSystem>
請(qǐng)畫出遍歷所有文件名(FileName)的流程圖(請(qǐng)使用遞歸算法)。
答:
void FindFile( Directory d )
{
???? FileOrFolders = d.GetFileOrFolders();
???? foreach( FileOrFolder fof in FileOrFolders )?
???? {
?????? if( fof is File )?
?????? You Found a file;
?????? else if ( fof is Directory )?
?????? FindFile( fof );
????? }
}

33.寫出一條Sql語(yǔ)句:取出表A中第31到第40記錄(SQLServer,以自動(dòng)增長(zhǎng)的ID作為主鍵,注意:ID可能不是連續(xù)的。
答:解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)

34.面向?qū)ο蟮恼Z(yǔ)言具有________性、_________性、________性
答:封裝、繼承、多態(tài)。

35.能用foreach遍歷訪問(wèn)的對(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()
??? Runtime.getRuntime().gc()

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í)現(xiàn)它的類被叫做抽象類(abstract class),它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實(shí)現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實(shí)例。然而可以創(chuàng)建一個(gè)變量,其類型是一個(gè)抽象類,并讓它指向具體子類的一個(gè)實(shí)例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽象方法提供實(shí)現(xiàn),否則它們也是抽象類為。取而代之,在子類中實(shí)現(xiàn)該方法。知道其行為的其它類可以在類中實(shí)現(xiàn)這些方法。
接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過(guò)實(shí)現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒(méi)有一個(gè)有程序體。接口只可以定義static final成員變量。接口的實(shí)現(xiàn)與子類相似,除了該實(shí)現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實(shí)現(xiàn)特殊接口時(shí),它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實(shí)現(xiàn)了該接口的類的任何對(duì)象上調(diào)用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動(dòng)態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,instanceof 運(yùn)算符可以用來(lái)決定某對(duì)象的類是否實(shí)現(xiàn)了接口。

39.啟動(dòng)一個(gè)線程是用run()還是start()?
答:啟動(dòng)一個(gè)線程是調(diào)用start()方法,使線程所代表的虛擬處理機(jī)處于可運(yùn)行狀態(tài),這意味著它可以由JVM調(diào)度并執(zhí)行。這并不意味著線程就會(huì)立即運(yùn)行。run()方法可以產(chǎn)生必須退出的標(biāo)志來(lái)停止一個(gè)線程。

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類?
答:String類是final類故不可以繼承。

43.try {}里有一個(gè)return語(yǔ)句,那么緊跟在這個(gè)try后的finally {}里的code會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后?
答:會(huì)執(zhí)行,在return前執(zhí)行。

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

45.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
答:switch(expr1)中,expr1是一個(gè)整數(shù)表達(dá)式。因此傳遞給 switch 和 case 語(yǔ)句的參數(shù)應(yīng)該是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。

47.當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法?
不能,一個(gè)對(duì)象的一個(gè)synchronized方法只能由一個(gè)線程訪問(wèn)。

48.abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是synchronized?
答:都不能。

49.List, Set, Map是否繼承自Collection接口?
答:List,Set是Map不是

50.Set里的元素是不能重復(fù)的,那么用什么方法來(lái)區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們有何區(qū)別?
答:Set里的元素是不能重復(fù)的,那么用iterator()方法來(lái)區(qū)分重復(fù)與否。equals()是判讀兩個(gè)Set是否相等。
equals()和==方法決定引用值是否指向同一對(duì)象equals()在類中被覆蓋,為的是當(dāng)兩個(gè)分離的對(duì)象的內(nèi)容和類型相配的話,返回真值。

51.數(shù)組有沒(méi)有l(wèi)ength()這個(gè)方法? String有沒(méi)有l(wèi)ength()這個(gè)方法?
答:數(shù)組沒(méi)有l(wèi)ength()這個(gè)方法,有l(wèi)ength的屬性。String有有l(wèi)ength()這個(gè)方法。

52.sleep() 和 wait() 有什么區(qū)別?
答:sleep()方法是使線程停止一段時(shí)間的方法。在sleep 時(shí)間間隔期滿后,線程不一定立即恢復(fù)執(zhí)行。這是因?yàn)樵谀莻€(gè)時(shí)刻,其它線程可能正在運(yùn)行而且沒(méi)有被調(diào)度為放棄執(zhí)行,除非(a)“醒來(lái)”的線程具有更高的優(yōu)先級(jí)
(b)正在運(yùn)行的線程因?yàn)槠渌蚨枞?br />wait()是線程交互時(shí),如果線程對(duì)一個(gè)同步對(duì)象x 發(fā)出一個(gè)wait()調(diào)用,該線程會(huì)暫停執(zhí)行,被調(diào)對(duì)象進(jìn)入等待狀態(tài),直到被喚醒或等待時(shí)間到。

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正確。

54.談?wù)刦inal, finally, finalize的區(qū)別。
答:
final—修飾符(關(guān)鍵字)如果一個(gè)類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此?????? 一個(gè)類不能既被聲明為 abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們?cè)谑褂弥?????? 不被改變。被聲明為final的變量必須在聲明時(shí)給定初值,而在以后的引用中只能讀取,不可修改。被聲明為?????? final的方法也同樣只能使用,不能重載
finally—再異常處理時(shí)提供 finally 塊來(lái)執(zhí)行任何清除操作。如果拋出一個(gè)異常,那么相匹配的 catch 子句就會(huì)?????? 執(zhí)行,然后控制就會(huì)進(jìn)入 finally 塊(如果有的話)。
finalize—方法名。Java 技術(shù)允許使用 finalize() 方法在垃圾收集器將對(duì)象從內(nèi)存中清除出去之前做必要的清理?????? 工作。這個(gè)方法是由垃圾收集器在確定這個(gè)對(duì)象沒(méi)有被引用時(shí)對(duì)這個(gè)對(duì)象調(diào)用的。它是在 Object 類中定義的?????? ,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize()??????? 方法是在垃圾收集器刪除對(duì)象之前對(duì)這個(gè)對(duì)象調(diào)用的。

55.如何處理幾十萬(wàn)條并發(fā)數(shù)據(jù)?
答:用存儲(chǔ)過(guò)程或事務(wù)。取得最大標(biāo)識(shí)的時(shí)候同時(shí)更新..注意主鍵不是自增量方式這種方法并發(fā)的時(shí)候是不會(huì)有重復(fù)主鍵的..取得最大標(biāo)識(shí)要有一個(gè)存儲(chǔ)過(guò)程來(lái)獲取.

56.Session有什么重大BUG,微軟提出了什么方法加以解決?
答:是iis中由于有進(jìn)程回收機(jī)制,系統(tǒng)繁忙的話Session會(huì)丟失,可以用Sate???? server或SQL???? Server數(shù)據(jù)庫(kù)的方式存儲(chǔ)Session不過(guò)這種方式比較慢,而且無(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)程的資源。

58.堆和棧的區(qū)別?
答:
????? 棧:由編譯器自動(dòng)分配、釋放。在函數(shù)體中定義的變量通常在棧上。
????? 堆:一般由程序員分配釋放。用new、malloc等分配內(nèi)存函數(shù)分配得到的就是在堆上。

59.成員變量和成員函數(shù)前加static的作用?
答:它們被稱為常成員變量和常成員函數(shù),又稱為類成員變量和類成員函數(shù)。分別用來(lái)反映類的狀態(tài)。比如類成員變量可以用來(lái)統(tǒng)計(jì)類實(shí)例的數(shù)量,類成員函數(shù)負(fù)責(zé)這種統(tǒng)計(jì)的動(dòng)作。

60.ASP。NET與ASP相比,主要有哪些進(jìn)步?
答:asp解釋形,aspx編譯型,性能提高,有利于保護(hù)源碼。

61.產(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];

1.new有幾種用法

第一種:new Class();

第二種:覆蓋方法

public new XXXX(){}

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

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

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

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

dataset,datatable,dataview , IList

4.概述反射和序列化

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

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

5.概述o/r mapping 的原理

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

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

可訪問(wèn)形式?不懂。

可訪問(wèn)性:public ,protected ,private,internal

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

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

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

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

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

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

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

String strTemp ="abcdefg 某某某";

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

Int j = strTemp.Length;

問(wèn):i=(14 ) ;j=(11 )

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

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

string str ="" 分配空間

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

class:放在 ? struct放在?

struct值傳遞

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

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

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

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

aspx and cs

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

web/business/dataaccess

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

web/business/dataaccess

1.面向?qū)ο蟮乃枷胫饕ㄊ裁?#xff1f;

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

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

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

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

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

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

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

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

?

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

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

7.如何理解委托?

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

msdn2005中是這樣解釋的:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

?

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

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

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

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

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

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

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

答:System.Xml

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

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

答:什么東西?

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

?

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

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

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

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

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

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


本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/zrchao/archive/2009/08/05/4410372.aspx

轉(zhuǎn)載于:https://www.cnblogs.com/runy/archive/2009/08/06/1540186.html

與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的c#笔试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。