2024年個(gè)人的Net面試題大全_第1頁(yè)
2024年個(gè)人的Net面試題大全_第2頁(yè)
2024年個(gè)人的Net面試題大全_第3頁(yè)
2024年個(gè)人的Net面試題大全_第4頁(yè)
2024年個(gè)人的Net面試題大全_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2.列舉ASP.NET頁(yè)面之間傳遞值的幾種方式。

答:

>QueryString是一種非常簡(jiǎn)樸的傳值方式,他可以將傳送時(shí)值顯示在瀏覽器的地址欄中。

假如是傳遞一種或多種安全性規(guī)定不高或是構(gòu)造簡(jiǎn)樸的數(shù)值時(shí),可以使用這個(gè)措施。不

過(guò)對(duì)于傳遞數(shù)組或?qū)ο蟮脑?,就不能用這個(gè)措施了。

>Application對(duì)象的作用范圍是整個(gè)全局,也就是說(shuō)對(duì)所有顧客均有效。其常用的措施

用Lock和UnLock.

ASessi。n變量想必這個(gè)肯定是大家使用中最常見的使用措施了,作用于顧客個(gè)人,因此,

過(guò)量的存儲(chǔ)會(huì)導(dǎo)致服務(wù)器內(nèi)存資源的耗盡。

>Cookie對(duì)象變量這個(gè)也是大家常使用的措施,與Session同樣,其是什對(duì)每一種顧

客而言的,不過(guò)有個(gè)本質(zhì)的區(qū)別,即CoOkie是寄存在客戶端的,而session是寄存在

服務(wù)器端的。并且Cookie的使用要配合ASP.NET內(nèi)置對(duì)象Request來(lái)使用。

>Server.Transfer措施這個(gè)才可以說(shuō)是面象對(duì)象開發(fā)所使用的措施,其使用Server.T

ransfer措施把流程從目前頁(yè)面引導(dǎo)到另一種頁(yè)面中,新的頁(yè)面使用前一種頁(yè)面的應(yīng)答流,

因此這個(gè)措施是完全面象對(duì)象的,簡(jiǎn)潔有效。

3.一列數(shù)的規(guī)則如下:1、1、2、3、5、8、13、21、34求第30位數(shù)是多少,用

遞歸算法實(shí)現(xiàn)。

答:publicstaticintCaIculate(intx)

intretint1;

if(x>2)

returnCalcu1ate(x-2)+Ca1cu1ate(x-1);

)

e1se

returnretInt;

)

4.C#中的委托是什么?事件是不是一種委托?

答:委托是一種定義措施簽名的類型,可以與具有兼容簽名的任何措施關(guān)聯(lián)??梢酝ㄟ^(guò)

托調(diào)用措施。委托用于將措施作為參數(shù)傳遞給其他措施。

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

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

>委托容許將措施作為參數(shù)進(jìn)行傳遞。

>委托可用于定義回調(diào)措施。

>委托可以鏈接在一起;例如,可以對(duì)一種事件調(diào)用多種措施。

>措施不必與委托簽名完全匹配。

事件是一種特殊的委托。

5.override與重載的區(qū)別

答:

Override:要擴(kuò)展或修改繼承的措施、屬性、索引器或事件的抽象實(shí)現(xiàn)或虛實(shí)現(xiàn),重寫的基措施必

須與override措施具有相似的I簽名。

措施重載:一種類中可以有一種以上的措施擁有相似時(shí)名稱。但必須有不相似的簽名。

6.假如在i種B/S構(gòu)造的系統(tǒng)中需要傳遞變量值,不過(guò)又不能使用Session、Cookie、App

1ication,您有幾種措施進(jìn)行處理?

答:Querystring、Server.Transfer措施。

7.請(qǐng)編程遍歷頁(yè)面上所有TextBox控件并給它賦值為string.Empty?

答:

foreach(ConIrolcontrolinthis.ControIs)

(

if(controlisTextBox)

(

TextBoxtb=(TextBox)control;

tb.Text=String.Empty;

)

)

8.請(qǐng)編程實(shí)現(xiàn)一種冒泡排序算法?

答:

//冒泡排序

pubIicstaticvoidMaoPaoSort(refint[]arrays)

if(arrays!=null&&arrays.Length>0)

for(inti=1;i<arrays.Length;i++)

(

boolisChange=faIse;

for(intj=0;j<arrays.Length-i;j++)

(

if(arrays[j]>arrays[j+1])

(

inttempValue=arrays[j];

arrays[j]=arrays[j+1];

arrays[j+1]=tempVa1ue;

isChange=true;

)

)

if(!isChange)

break;

)

)

)

9.描述一下C#中索引器的實(shí)現(xiàn)過(guò)程,與否只能根據(jù)數(shù)字進(jìn)行索引?

答:索引器容許類或構(gòu)造的實(shí)例就像數(shù)組同樣進(jìn)行索引。索引器類似于屬性,不同樣之處在

