應聘.net開發工程師常見的面試題(五)


1.描述一下C#中索引器的實現過程,是否只能根據數字進行索引?

答:不是。可以用任意類型。

2.在C#中,string str = null 與 string str = ” ” 請盡量使用文字或圖象說明其中的區別。

答:null是沒有空間引用的;

” ” 是空間為0的字符串;

3.分析以下代碼,完成填空

string strTmp = “abcdefg某某某”;

int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;

int j= strTmp.Length;

以上代碼執行完后,i= j=

答:i=13.j=10

4.SQLSERVER服務器中,給定表 table1 中有兩個字段 ID、LastUpdateDate,ID表示更新的事務號, LastUpdateDate表示更新時的服務器時間,請使用一句SQL語句獲得最后更新的事務號

答:Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)

5.分析以下代碼。

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();

}

}

請問

1)以上代碼可以正確使用連接池嗎?

答:回答:如果傳入的connectionString是一模一樣的話,可以正確使用連接池。不過一模一樣的意思是,連字符的空格數,順序完全一致。

2)以上代碼所使用的異常處理方法,是否所有在test方法內的異常都可以被捕捉並顯示出來?

答:只可以捕捉數據庫連接中的異常吧. (finally中,catch中,如果有別的可能引發異常的操作,也應該用try,catch。所以理論上並非所有異常都會被捕捉。)

6.公司要求開發一個繼承System.Windows.Forms.ListView類的組件,要求達到以下的特殊功能:點擊ListView各列列頭時,能按照點擊列的每行值進行重排視圖中的所有行 (排序的方式如DataGrid相似)。根據您的知識,請簡要談一下您的思路:

答:根據點擊的列頭,包該列的ID取出,按照該ID排序后,在給綁定到ListView中

7.什么是WSE?目前最新的版本是多少?

答:WSE (Web Service Extension) 包來提供最新的WEB服務安全保證,目前最新版本2.0。

8.在下面的例子里

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);

}

當使用new B()創建B的實例時,產生什么輸出?

答:X=1,Y=0

9.下面的例子中

using System;

class A

{

public static int X;

static A(){

X=B.Y+1;

}

}

class B

{

public static int Y=A.X+1;

static B(){}

static void Main(){

Console.WriteLine(“X={0},Y={1}”,A.X,B.Y);

}

}

產生的輸出結果是什么?

答:x=1,y=2

10.abstract class和interface有什么區別?

答:聲明方法的存在而不去實現它的類被叫做抽象類(abstract class),它用於要創建一個體現某些基本行為的類,並為該類聲明方法,但不能在該類中實現該類的情況。不能創建abstract 類的實例。然而可以創建一個變量,其類型是一個抽象類,並讓它指向具體子類的一個實例。不能有抽象構造函數或抽象靜態方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現,否則它們也是抽象類為。取而代之,在子類中實現該方法。知道其行為的其它類可以在類中實現這些方法。

接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實現這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個有程序體。接口只可以定義static final成員變量。接口的實現與子類相似,除了該實現類不能從接口定義中繼承行為。當類實現特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實現了該接口的類的任何對象上調用接口的方法。由於有抽象類,它允許使用接口名作為引用變量的類型。通常的動態聯編將生效。引用可以轉換到接口類型或從接口類型轉換,instanceof 運算符可以用來決定某對象的類是否實現了接口。
11. asp.net中web應用程序獲取數據的流程:

A.Web Page B.Fill C.Sql05 D.Data Sourse E.DataGrid F.DataSet G.Select and Connect
Commands H.Sql Data Adapter

答案:a,e,d,f,h,g,b,c

12. Asp.net執行模式中各組件填入到對應位置:

A.Output Cache B.Parser C.Assembly Cache D.IE E.Memory F.Compiler

WebPage被第一次請求時:

D->__->__->__->__->D

WebPage被第二次請求時:

D->__->__->D

WebPage的頁面輸出緩存被打開時:

D->__->D

答案:

WebPage被第一次請求時:

D->_b_->_f_->_a_->_e_->D

WebPage被第二次請求時:

D->_b_->_e_->D

WebPage的頁面輸出緩存被打開時:

D->_a_->D

13.兩個數組 [n] [m] n>m 第一個數組的數字無序排列 第二個數組為空 取出第一個數組的最小值 放到第二個數組中第一個位置, 依次類推. 不能改變A數組,不能對之進行排序,也不可以倒到別的數組中。

int[] a = { -20, 9, 7, 37, 38, 69, 89, -1, 59, 29, 0, -25, 39, 900, 22, 13, 55 };

int[] b = new int[10];

int intTmp = a[0], intMaxNum;

for (int i = 0; i < a.Length; i++)

{

intTmp = a[i] > intTmp ? a[i] : intTmp;

}

intMaxNum = intTmp;

for (int j = 0; j < b.Length; j++)

{

for (int i = 0; i < a.Length; i++)

{

if (j == 0)

intTmp = a[i] < intTmp ? a[i] : intTmp;

else

{

if (a[i] > b[j - 1])

intTmp = a[i] < intTmp ? a[i] : intTmp;

}

}

b[j] = intTmp;

intTmp = intMaxNum;

}

foreach (int bb in b)

{

Console.WriteLine(bb);

}

Console.ReadLine();

14.請將字符串”I am a student”按單詞逆序輸出 如”student a am I”

string S = “I am a student”;

char[] C = new char[] { ‘ ‘};

string[] n =S.Split(C);

int length = S.Length;

for (int i =length-1 ; i >=0; i–)

{

Console.Write(n[i]);

if (i != 0)

{

Console.Write(” “);

}

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM