- 相關(guān)推薦
2016年最新asp.net工程師面試試題
ASP.NET是.NET FrameWork的一部分,是一項(xiàng)微軟公司的技術(shù),是一種使嵌入網(wǎng)頁中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù),它可以在通過HTTP請求文檔時再在Web服務(wù)器上動態(tài)創(chuàng)建它們。 指 Active Server Pages(動態(tài)服務(wù)器頁面) ,運(yùn)行于 IIS(Internet Information Server 服務(wù),是Windows開發(fā)的Web服務(wù)器)之中的程序 。下面來看看由CN人才網(wǎng)小編提供發(fā)關(guān)于2016年最新asp.net工程師的面試試題吧。
1.簡述private、protected、public、internal修飾符的訪問權(quán)限。
答.private:私有成員,在類的內(nèi)部才可以訪問。
protected:保護(hù)成員,該類內(nèi)部和繼承類中可以訪問。
public:公共成員,完全公開,沒有訪問限制。
internal:在同一命名空間內(nèi)可以訪問。
2.列舉ASp.NET頁面之間傳遞值的幾種方式。
答.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#中的委托是什么?事件是不是一種委托?
答:
委托可以把一個方法作為參數(shù)代入另一個方法。
委托可以理解為指向一個函數(shù)的引用。
是,是一種特殊的委托
5.override與重載的區(qū)別
答:
override與重載的區(qū)別。重載是方法的名稱相同。參數(shù)或參數(shù)類型不同,進(jìn)行多次重載以適應(yīng)不同的需要
Override是進(jìn)行基類中函數(shù)的重寫。為了適應(yīng)需要。
6.如果在一個B/S結(jié)構(gòu)的系統(tǒng)中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進(jìn)行處理?
答:
this.Server.Transfer
7.請編程遍歷頁面上所有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.請編程實(shí)現(xiàn)一個冒泡排序算法?
答:
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)過程,是否只能根據(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)來開發(fā),每一層之間的關(guān)系以及為什么要這樣分層?
答:一般為3層
數(shù)據(jù)訪問層,業(yè)務(wù)層,表示層。
數(shù)據(jù)訪問層對數(shù)據(jù)庫進(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í)例時,產(chǎn)生什么輸出?
答:X=1,Y=0;x=1y=-1
13.什么叫應(yīng)用程序域?
答:應(yīng)用程序域可以理解為一種輕量級進(jìn)程。起到安全的作用。占用資源小。
14.CTS、CLS、CLR分別作何解釋?
答:CTS:通用語言系統(tǒng)。CLS:通用語言規(guī)范。CLR:公共語言運(yùn)行庫。
15.什么是裝箱和拆箱?
答:從值類型接口轉(zhuǎn)換到引用類型裝箱。從引用類型轉(zhuǎn)換到值類型拆箱。
16.什么是受管制的代碼?
答:unsafe:非托管代碼。不經(jīng)過CLR運(yùn)行。
17.什么是強(qiáng)類型系統(tǒng)?
答:RTTI:類型識別系統(tǒng)。
18.net中讀寫數(shù)據(jù)庫需要用到那些類?他們的作用?
答:DataSet:數(shù)據(jù)存儲器。
DataCommand:執(zhí)行語句命令。
DataAdapter:數(shù)據(jù)的集合,用語填充。
19.ASp.net的身份驗(yàn)證方式有哪些?分別是什么原理?
答:10。Windwos(默認(rèn))用IIS...From(窗體)用帳戶....passport(密鑰)
20.什么是Code-Behind技術(shù)?
答:代碼后植。
21.在.net中,配件的意思是?
答:程序集。(中間語言,源數(shù)據(jù),資源,裝配清單)
22.常用的調(diào)用WebService的方法有哪些?
答:1.使用WSDL.exe命令行工具。
2.使用VS.NET中的AddWebReference菜單選項(xiàng)
23..netRemoting的工作原理是什么?
答:服務(wù)器端向客戶端發(fā)送一個進(jìn)程編號,一個程序域編號,以確定對象的位置。
24.在C#中,stringstr=null與stringstr=“”請盡量使用文字或圖象說明其中的區(qū)別。
答:stringstr=null是不給他分配內(nèi)存空間,而stringstr=""給它分配長度為空字符串的內(nèi)存空間。
25.請?jiān)斒鲈赿otnet中類(class)與結(jié)構(gòu)(struct)的異同?
答:Class可以被實(shí)例化,屬于引用類型,是分配在內(nèi)存的堆上的,Struct屬于值類型,是分配在內(nèi)存的棧上的.
26.根據(jù)委托(delegate)的知識,請完成以下用戶控件中代碼片段的填寫:
namespacetest
{
publicdelegatevoidOnDBOperate();
publicclassUserControlBase:System.Windows.Forms.UserControl
{
publiceventOnDBOperateOnNew;
privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgse)
{
if(e.Button.Equals(BtnNew))
{
//請?jiān)谝韵卵a(bǔ)齊代碼用來調(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中有兩個字段ID、LastUpdateDate,ID表示更新的事務(wù)號,LastUpdateDate表示更新時的服務(wù)器時間,請使用一句SQL語句獲得最后更新的事務(wù)號
答:SelectIDFROMtable1WhereLastUpdateDate=(SelectMAX(LastUpdateDate)FROMtable1)
29.根據(jù)線程安全的相關(guān)知識,分析以下代碼,當(dāng)調(diào)用test方法時i>10時是否會引起死鎖?并簡要說明理由。
publicvoidtest(inti)
{
lock(this)
{
if(i>10)
{
i--;
test(i);
}
}
}
答:不會發(fā)生死鎖,(但有一點(diǎn)int是按值傳遞的,所以每次改變的都只是一個副本,因此不會出現(xiàn)死鎖。但如果把int換做一個object,那么死鎖會發(fā)生)
30.簡要談一下您對微軟.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