于它們的訪問器采用參數(shù)。PublicReturnTypethis[paramTypeindex]{get{}se

t{}},可以用任何類型進(jìn)行索引。

10.求如下體現(xiàn)式的值,寫出您想到的一種或幾種實(shí)現(xiàn)措施:1-2+3—4+……+m

答:publiestatIcintsumMethod1(intm)

(

intsum=0;

for(inti=1;i<=m;i++)

{

if(i%2!=0)

sum+=i;

else

sum-=i;

}

returnsum;

)

pub1icstaticintsumMethod2(intm)

intsum=0;

if(m%2!=0)

sum=m/2+1;

else

sum=-(m/2);

returnsum;

)

12.在下面的例子里

classA

{

publieA()

(

PrintFieldsO;

)

publicvirtua1voidPrintFields(){}

}

classB:A

intx=1;

inty;

publicB()

{

y=-1;

)

publicoverridevoidPrintFields()

(

Console.WriteLineCzx={0},y={1}”,x,y);

}

)

當(dāng)使用newB()創(chuàng)立B的實(shí)例時(shí),產(chǎn)生什么輸出?

答:X=1,Y=O

13.什么叫應(yīng)用程序域?

答:應(yīng)用程序域(applicationdomain)(AppDomain)一種邊界,它由公共語(yǔ)言運(yùn)

行庫(kù)圍繞同一應(yīng)用程序范圍內(nèi)創(chuàng)立的對(duì)象建立(即,從應(yīng)用程序入口點(diǎn)開始,沿著對(duì)象激活的

序列的任何位置)。應(yīng)用程序域有助于將在一種應(yīng)用程序中創(chuàng)立的對(duì)象與在其他應(yīng)用程序中

創(chuàng)立的對(duì)象隔離,以使運(yùn)行時(shí)行為可以預(yù)知。在一種單獨(dú)的進(jìn)程中可以存在多種應(yīng)用程序域。

14.CTS、CLS、CLR分別作何解釋?

答:CTS:通用類型系統(tǒng)。CLS:通用語(yǔ)言規(guī)范。CLR:公共語(yǔ)言運(yùn)行庫(kù)。

15.什么是裝箱和拆箱?

答:裝箱:裝箱轉(zhuǎn)換是指將一種值類型隱式或顯式地轉(zhuǎn)換成一種Object類型,拆箱:拆箱

轉(zhuǎn)換是指將一種對(duì)象類型顯式地轉(zhuǎn)換成一種值類型。

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í)行多種sq1語(yǔ)句或者調(diào)用存儲(chǔ)過(guò)程。

Adapter對(duì)象,數(shù)據(jù)適配器,用來(lái)執(zhí)行SQL語(yǔ)句,配合數(shù)據(jù)集執(zhí)行比較多。

DataReader,只讀的對(duì)象,有著很高的J性能。

21.在.net中,配件的意思是?

答:程序集。(中間語(yǔ)言,源數(shù)據(jù),資源,裝配清單)

22.常用時(shí)調(diào)用WebService的措施有哪些?

答:1.使用WSDL.exe命令行工具。

2.使用VS.NET中的AddWebReference菜單項(xiàng)選擇項(xiàng)

23..netRemoting的工作原理是什么?

答:服務(wù)器端向客戶端發(fā)送一種進(jìn)程編號(hào),一種程序域編號(hào),以確定對(duì)象的位置。

31.企業(yè)規(guī)定開發(fā)一種繼承類的組件,規(guī)定抵達(dá)如下的特殊功能:點(diǎn)擊ListView各列列頭

時(shí),能按照點(diǎn)擊列歐I每行值進(jìn)行重排視圖中的所有行(排序的方式如DataGrid相似)。根

據(jù)您的知識(shí),請(qǐng)簡(jiǎn)要談一下您的思緒

答:根據(jù)點(diǎn)擊的列頭,包該列的名稱取出,按照該列名排序后,再綁定到ListView中。

35.能用foreach遍歷訪問時(shí)對(duì)象需要實(shí)現(xiàn)IEnumerable接口或申明GetEnumerator措

施的類型。

36.GC是什么?為何要有GC?

答:GC是垃圾搜集器。程序員不用緊張內(nèi)存管理,由于垃圾搜集器會(huì)自動(dòng)進(jìn)行管理。要祈求

垃圾搜集,可以調(diào)用下面的措施之一:System.GC.Col1ect();

37.Strings=newString("xyz");創(chuàng)立了幾種String0bject?

答:兩個(gè)對(duì)象,一種是“xyx”,一種是指向“xyx”的引用對(duì)像s。

38.abstractclass和interface有什么區(qū)別?

答:

抽象類:

>只能用做其他類的基類,它就是被設(shè)計(jì)來(lái)被繼承的。

>不能創(chuàng)立它日勺實(shí)例。

>它使用abstract修飾符來(lái)申明。

>抽象類可以包括抽象組員,但不是必須改I,它的組員可以抽象組員和一般帶實(shí)現(xiàn)的組員

的任意組合。

>它自己可以派生自另一種抽象類。任何派生自抽象類的類必須使用。verride關(guān)鍵字

實(shí)現(xiàn)該類所有的抽象組員,除非派生類自己也是抽象類。

接口:

>接口是體現(xiàn)一組函數(shù)組員而不實(shí)現(xiàn)組員的引用類型。其他類和構(gòu)造可以實(shí)現(xiàn)接口。

>接口申明不包括數(shù)據(jù)組員。

>接口申明只能包括如下類型的靜態(tài)組員函數(shù)的申明:措施、屬性、事件、索引。

>接口的組員不能包括任何實(shí)現(xiàn)代碼,而在每一種組員申明的主體后必須使用分號(hào)。

>接口名稱必須從大寫的I開始。它和類同樣,也可以申明成分部接口。

>接口申明可以有任何歐J訪問類型:public、protected、interna1、private。

>接口組員是隱式PublieW、J,不容許有任何訪問修飾符。

1,什么是線程池

為了幫我們減少創(chuàng)立和銷毀線程有關(guān)的成本,CLR為每一種進(jìn)程維護(hù)了一種線程池。一

開始進(jìn)程的線程池是空的,假如進(jìn)程使用的線程被創(chuàng)立,并且完畢了線程的執(zhí)行,它不會(huì)

被銷毀,而是加入到進(jìn)程的線程池中,這后,假如進(jìn)程需要一種此外一種線程,CLR就會(huì)

從池中還原一種線程,這就節(jié)省了諸多時(shí)間。

39.啟動(dòng)一種線程是用run。還是start。?

答:?jiǎn)?dòng)一種線程是調(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í)體

類(concreteclass)?

答:接口可以繼承接口。抽像類可以實(shí)現(xiàn)(implements)接口,抽像類與否可繼承實(shí)體類,

但前提是實(shí)體類必須有明確的構(gòu)造函數(shù)。

41.構(gòu)造器Constructor與否可被override?

答:構(gòu)造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloadingo

42.與否可以繼承String類?

答:不可以,由于String類是密封類,被Sealed修飾符所修飾。

44.兩個(gè)對(duì)像值相似(x.equak(y)==true),但卻可有不同樣的(hashcode,這句話對(duì)不

對(duì)?

答:不對(duì),有相似的hashcode?

HashCode:可以簡(jiǎn)樸的理解為內(nèi)存的地址。

"==":操作比較的是兩個(gè)變量時(shí)值與否相等,對(duì)于引用型變量體現(xiàn)時(shí)是兩個(gè)變量在堆中存

儲(chǔ)

的地址與否相似,即棧中的內(nèi)容與否相似。

"equals”:操作體現(xiàn)的兩個(gè)變量與否是對(duì)同一種對(duì)象的引用,即堆中的內(nèi)容與否相似。

而字符串是一種特殊的引用型類型,在C#語(yǔ)言中,重載了string對(duì)象的諸多措施措施(包括

equals()措施),使string對(duì)象用起來(lái)就像是值類型同樣。

45.swtich與否能作用在byte上,與否能作用在long上,與否能作用在String上?

答:可以。

47.當(dāng)一種線程進(jìn)入一種對(duì)象的一種synchronized措施后,其他線程與否可進(jìn)入此對(duì)象的其他

措施?

不能,一種對(duì)象日勺一種synchronized措施只能由一種線程訪問。

49.List,Set,Map與否繼承自Collection接口?

答:List,Set是M叩不是

51.數(shù)組有無(wú)1ength()這個(gè)措施?String有無(wú)length()這個(gè)措施?

答:數(shù)組和string都沒有Length。措施,只有Length屬性。

52.sleep()和wait()有什么區(qū)別?

答:sleep()措施是將目前線程掛起指定的時(shí)間。

wait()釋放對(duì)象上的鎖并阻塞目前線程,直到它重新獲取該鎖。

53.shortsi=1;s1=si+1;有什么錯(cuò)?shortsi=1;si+=1;有什么錯(cuò)?

答:shortsi=1;s1=si+1;有錯(cuò),si是short型,s1+1是int型,不能隱式轉(zhuǎn)化為short

型??尚薷臑閟i=(short)(s1+1)oshorts1=1;si+=1對(duì)的1。

復(fù)合賦值體現(xiàn)式自動(dòng)地將所執(zhí)行計(jì)算的成果轉(zhuǎn)型為其左側(cè)變量的類型,si+=1等價(jià)于sl=

(short)s1+1;

55.怎樣處理幾十萬(wàn)條并發(fā)數(shù)據(jù)?

答:用存儲(chǔ)過(guò)程或事務(wù)。獲得最大標(biāo)識(shí)的時(shí)候同步更新..注意主鍵不是自增量方式這種措施

并發(fā)口勺時(shí)候是不會(huì)有反復(fù)主鍵的..獲得最大標(biāo)識(shí)要有一種存儲(chǔ)過(guò)程來(lái)獲取.

56.Session有什么重大BUG,微軟提出了什么措施加以處理?

答:是iis中由于有進(jìn)程回收機(jī)制,系統(tǒng)繁忙的話Session會(huì)丟失,可以用Sateserver

或SQLServer數(shù)據(jù)庫(kù)的I方式存儲(chǔ)Session不過(guò)這種方式比較慢,并且無(wú)法捕捉SessionEf-J

END事件。

57.進(jìn)程和線程的區(qū)別?

答:進(jìn)程是系統(tǒng)進(jìn)行資源分派和調(diào)度的單位;線程是CPU調(diào)度和分派的單位,一種進(jìn)程可以有

多種線程,這些線程共享這個(gè)進(jìn)程的資源。

進(jìn)程:進(jìn)程就是一組資源,它們構(gòu)成了--種正在運(yùn)行的)程序。

線程:在進(jìn)程中系統(tǒng)創(chuàng)立了一種叫做線程的內(nèi)查對(duì)象,線程體現(xiàn)了一種程序的真實(shí)執(zhí)行狀況。

有關(guān)線程的一些重要事項(xiàng)如下:

□默認(rèn)情況下,一個(gè)進(jìn)程只包含一個(gè)線程,它從程序開始執(zhí)行一直到程序結(jié)束.

□一個(gè)線程可以發(fā)起另外一個(gè)線程,因此,在任何時(shí)候,一個(gè)進(jìn)程都可能在不同狀態(tài)有多

個(gè)線程來(lái)執(zhí)行程序的不同部分.

□如果一個(gè)進(jìn)程中有多個(gè)線程,它們會(huì)分享進(jìn)程的資源.

□線程是由系統(tǒng)負(fù)貴調(diào)度的處理器(而不是進(jìn)程)上的執(zhí)行單元.

58.堆和棧的區(qū)別?

答:棧是編譯期間就分派好的內(nèi)存空間,因此你的代碼中必須就棧的大小有明確的定義;堆是

程序運(yùn)行期間動(dòng)態(tài)分派的內(nèi)存空間,你可以根據(jù)程序的運(yùn)行狀況確定要分派的堆內(nèi)存的大小。

棧:它是一種內(nèi)存數(shù)組,是一種LIFO的數(shù)據(jù)構(gòu)造,數(shù)據(jù)只能從棧頂插入和刪除。

堆:它是一塊內(nèi)存區(qū)域,在堆里可以分派大塊的內(nèi)存用于存儲(chǔ)某類型的數(shù)據(jù),堆里的內(nèi)存可

以以任意次序存入和取出。

59.組員變量和組員函數(shù)前加static的作用?

答:

>它們用來(lái)反應(yīng)類的狀態(tài)。

>靜態(tài)組員它被類的所有實(shí)例所共享,所有實(shí)例都訪問同一內(nèi)存位置。

>它們獨(dú)立于所有的類實(shí)例,雖然沒有類實(shí)例,也可以調(diào)用類的靜態(tài)組員。

60.ASPoNET與ASP相比,重要有哪些進(jìn)步?

答:asp解釋形,aspx編譯型,性能提高,可以跟美工的工作分開進(jìn)行,更有助于團(tuán)體開發(fā)。

61.產(chǎn)生一種int數(shù)組,長(zhǎng)度為100,并向其中隨機(jī)插入1—100,并且不能反復(fù)。

publiestaticint[]BuildIntArray()

(

int[]retslnt=newint[100];

List<int>tempList=newList<int>();

Randomrandom=newRandom();

while(tempList.Count<100)

intnum=random.Next(1,101);

if(!tempList.Contains(num))

tempList.Add(num);

)

tempList.Sort();

for(inti=0;i<tempList.Count;i++)

retsInt[i]=ternpList[i];

returnretslnt;

)

62.請(qǐng)闡明在.net中常用的幾種頁(yè)面間傳遞參數(shù)的措施,并說(shuō)出他們的優(yōu)缺陷。

答:

>QueryString傳遞一種或多種安全性規(guī)定不高或是構(gòu)造簡(jiǎn)樸的數(shù)值。不過(guò)對(duì)

于傳遞數(shù)組或?qū)ο蟮脑?就不能用這個(gè)措施了

>session(viewstate)簡(jiǎn)樸,但易丟失作用于顧客個(gè)人,過(guò)量的存儲(chǔ)會(huì)導(dǎo)致服務(wù)

器內(nèi)存資源的耗盡。

>app1ication對(duì)象的作用范圍是整個(gè)全局,也就是說(shuō)對(duì)所有顧客均有效。其常用口勺

措施用Lock和UnLock

>cookie簡(jiǎn)樸,但也許不支持,也許被偽造Cookie是寄存在客戶端的,而sessi

on是寄存在服務(wù)器端的。并且Cookie的使用要配合ASP.NET內(nèi)置對(duì)象Re

quest來(lái)使用

input11ype="hidden"簡(jiǎn)樸,也許被偽造

>url參數(shù)簡(jiǎn)樸,顯示于地址欄,長(zhǎng)度有限

>Server.Transfer把流程從目前頁(yè)面引導(dǎo)到另一種頁(yè)面中,新的)頁(yè)面使用前一

種頁(yè)面的應(yīng)答流

>數(shù)據(jù)庫(kù)穩(wěn)定,安全,但性能相對(duì)弱

63.請(qǐng)指出GAC的含義?

答:全局程序集緩存。

GAC(GlobalAssemb1yCache),他的J作用是可以寄存某些有諸多程序都要用到的公

共Assembly。這樣,諸多程序就可以從GAC里面獲得Assembly,而不需要再把所有

要用到的Assembly都拷貝到應(yīng)用程序的執(zhí)行目錄下面。

64.向服務(wù)器發(fā)送祈求有幾種方式?

答:get,post。get一般為鏈接方式,post一般為按鈕方式。

區(qū)別:

Get方式,服務(wù)器端用Request.Qurystring取變量歐)值,安全性不高,傳送數(shù)據(jù)

量小。

post方式,服務(wù)器端用Request.Form獲取提交W-J數(shù)據(jù),安全性高。

提議:

1、get方式的安全性較P。st方式要差些,包括機(jī)密信息的話,提議用Post數(shù)據(jù)提交方式;

2、在做數(shù)據(jù)查詢時(shí),提議用Get方式;而在做數(shù)據(jù)添加、修改或刪除時(shí),提議用Post方

式。

65.DataReader與Dataset有什么區(qū)別?

答:

>連接數(shù)據(jù)庫(kù)時(shí)DataSet是非面向連接的,而DataReader是面向連接的!。

ADataSet體現(xiàn)一種數(shù)據(jù)集,是數(shù)據(jù)在內(nèi)存中的緩存,可以包括多種表,是保留數(shù)據(jù)的數(shù)據(jù)

構(gòu)造。而Datareader不承擔(dān)保留數(shù)據(jù)的I責(zé)任,它只負(fù)責(zé)從數(shù)據(jù)源讀取數(shù)據(jù)到當(dāng)?shù)囟?

它不是數(shù)據(jù)構(gòu)造,而是網(wǎng)絡(luò)通訊組件日勺高層封裝。

>DataSet可以離線處理,前后滾動(dòng),而DataReader不能離線處理,且是只讀向前底J,速

度快。

>DataSet可以存儲(chǔ)數(shù)據(jù)庫(kù)多種對(duì)象的,例如表觸發(fā)器等,可以更新回本來(lái)的數(shù)據(jù)庫(kù)。

而DataReader只能存儲(chǔ)游標(biāo)識(shí)錄,不可以更新回本來(lái)的數(shù)據(jù)庫(kù),它類似一種只能向前的

游標(biāo)識(shí)錄集。

66.軟件開發(fā)過(guò)程一般有幾種階段?每個(gè)階段的作用?答:

軟件開發(fā)一般分為五個(gè)階段:

>問題的定義及規(guī)劃團(tuán)此階段是軟件開發(fā)與需求方共同討論,重要確定軟件的開發(fā)目的及

其可行性。

>需求分析

在確定軟件開發(fā)可行性的狀況下,對(duì)軟件需要實(shí)現(xiàn)的各個(gè)功能進(jìn)行詳細(xì)需求分析。需求

分析階段是一種很重要的階段,這一階段做的好,將為整個(gè)軟件項(xiàng)目的開發(fā)打下良好的

基礎(chǔ)。“唯一不變的是變化自身",同樣軟件需求也是在軟件開發(fā)過(guò)程中不停變化和深入

的,因此,我們必須定制需求變更計(jì)劃來(lái)應(yīng)付這種變化,以保護(hù)整個(gè)項(xiàng)目的正常進(jìn)行。

A軟件設(shè)計(jì)團(tuán)此階段中要根據(jù)需求分析的成果,對(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ì)的成果轉(zhuǎn)化為計(jì)算機(jī)可運(yùn)行的程序代碼。在程序編碼中必然要制定

統(tǒng)一、符合原則的編寫規(guī)范。以保證程序的可讀性、易維護(hù)性。提高程序的運(yùn)行效率。

>軟件測(cè)試回在軟件設(shè)計(jì)完畢之后要進(jìn)行嚴(yán)密的測(cè)試,一發(fā)現(xiàn)軟件在整個(gè)軟件設(shè)計(jì)過(guò)程中

