- 相關(guān)推薦
2016年最新asp.net工程師面試試題
ASP.NET是.NET FrameWork的一部分,是一項(xiàng)微軟公司的技術(shù),是一種使嵌入網(wǎng)頁(yè)中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù),它可以在通過(guò)HTTP請(qǐng)求文檔時(shí)再在Web服務(wù)器上動(dòng)態(tài)創(chuàng)建它們。 指 Active Server Pages(動(dòng)態(tài)服務(wù)器頁(yè)面) ,運(yùn)行于 IIS(Internet Information Server 服務(wù),是Windows開發(fā)的Web服務(wù)器)之中的程序 。下面來(lái)看看由CN人才網(wǎng)小編提供發(fā)關(guān)于2016年最新asp.net工程師的面試試題吧。
1.簡(jiǎn)述private、protected、public、internal修飾符的訪問(wèn)權(quán)限。
答.private:私有成員,在類的內(nèi)部才可以訪問(wèn)。
protected:保護(hù)成員,該類內(nèi)部和繼承類中可以訪問(wèn)。
public:公共成員,完全公開,沒(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)。
答:publicclassMainClass
{
publicstaticvoidMain()
{
Console.WriteLine(Foo(30));
}
publicstaticintFoo(inti)
{
if(i<=0)
return0;
elseif(i>0&&i<=2)
return1;
elsereturnFoo(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.Controlcontrolinthis.Controls)
{
if(controlisSystem.Windows.Forms.TextBox)
{
System.Windows.Forms.TextBoxtb=(System.Windows.Forms.TextBox)control;
tb.Text=String.Empty;
}
}
8.請(qǐng)編程實(shí)現(xiàn)一個(gè)冒泡排序算法?
答:
int[]array=newint[*];
inttemp=0;
for(inti=0;i
{
for(intj=i+1;j
{
if(array[j]
{
temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
}
9.描述一下C#中索引器的實(shí)現(xiàn)過(guò)程,是否只能根據(jù)數(shù)字進(jìn)行索引?
答:不是?梢杂萌我忸愋。
10.求以下表達(dá)式的值,寫出您想到的一種或幾種實(shí)現(xiàn)方法:1-2+3-4+……+m
答:
intNum=Convert.ToInt32(this.TextBox1.Text);
intSum=0;
for(inti=0;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)開發(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.在下面的例子里
usingSystem;
classA
{
publicA()
{
printFields();
}
publicvirtualvoidprintFields(){}
}
classB:A
{
intx=1;
inty;
publicB()
{
y=-1;
}
publicoverridevoidprintFields()
{
Console.WriteLine("x={0},y={1}",x,y);
}
當(dāng)使用newB()創(chuàng)建B的實(shí)例時(shí),產(chǎn)生什么輸出?
答:X=1,Y=0;x=1y=-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中的AddWebReference菜單選項(xiàng)
23..netRemoting的工作原理是什么?
答:服務(wù)器端向客戶端發(fā)送一個(gè)進(jìn)程編號(hào),一個(gè)程序域編號(hào),以確定對(duì)象的位置。
24.在C#中,stringstr=null與stringstr=“”請(qǐng)盡量使用文字或圖象說(shuō)明其中的區(qū)別。
答:stringstr=null是不給他分配內(nèi)存空間,而stringstr=""給它分配長(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)完成以下用戶控件中代碼片段的填寫:
namespacetest
{
publicdelegatevoidOnDBOperate();
publicclassUserControlBase:System.Windows.Forms.UserControl
{
publiceventOnDBOperateOnNew;
privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgse)
{
if(e.Button.Equals(BtnNew))
{
//請(qǐng)?jiān)谝韵卵a(bǔ)齊代碼用來(lái)調(diào)用OnDBOperate委托簽名的OnNew事件。
}
}
}
答:if(OnNew!=null)
OnNew(this,e);
27.分析以下代碼,完成填空
stringstrTmp="abcdefg某某某";
inti=System.Text.Encoding.Default.GetBytes(strTmp).Length;
intj=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)
答:SelectIDFROMtable1WhereLastUpdateDate=(SelectMAX(LastUpdateDate)FROMtable1)
29.根據(jù)線程安全的相關(guān)知識(shí),分析以下代碼,當(dāng)調(diào)用test方法時(shí)i>10時(shí)是否會(huì)引起死鎖?并簡(jiǎn)要說(shuō)明理由。
publicvoidtest(inti)
{
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)制傳送提高效率。
【最新asp.net工程師面試試題】相關(guān)文章:
ASP.NET面試試題集錦09-26
科技ASP.NET面試題09-26
ASP.NET專業(yè)面試試題09-26
最新麥當(dāng)勞面試的試題07-31
工程師面試試題07-20
it工程師面試試題07-20
最新谷歌面試試題08-01
Python工程師面試試題09-26
研發(fā)工程師面試試題08-04