C#面試題(收藏)

1. C#中 property 與 attribute的區別,他們各有什麼用處,這種機制的好處在哪裏?
2. 講一講你理解的web service,在dot net framework中,怎麼很好的結合xml?(講概念就行了)
3. C#, Java 和 c++的特點,有什麼相同的地方,不同的地方,C#分別從c++和java中吸取了他們那些優點?
4. C#可否對內存進行直接的操作?(這可是個難點哦?要注意!)
5. 用Visual C++ 6.0編寫的代碼(unmanaged code),如何在CLR下和其他dot net component結合?
6. 以前作過的一些項目?介紹一下自己的編程經驗。(這是矇混不過去的,基本一問就知道是真是假)
7. 你對公司有什麼期望?你的薪水期望值?爲什麼學計算機?以前的工作經驗(這非常重要)?

Q3: 維護數據庫的完整性、一致性、你喜歡用觸發器還是自寫業務邏輯?爲什麼
Q4:ADO。NET相對於ADO等主要有什麼改進?
Q5:ASP。NET與ASP相比,主要有哪些進步?
Q6:C#中的委託是什麼?事件是不是一種委託?
Q7:描述一下C#中索引器的實現過程,是否只能根據數字進行索引?
Q8:C#中要使一個類支持FOREACH遍歷,實現過程怎樣?
Q10:寫一個HTML頁面,實現以下功能,左鍵點擊頁面時顯示“您好”,右鍵點擊時顯示“禁止右鍵”。並在2分鐘後自動關閉頁面。
Q11:你對XMLHTTP、WEBSERVICE 瞭解嗎?簡單描述其特點、作用
Q12:接口和抽象類有什麼區別?你選擇使用接口和抽象類的依據是什麼?
Q13:自定義控件和一般用戶控件的異同?如果要用這兩者之一,你會選擇哪種?爲什麼
Q14:大概描述一下ASP。NET服務器控件的生命週期
Q15:UML
Q16:面向對象的概念,主要特點
Q17:類劃分的依據。類粒度問題
Q18:事物管理問題

第一,談談final, finally, finalize的區別。
第二,Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(接口)?
第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統)。
第四,&和&&的區別。
第五,HashMap和Hashtable的區別。
第六,Collection 和 Collections的區別。
第七,什麼時候用assert。
第八,GC是什麼? 爲什麼要有GC?
第九,String s = new String("xyz");創建了幾個String Object?
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
第十一,short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?
第十二,sleep() 和 wait() 有什麼區別?
第十三,Java有沒有goto?
第十四,數組有沒有length()這個方法? String有沒有length()這個方法?
第十五,Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?
第十六,Set裏的元素是不能重複的,那麼用什麼方法來區分重複與否呢? 是用==還是equals()? 它們有何區別?
第十七,給我一個你最常見到的runtime exception。
第十八,error和exception有什麼區別?
第十九,List, Set, Map是否繼承自Collection接口?
第二十,abstract class和interface有什麼區別?
第二十一,abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?
第二十二,接口是否可繼承接口? 抽象類是否可實現(implements)接口? 抽象類是否可繼承實體類(concrete class)?
第二十三,啓動一個線程是用run()還是start()?
第二十四,構造器Constructor是否可被override?
第二十五,是否可以繼承String類?
第二十六,當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它方法?
第二十七,try {}裏有一個return語句,那麼緊跟在這個try後的finally {}裏的code會不會被執行,什麼時候被執行,在return前還是後?
第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?
第二十九,兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
第三十,當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這裏到底是值傳遞還是引用傳遞?
第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
第三十二,編程題: 寫一個Singleton出來。

數據庫方面:
1.存儲過程和函數的區別
2.事務是什麼?
3.遊標的作用?如何知道遊標已經到了最後?
4.觸發器分爲事前觸發和事後觸發,這兩種觸發有和區別。語句級觸發和行級觸發有何區別。
1。用C#實現以下功能
   a 產生一個int數組,長度爲100,並向其中隨機插入1-100,並且不能重複。
   b 對上面生成的數組排序,需要支持升序、降序兩種順序
2。請說明在.net中常用的幾種頁面間傳遞參數的方法,並說出他們的優缺點。
3。請說明.net中的錯誤處理機制,並舉例
4。請說出強名的含義
5。請列出c#中幾種循環的方法,並指出他們的不同
6。請指出.net中所有類型的基類
7。請指出GAC的含義
8。SQL SREVER中,向一個表中插入了新數據,如何快捷的得到自增量字段的當前值
您在什麼情況下會用到虛方法?它與接口有什麼不同?
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:您離職的原因是什麼?
Q:通過超鏈接怎樣傳遞中文參數?
Q:請編程遍歷頁面上所有TextBox控件並給它賦值爲string.Empty?
Q:請編程實現一個冒泡排序算法? 
1、override與重載的區別
2、.net的錯誤處理機制是什麼
3、C#中接口和類的異同
4、DataReader和DataSet的異同 
1.有哪幾種方法可以實現一個類存取另外一個類的成員函數及屬性,並請舉列來加以說明和分析.
2.如果需記錄類的實例個數,該如何實現,請寫一個簡單的類於以證明.
3.A類是B類的基類,並且都有自己的構造,析構函數,請舉例證明B類從實例化到消亡過程中構造,析構函數的執行過程.
4.需要實現對一個字符串的處理,首先將該字符串首尾的空格去掉,如果字符串中間還有連續空格的話,僅保留一個空格,即允許字符串中間有多個空格,但連續的空格數不可超過一個.