存在的問題并加以糾正。整個(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做為命名空間指令:通過(guò)在源文獻(xiàn)頂端放置Using命名空間指令以防止不得不

使用長(zhǎng)名稱,它告知編譯器你將要使用來(lái)自某個(gè)指定命名空間的類型。

>using做為別名指令:它容許對(duì)一種命名空間或命名空間中的一種類型起一種別名。

>using語(yǔ)句:某些類型的非托管對(duì)象有數(shù)量限制或很花費(fèi)系統(tǒng)資源,這樣在代碼使用

完它們后,就得盡量快的釋放它們,using語(yǔ)句有助于簡(jiǎn)化該過(guò)程并保證這些資

源被合適的處置。

New:

創(chuàng)立類和構(gòu)造的實(shí)例。

>隱藏基類的措施。

>創(chuàng)立匿名類型(var和neW關(guān)鍵字一起使用時(shí)可以創(chuàng)立匿名類型,匿名類型只是一

種繼承了ObjectW、J、沒有名稱的類,該類的定義從初始化器中推斷,類似于隱

匿類型化的變量)。

68.需要實(shí)現(xiàn)對(duì)一種字符串的處理,首先將該字符串首尾的空格去掉,假如字符串中間尚有持

續(xù)空格的J話,僅保留一種空格,即容許字符串中間有多種空格,但持續(xù)的空格數(shù)不可超過(guò)一種.

答:團(tuán)stringstr=Mafdkdaskdfjiksdafj";

stringstrAfter=Regex.Replace(str.TrimO,@”\s+",〃“);

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

inti=5;

intj=5;

if(Object.ReferenceEquals(i,j))

Console.WriteLine(vEqua1");

else

Console.WriteLine("NotEqual");

答:NotEqua1,由于RefereneeEquals是Object肚I靜態(tài)措施,用于比較兩個(gè)引用類型的)

對(duì)象與否是對(duì)于同一種對(duì)象的引用,對(duì)于值類型它總是返回faIse。

34.ReferenceEquals,==zEqua1s的J區(qū)別

>String對(duì)于申明的相似的字符串在堆上只保留一種Copy,因此有相似字符串值的兩個(gè)

字符串變量將會(huì)指向相似的Reference。

>ReferenceEquaIs:

它是Object的靜態(tài)措施,用于比較兩個(gè)引用類型的對(duì)象與否是對(duì)于同一種對(duì)象的引用,

對(duì)于值類型它總是返回faIse。

>==:回它是一種可以重載的二元操作符,可以用于比較兩個(gè)對(duì)象與否相等?;貙?duì)于內(nèi)置

值類型,==判斷的I是兩個(gè)對(duì)象時(shí)代數(shù)值與否相等。它會(huì)根據(jù)需要自動(dòng)進(jìn)行必要的類型轉(zhuǎn)

換,并根據(jù)兩個(gè)對(duì)象的值與否相等返回true或者false,而對(duì)于顧客定義的值類型,

假如沒有重載==操作符,==將是不可以使用的。回對(duì)于引用類型,==默認(rèn)的行為與

ReferenceEquals的行為相似,僅有兩個(gè)對(duì)象指向同一種Reference的時(shí)候才返回tr

ue。不過(guò).NETFramework中的)類諸多對(duì)==進(jìn)行了重載,例如String類的)==與Equals

的行為相似,判斷兩個(gè)字符串的內(nèi)容與否相等。因此在應(yīng)用中,對(duì)于系統(tǒng)定義的引用類

型提議不要使用==操作符,以免程序出現(xiàn)與預(yù)期不同樣的運(yùn)行成果。

>Equals。:回它對(duì)于值類型和引用類型的定義不同樣,對(duì)于值類型,類型相似,并且數(shù)值

相似(對(duì)于struct的每個(gè)組員都必須相似),則Equals返回true,否則返回false。

而對(duì)于引用類型,默認(rèn)的行為與RefereneeEquaIs的行為相似,僅有兩個(gè)對(duì)象指向同一

種Reference區(qū)J時(shí)候才返回true??梢愿鶕?jù)需要對(duì)Equals進(jìn)行重載,例如Stri

ng類的)Equals用于判斷兩個(gè)字符串的內(nèi)容與否相等。

70.什么叫做SQL注入,怎樣防止?請(qǐng)舉例闡明。

答:運(yùn)用sql語(yǔ)言漏洞獲得合法身份登陸系統(tǒng)。如身份驗(yàn)證的程序設(shè)計(jì)成:

SqICommandcom=newSqICommand("Select*fromuserswhereusername

="'+t_name.text+"'andpwd='"+t_pwd,text+;

objectobj=com.ExcuteScale();

if(obj!=null)

(

〃通過(guò)驗(yàn)證

)

這段代碼輕易被sql注入。如顧客在t_name中隨便輸入,在t_pwd中輸入1orl='l就

可以進(jìn)入系統(tǒng)了??梢圆捎脜?shù)化查詢語(yǔ)句進(jìn)行防止。

71.什么是反射?

答:有關(guān)程序及其類型的數(shù)據(jù)被稱為元數(shù)據(jù)(metadata),它們保留在程序的程序集中。程序

