XXXXXX公司C#工程師面試題
1. 簡述 private、 protected、 public、 internal 修飾符的訪問權限。
2 .列舉ASP.NET 頁面之間傳遞值的幾種方式。
3.C#中的委託是什麼?事件是不是一種委託?
4.堆和棧的區別?
5.abstract class和interface有什麼區別?
6.啓動一個線程是用run()還是start()?
7.接口是否可繼承接口? 抽象類是否可實現(implements)接口? 抽象類是否可繼承實體類(concrete class)?
8.構造器Constructor是否可被override?
9.是否可以繼承String類?
10.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
11.abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?
12.List, Set, Map是否繼承自Collection接口?
13.數組有沒有length()這個方法? String有沒有length()這個方法?
14.sleep() 和 wait() 有什麼區別?
15.什麼是Application Pool?
16.什麼是虛函數?什麼是抽象函數?
17.什麼是Web Service?UDDI?
18.什麼是ASP.net中的用戶控件?
19.列舉一下你所瞭解的XML技術及其應用
20.ADO.net中常用的對象有哪些?分別描述一下。
21.委託聲明的關鍵字是______?
22.在Asp.net中所有的自定義用戶控件都必須繼承自________?
23.談談final, finally, finalize的區別。
24.什麼叫應用程序域?
25.CTS、CLS、CLR分別作何解釋?
26.什麼是裝箱和拆箱?
27.什麼是受管制的代碼?
28.什麼是強類型系統?
29.常用的調用WebService的方法有哪些?、
30.Overloaded的方法是否可以改變返回值的類型?
31 .net的錯誤處理機制是什麼?
32.C#可否對內存進行直接的操作?
33.在.Net中,類System.Web.UI.Page 可以被繼承麼?
34.HashMap和Hashtable的區別。
35.在C#中,string str = null 與 string str = “” 請儘量使用文字或圖象說明其中的區別。
36.大概描述一下ASP。NET服務器控件的生命週期
37.在下面的例子裏
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的實例時,產生什麼輸出?
38.下面的例子中
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);
}
}
產生的輸出結果是什麼?
39.下面的代碼中有什麼錯誤嗎?_______
using System;
class A
{
public virtual void F()
{
Console.WriteLine("A.F");
}
}
abstract class B:A
{
public abstract override void F();
}
二。算法篇
1.一列數的規則如下: 1、1、2、3、5、8、13、21、34...... 求第30位數是多少, 用遞歸算法實現。
2.請編程實現一個冒泡排序算法
3.求以下表達式的值,寫出您想到的一種或幾種實現方法: 1-2+3-4+……+m
4.short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?
三。應用篇
1.用.net做B/S結構的系統,您是用幾層結構來開發,每一層之間的關係以及爲什麼要這樣分層?
2.net中讀寫數據庫需要用到那些類?他們的作用?
3.請說明在.net中常用的幾種頁面間傳遞參數的方法,並說出他們的優缺點。
4.在.net(C# or vb.net)中,Appplication.Exit 還是 Form.Close有什麼不同?
5.公司要求開發一個繼承System.Windows.Forms.ListView類的組件,要求達到以下的特殊功能:點擊ListView各列列頭時,能按照點擊列的每行值進行重排視圖中的所有行 (排序的方式如DataGrid相似)。根據您的知識,請簡要談一下您的思路。
6.根據線程安全的相關知識,分析以下代碼,當調用test方法時i>10時是否會引起死鎖?並簡要說明理由。
public void test(int i)
{
lock(this)
{
if (i>10)
{
i--;
test(i);
}
}
}
7.請編程遍歷頁面上所有TextBox控件並給它賦值爲string.Empty
四。數據庫篇
1.SQLSERVER服務器中,給定表 table1 中有兩個字段 ID、LastUpdateDate,ID表示更新的事務號, LastUpdateDate表示更新時的服務器時間,請使用一句SQL語句獲得最後更新的事務號。
2.什麼叫做SQL注入,如何防止?請舉例說明。
3.DataReader與Dataset有什麼區別?
4.寫出一條Sql語句:取出表A中第31到第40記錄(SQLServer,以自動增長的ID作爲主鍵,注意:ID可能不是連續的。
5.什麼是SQL左聯接,在實際開發中中有什麼好處,請舉例說明。
五。其他
1. 62-63=1 等式不成立,請移動一個數字(不可以移動減號和等於號),使得等式成立,如何移動?
2.某一密碼僅使用K、L、M、N、O共5個字母,密碼中的單詞從左向右排列,密碼單詞必須遵循如下規則:
(1) 密碼單詞的最小長度是兩個字母,可以相同,也可以不同
(2) K不可能是單詞的第一個字母
(3) 如果L出現,則出現次數不止一次
(4) M不能使最後一個也不能是倒數第二個字母
(5) K出現,則N就一定出現
(6) O如果是最後一個字母,則L一定出現
問題一:下列哪一個字母可以放在LO中的O後面,形成一個3個字母的密碼單詞?
A) K B)L C) M D) N
問題二:如果能得到的字母是K、L、M,那麼能夠形成的兩個字母長的密碼單詞的總數是多少?
A)1個 B)3個 C)6個 D)9個
問題三:下列哪一個是單詞密碼?
A) KLLN B) LOML C) MLLO D)NMKO
3.軟件開發過程一般有幾個階段?每個階段的作用?
4.簡要談一下您對微軟.NET 構架下remoting和webservice兩項技術的理解以及實際中的應用。
5.如何處理幾十萬條併發數據?