2.什麼是ASP.net中的用戶控件
3.什麼叫應用程序域?什麼是受管制的代碼?什麼是強類型系統?什麼是裝箱和拆箱?什麼是重載?CTS、CLS和CLR分別作何解釋?
4.列舉一下你所瞭解的XML技術及其應用
5.值類型和引用類型的區別?寫出C#的樣例代碼。
6.ADO.net中常用的對象有哪些?分別描述一下。
7.如何理解委託?
8.C#中的接口和類有什麼異同。
9.。net中讀寫數據庫需要用到哪些類?他們的作用
10.UDP連接和TCP連接的異同。
11.ASP.net的身份驗證方式有哪些?分別是什麼原理?
12.進程和線程分別怎麼理解?
13.什麼是code-Behind技術。
14.活動目錄的作用。
15..net中讀寫XML的類都歸屬於哪些命名空間?
16.解釋一下UDDI、WSDL的意義及其作用。
17.什麼是SOAP,有哪些應用。
18.如何部署一個ASP.net頁面。
19.如何理解.net中的垃圾回收機制。
20.常用的調用webservice方法有哪些?
1. 填空: (1)面向對象的語言具有___繼承性、_封裝___性、___多態性。
(2)能用foreach遍歷訪問的對象需要實現 IEnumerable接口或聲明GetEnumerable 方法的類型。
(3)列舉ADO.net中的五個主要對象Command、Connection、DataSet、DataSetCommand、DataReader。
2. 不定項選擇:
(1) 以下敘述正確的是:
A. 接口中可以有虛方法。 B. 一個類可以實現多個接口。
C. 接口不能被實例化。 D. 接口中可以包含已實現的方法。
(2) 從數據庫讀取記錄,你可能用到的方法有:
A. ExecuteNonQuery B. ExecuteScalar
C. Fill D. ExecuteReader
3. 簡述 private、 protected、 public、 internal 修飾符的訪問權限。
4. 寫出一條Sql語句: 取出表A中第31到第40記錄(SQLServer, 以自動增長的ID作爲主鍵, 注意:ID可能不是連續的。)
5 .列舉ASP.NET 頁面之間傳遞值的幾種方式。
6. 寫出程序的輸出結果
class Class1 {
private string str = "Class1.str";
private int i = 0;
static void StringConvert(string str) {
str = "string being converted.";
}
static void StringConvert(Class1 c) {
c.str = "string being converted.";
}
static void Add(int i) {
i++;
}
static void AddWithRef(ref int i) {
i++;
}
static void Main() {
int i1 = 10;
int i2 = 20;
string str = "str";
Class1 c = new Class1();
Add(i1);
AddWithRef(ref i2);
Add(c.i);
StringConvert(str);
StringConvert(c);
Console.WriteLine(i1);
Console.WriteLine(i2);
Console.WriteLine(c.i);
Console.WriteLine(str);
Console.WriteLine(c.str);
}
}
7.寫出程序的輸出結果
public abstract class A
{
public A()
{
Console.WriteLine('A');
}
public virtual void Fun()
{
Console.WriteLine("A.Fun()");
}
}
public class B: A
{
public B()
{
Console.WriteLine('B');
}
public new void Fun()
{
Console.WriteLine("B.Fun()");
}
public static void Main()
{
A a = new B();
a.Fun();
}
}
8. 寫出程序的輸出結果:
public class A
{
public virtual void Fun1(int i)
{
Console.WriteLine(i);
}
public void Fun2(A a)
{
a.Fun1(1);
Fun1(5);
}
}
public class B : A
{
public override void Fun1(int i)
{
base.Fun1 (i + 1);
}
public static void Main()
{
B b = new B();
A a = new A();
a.Fun2(b);
b.Fun2(a);
}
}
9. 一列數的規則如下: 1、1、2、3、5、8、13、21、34......
求第30位數是多少, 用遞歸算法實現。(C#語言)
10. 程序設計: 貓大叫一聲,所有的老鼠都開始逃跑,主人被驚醒。(C#語言)
要求: 1.要有聯動性,老鼠和主人的行爲是被動的。
2.考慮可擴展性,貓的叫聲可能引起其他聯動效應。
問題:
1.ASP.NET中的身份驗證有那些?你當前項目採用什麼方式驗證請解釋
2.什麼是WEB控件?使用WEB控件有那些優勢?
3.請解釋ASP。NET中以什麼方式進行數據驗證?
4.請談談對正則表達式的看法?
5.ASP。NET中共有幾種類型的控件?各有什麼區別?
6.WEB控件可以激法服務端事件,請談談服務端事件是怎麼發生並解釋其原理?自動傳回是什麼?爲什麼要使用自動傳回。
7.WEB控件及HTML服務端控件能否調用客戶端方法?如果能,請解釋如何調用?
8.ASP。NET與ASP相比有什麼優勢?
9.請解釋web.config文件中的重要節點
10.請解釋ASP。NET中的web頁面與其隱藏類之間的關係?
11.什麼是viewstate,能否禁用?是否所用控件都可以禁用?
13.當發現不能讀取頁面上的輸入的數據時很有可能是什麼原因造成的?怎麼解決
14.請解釋一個WEB頁面中代碼執行次序。
15.請解釋什麼是上下文對象,在什麼情況下要使用上下文對象
16.請解釋轉發與跳轉的區別?
17.請解釋ASP.NET中不同頁面之間數據傳遞有那些方式?
18.請解釋ASP。NET中button linkbutton imagebutton 及hyperlink這四個控件之間的功別
19.請解釋一下。NET多層應用程序中層與層之間以那幾種方式進行數據傳遞。並解釋你自己的項目中採用那種方式進行。
20.如果出現ASP。NET中的事件不能觸發可能由於什麼原因造成?
21.如果需要在datagride控件中的某一列中添加下拉列表框並綁定數據怎麼解決?
22.請解釋asp.net中的數據綁定與傳統數據綁定有什麼區別?
23.請解釋.net採用委託實現的事件模型與JAVA中採用接口實現的事件模型有什麼區別,以圖示方式解釋。
24.請解釋接口的顯式實現有什麼意義?
Q:您在什麼情況下會用到虛方法?它與接口有什麼不同?
Q:Override與重載有什麼區別?
Q:值類型與引用類型有什麼區別?
Q:怎樣理解靜態變量?
Q:向服務器發送請求有幾種方式?
Q:DataReader與Dataset有什麼區別?
Q:如果在一個B/S結構的系統中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進行處理?
Q:用.net做B/S結構的系統,您是用幾層結構來開發,每一層之間的關係以及爲什麼要這樣分層?
Q:軟件開發過程一般有幾個階段?每個階段的作用?
Q:微軟推出了一系列的Application Block,請舉出您所知道的Application Block並說明其作用?
Q:請列舉一些您用到過的設計模式以及在什麼情況下使用該模式?
Q:您對WebService的體會?
以下幾道題目如果您不會,請較爲詳細的描述您的解決思路和方法
Q:通過超鏈接怎樣傳遞中文參數?
Q:請編程遍歷頁面上所有TextBox控件並給它賦值爲string.Empty?
Q:請編程實現一個冒泡排序算法?
通用C#面試題-通用C#面試題 (附答案)
1、在C#中,string str = null 與 string str = “” 請儘量使用文字或圖象說明其中的區別。
回答要點:說明詳細的空間分配。(10分)
答:string str = null 是不給他分配內存空間,而string str = "" 給它分配長度爲空字符串的內存空間.
2、請詳述在dotnet中類(class)與結構(struct)的異同:(10分)
答:Class可以被實例化,屬於引用類型,是分配在內存的堆上的,Struct屬於值類型,是分配在內存的棧上的.
3、根據委託(delegate)的知識,請完成以下用戶控件中代碼片段的填寫:(10)
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))
{
//請在以下補齊代碼用來調用OnDBOperate委託簽名的OnNew事件。
}
}
}
答:if( OnNew != null )
OnNew( this, e );
4、分析以下代碼,完成填空(10分)
string strTmp = "abcdefg某某某";
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
以上代碼執行完後,i= j=
答:i=13,j=10
5、SQLSERVER服務器中,給定表 table1 中有兩個字段 ID、LastUpdateDate,ID表示更新的事務號, LastUpdateDate表示更新時的服務器時間,請使用一句SQL語句獲得最後更新的事務號。(10)
答:Select ID
FROM table1
Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)
6、根據線程安全的相關知識,分析以下代碼,當調用test方法時i>10時是否會引起死鎖?並簡要說明理由。(10分)
public void test(int i)
{
lock(this)
{
if (i>10)
{
i--;
test(i);
}
}
}
答:不會發生死鎖,(但有一點int是按值傳遞的,所以每次改變的都只是一個副本,因此不會出現死鎖。但如果把int換做一個object,那麼死鎖會發生)
7、分析以下代碼。(10)
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。所以理論上並非所有異常都會被捕捉。)
8、簡要談一下您對微軟.NET 構架下remoting和webservice兩項技術的理解以及實際中的應用。(10)
答:WS主要是可利用HTTP,穿透防火牆。而Remoting可以利用TCP/IP,二進制傳送提高效率。
9、公司要求開發一個繼承System.Windows.Forms.ListView類的組件,要求達到以下的特殊功能:點擊ListView各列列頭時,能按照點擊列的每行值進行重排視圖中的所有行 (排序的方式如DataGrid相似)。根據您的知識,請簡要談一下您的思路:(10)
答:根據點擊的列頭,包該列的ID取出,按照該ID排序後,在給綁定到ListView中
10、給定以下XML文件,完成算法流程圖。(10)
<FileSystem>
< DriverC >
<Dir DirName=”MSDOS622”>
<File FileName =” Command.com” ></File>
</Dir>
<File FileName =”MSDOS.SYS” ></File>
<File FileName =” IO.SYS” ></File>
</DriverC>
</FileSystem>
請畫出遍歷所有文件名(FileName)的流程圖(請使用遞歸算法)。
答:
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 );
}
}
簡單的說就是從根節點開始遍歷找子節點,在從找到的子節點找它的子節點,一層層下去