在運(yùn)行時(shí),可以查看其他程序集及其自身的元數(shù)據(jù),一種運(yùn)行的程序查看自身及其他程序集

的元數(shù)據(jù)的行為叫做反射(reflection)。

72.用Sing1eton怎樣寫設(shè)計(jì)模式

pub1icsealedc1assSun

(

privatestaticSuninstance=null;

privateSun(){)

publicstaticSunTnstance

get

returninstance==nu11?instance=newSun():instance;

)

}

)

73.什么是App1icationPooI?

答:Web應(yīng)用,類似ThreadPooI,提高并發(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)識(shí)語(yǔ)言(ExtensibleMarkupLanguage)。它是一種以簡(jiǎn)樸文本格式

存儲(chǔ)數(shù)據(jù)的方式,這意味著它可以被任何計(jì)算機(jī)讀取,它在.Net中執(zhí)行大量的任務(wù),包括描

述應(yīng)用程序的配置、在Web服務(wù)之間傳播信息等。

77.什么是ASP.net中歐J顧客控件?

答:顧客控件是可以在其中放置標(biāo)識(shí)和Web服務(wù)器控件的容器。然后,可以將顧客控件作

為一種單元看待,為其定義屬性和措施。有了顧客控件,就不必為每個(gè)需要相似內(nèi)容的頁(yè)面

多次創(chuàng)立顧客界面,編寫代碼,而只需要?jiǎng)?chuàng)立一種顧客控件,在幾種頁(yè)面中多次使用。

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

答:xml用于配置,用于保留靜態(tài)數(shù)據(jù)類型.接觸XML最多的是webServices..和config,soap

協(xié)議

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

提供者對(duì)象:

>Connection提供到數(shù)據(jù)源的基本連接。

>Command使用它對(duì)數(shù)據(jù)源發(fā)出命令。

>CommandBuilder此對(duì)象用于構(gòu)建Sql命令,在基于單一表查詢的對(duì)象中進(jìn)行數(shù)據(jù)修

改。

>DataReader這是一種迅速而易用的對(duì)象,可以從數(shù)據(jù)源中讀取僅能前向和只讀的數(shù)

據(jù)流。

>DataAdapter它是一種通用的類,可以執(zhí)行針對(duì)數(shù)據(jù)源的多種操作,包括更新變動(dòng)

的數(shù)據(jù),填充DataSet對(duì)象以及其他操作。

顧客對(duì)象:

>DataSet它體現(xiàn)一組有關(guān)表,在應(yīng)用程序中這些表作為一種單元來(lái)引用。

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

答:Code-Behind技術(shù)也稱為代碼隱藏技術(shù),在ASP.NET中通過(guò)ASPX頁(yè)面指向CS文

獻(xiàn)的措施實(shí)現(xiàn)顯示邏輯和處理邏輯的分離,這樣有助于web應(yīng)用程序的創(chuàng)立。例如分工,美

工和編程時(shí)可以個(gè)干各的,不用再像此前asp那樣都代碼和htm1代碼混在一起,難以維護(hù)。

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

答:SOAP(Simple0bjectAccessProtoco1)簡(jiǎn)樸對(duì)象訪問協(xié)議,是在分散或分布

式的環(huán)境中互換信息并執(zhí)行遠(yuǎn)程過(guò)程調(diào)用的協(xié)議,是一種基于XML的協(xié)議。使用SOAP,

不用考慮任何特定的傳播協(xié)議(最常用的還是協(xié)議),可以容許任何類型的對(duì)象或代碼,

在任何平臺(tái)上,以任何一種語(yǔ)言互相通信。這種互相通信采用的是XML格式的消息。

82.C#中property與attribute的區(qū)別,他們各有什么用處,這種機(jī)制的好處在哪里?

>Attribute是Microsoft.NETFramew。rk文獻(xiàn)的元數(shù)據(jù),可以用來(lái)向運(yùn)行時(shí)描述你的J

代碼,或者在程序運(yùn)行的時(shí)候影響應(yīng)用程序的行為。Attribute是派生于System.Att

ribute類之下,它的重要作用是描述

>Property是面向?qū)ο缶幊痰腏基本概念,提供了對(duì)私有字段的訪問封裝,在C#中以get和

set訪問器措施實(shí)現(xiàn)對(duì)可讀可寫屬性日勺操作,提供了安全和靈活的數(shù)據(jù)訪問封裝。

83.XML與HTML的重要區(qū)別

>XML是HTML的補(bǔ)充,而不是HTML的I替代品,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ù)更好上面。

>XML是自由的、可以擴(kuò)展的,XML標(biāo)識(shí)并不是預(yù)先規(guī)定好的,你必須發(fā)明你自XML標(biāo)

識(shí)并不是,而在HTML文檔中必須使用規(guī)則中定義好的標(biāo)識(shí)。

>XML是辨別大小寫字母的,HTML不辨別。

>在HTML中,假如上下文清晰地顯示出段落或者列表鍵在何處結(jié)尾,那么你可以省略</p>