一.填空題
1.c#中的三元運算符是__?:___?
2.當整數a賦值給一個object對象時,整數a將會被__裝箱(封裝)___?
3.類成員有_____種可訪問形式?  this.;new Class().Method;
4.public static const int A=1;這段代碼有錯誤麼?是什麼?  const不能用static修飾
5.float f=-123.567F;
  int i=(int)f;
i的值現在是_____?   123
6.利用operator聲明且僅聲明瞭“==”,有什麼錯誤麼?
7.委託聲明的關鍵字是______? delagete
8.用sealed修飾的類有什麼特點?密封,不能繼承
9.在Asp.net中所有的自定義用戶控件都必須繼承自________?Control
10.在.Net中所有可序列化的類都被標記爲_____?
11.在.Net託管代碼中我們不用擔心內存漏洞,這是因爲有了______?gc
12.下面的代碼中有什麼錯誤嗎?_______
     using System;
     class A
     {
          public virtual void F(){
              Console.WriteLine("A.F");
           }
      }
      abstract class B:A
       {
           public abstract override void F(); // new public abstract void F(); 
       }
13.當類T只聲明瞭私有實例構造函數時,則在T的程序文本外部,___可以___(可以 or 不可以)從T派生出新的類,不可以____(可以 or 不可以)直接創建T的任何實例。
14.下面這段代碼有錯誤麼?
    switch (i){
    case():
        CaseZero();
        break;
    case 1:
        CaseOne();
        break;
    case 2:
        dufault;  //wrong
        CaseTwo();
        break;
   }
15.在.Net中,類System.Web.UI.Page 可以被繼承麼?可以

二.簡答題
1.在c#中using和new這兩個關鍵字有什麼意義,請寫出你所知道的意義?using 指令 和語句 new 創建實例 new 隱藏基類中方法
4.談談類和結構的區別?類是引用類型、結構是值類型
5.一個長度爲10000的字符串,通過隨機從a-z中抽取10000個字符組成。請用c#語言編寫主要程序來實現。
6.對於這樣的一個枚舉類型:
      enum Color:byte{
          Red,
          Green,
          Blue,
          Orange
       }
     string[] ss=Enum.GetNames(typeof(Color));
     byte[]   bb=Enum.GetValues(typeof(Color));
試寫一段程序顯示出枚舉類型中定義的所有符號名稱以及它們對應的數值。
7.您瞭解設計模式麼?請列出您所知道的設計模式的名稱。 //
8.請在SQL Server中設計表來保存一個樹狀結構的組織結構圖(假設結構圖中只有名稱這一項內容需要保存),如果我想查詢某一職位下的所有職位,用一個存儲過程來實現,你有什麼思路?
9.什麼叫做SQL注入,如何防止?請舉例說明。
10.下面這段代碼輸出什麼?爲什麼?
     int i=5;
     int j=5;
     if (Object.ReferenceEquals(i,j))
          Console.WriteLine("Equal");
     else
          Console.WriteLine("Not Equal");
//不相等,因爲比較的是對象

1.寫一個實現對一段字符串翻轉的方法,附加一些條件,如其中包括“,”、“.”,對其設計測試用 例 。
2.對一支紙杯設計測試用例(可以是廣義的杯,不一定是某一支特定功能的杯)
開發語言概念題
3.什麼是反射?
4.用Singleton如何寫設計模式
5.C#中的垃圾回收機制是怎樣的?
6.什麼是Application Pool?
7.鏈表和數組的區別,各有什麼優缺點.
8.Remoting在客戶端服務器怎麼實現 ?
9.什麼是友元函數?
10.用標準C如何實現多態?
11.什麼是虛函數?
12.什麼是抽象函數?
13.什麼是內存泄漏,怎樣最簡單的方法判斷被存泄漏 ?
 英語題
14.用英文介紹一下使用C#/C++做的項目,主要功能
15.如果要與美國開電話會議,會如何與美國的工程師溝通
16.如果老闆認爲你的技術落後,你會怎麼回答 
數據庫知識題
17.使用什麼工具來調用存儲過程
18.SQL Server的兩種索引是何形式?索引的作用?索引的優缺點?
19.觸發器的作用
其它知識題及問題
20.什麼是Web Service?
21.什麼是XML?
22.Socket怎麼實現?
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章