或者</1i>之類的I結(jié)束標(biāo)識(shí)。在XML中,絕對(duì)不能省略掉結(jié)束標(biāo)識(shí)。

>在XML中,擁有單個(gè)標(biāo)識(shí)而沒有匹配的結(jié)束標(biāo)識(shí)的元素必須用一種/字符作為結(jié)尾。

這樣分析器就懂得不用查找結(jié)束標(biāo)識(shí)了。

>在XML中,屬性值必須封裝在引號(hào)中。在HTML中,引號(hào)是可用可不用的。

>在HTML中,可以擁有不帶值的屬性名。在XML中,所有的屬性都必須帶有對(duì)應(yīng)的值。

84.C#中的三元運(yùn)算符是?

答:?:。

85.當(dāng)整數(shù)a賦值給一種。bject對(duì)像時(shí),整數(shù)a將會(huì)被?

答:裝箱。

86.類組員有5種可訪問形式?

表7-1成員訪問修飾符

修飾符含義

private只在類的內(nèi)郃可訪問

internal對(duì)該程序集內(nèi)所有類可訪網(wǎng)

protected對(duì)所外維承該類的類可訪問

protectedinternal對(duì)所有繼承該類或在讀程存集內(nèi)聲明的吳可訪問

public對(duì)任何類可訪問

87.publicstaticconstintA=1;這段代碼有錯(cuò)誤么?是什么?

答:const體現(xiàn)的很像靜態(tài)變量,它們對(duì)類歐I每個(gè)實(shí)例都是可見的,并且雖然沒有類的實(shí)例

它們也可以使用,而與靜態(tài)變量不同樣的是它沒有自己的存儲(chǔ)位置,而是在編譯時(shí)被編譯器

替代,因此它不能申明為Static。

88.floatf=-123.567F;inti=(int)f;i的值目前是-123

將f的值強(qiáng)制轉(zhuǎn)換成int型,也就是將小數(shù)點(diǎn)背面的部分直接截取,保留整數(shù)部分。

89.委托申明的關(guān)鍵字是De1egate。

91.在Asp.net中所有的自定義顧客控件都必須繼承自ControL

92.在.Net中所有可序列化的類都被標(biāo)識(shí)為[Serializab1e],

93.在.Net托管代碼中我們不用緊張內(nèi)存漏洞,這是由于有了GC垃圾回收機(jī)制。

94.下面的代碼中有什么錯(cuò)誤嗎?

usingSystem;

classA

(

pub1icvirtuaIvoidF(){

ConsoIe.WriteLine("A.F");

}

abstractclassB:A

publicabstractoverridevoidF();

答:abstractoverride是不可以一起修飾.

95.當(dāng)類T只申明了私有實(shí)例構(gòu)造函數(shù)時(shí),則在T的程序文本外部,不可以從T派生出新的類,

由于子類無(wú)法調(diào)用父類的構(gòu)造函數(shù),不可以直接創(chuàng)立T的I任何實(shí)例。

96.Switch語(yǔ)句歐(格式

switch(1+1)

(

case1:

Console.WriteLine(Z,Wrong,z);

break;

case2:

Console.WriteLine(z,right");

break;

defau1t:

Console.WriteLine("jiaoyanqing");

break;

)

97.在.Net中,類System.Web.ULPage可以被繼承么?

答何以。

98..net的錯(cuò)誤處理機(jī)制是什么?

答:.net錯(cuò)誤處理機(jī)制采用try->catch->finally構(gòu)造,發(fā)生錯(cuò)誤時(shí),層層上拋,直到找到匹配

的ICatch為止。

異常:它是程序中的運(yùn)行時(shí)錯(cuò)誤,它違反了一種系統(tǒng)約束或應(yīng)用程序約束,或出現(xiàn)了在正常

操作時(shí)未預(yù)料的情形,假如程序沒有提供處理該異常的代碼,系統(tǒng)會(huì)掛起這個(gè)程序。

雖然在Try塊中有Return語(yǔ)句,Finally塊也總是會(huì)在返回到調(diào)用代碼之前執(zhí)行。

99.運(yùn)用operator申明且僅申明了==,有什么錯(cuò)誤么?

答:要同步修改Equale和GetHash()?重載了"=="就必須重載"!="

8.62-63=1等式不成立,請(qǐng)移動(dòng)一種數(shù)字(不可以移動(dòng)減號(hào)和等于號(hào)),使得等式成立,怎

樣移動(dòng)?

答案:62移動(dòng)成2出J6次方

105.對(duì)于這樣的J一種枚舉類型:enumColor:byle(Red,Green,Blue,Orange);

答:string[]ss=Enuin.GetNames(typeof(Color));

Arrayarray=Enum.GetValues(typeof(Color));

107.C#可否對(duì)內(nèi)存進(jìn)行直接的操作?

答:C#可以直接對(duì)內(nèi)存進(jìn)行操作

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論