C#、.Net經典面試題集錦(二)

來源:互聯網
上載者:User
    1.try {}裡有一個return語句,那麼緊跟在這個try後的finally {}裡的code會 不會被執行,什麼時候被執行,在return前還是後?
    答:會執行,在return前執行。
    2.兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句 話對不對?
    答:不對,有相同的hash code。
     3.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
     答:switch(expr1)中,expr1是一個整數運算式。因此傳遞給 switch 和case 語句的參數應該是 int、 short、 char 或者byte。long,string 都不能作用於swtich。
    4.當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它方法?
    答:不能,一個對象的一個synchronized方法只能由一個線程訪問。
    5.abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?
    答:都不能。
    6.List, Set, Map是否繼承自Collection介面?
    答:List,Set是Map不是
    7.Set裡的元素是不能重複的,那麼用什麼方法來區分重複與否呢? 是用==還是 equals()? 它們有何區別?
    答:Set裡的元素是不能重複的,那麼用iterator()方法來區分重複與否。 equals()是判讀兩個Set是否相等。 equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的對象的內容和類型相配的話,返回真值。
    8.數組有沒有length()這個方法? String有沒有length()這個方法?
    答:數組沒有length()這個方法,有length的屬性。String有有length()這個方 法。
    9.sleep() 和 wait() 有什麼區別?
    答:sleep()方法是使線程停止一段時間的方法。在sleep 時間間隔期滿後,線程 不一定立即恢複執行。這是因為在那個時刻,其它線程可能正在運行而且沒有被調度為放棄執行,除非(a)“醒來”的線程具有更高的優先順序(b)正在啟動並執行線程因為其它原因而塞。wait()是線程互動時,如果線程對一個同步對象x 發出一個wait()調用,該線程 會暫停執行,被調對象進入等待狀態,直到被喚醒或等待時間到。
   10.short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?
   答:short s1 = 1; s1 = s1 + 1;有錯,s1是short型,s1+1是int型,不能顯式 轉化為short型。可修改為s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正 確。
   11.如何處理幾十萬條並發資料?
    答:用預存程序或事務。取得最大標識的時候同時更新..注意主鍵不是自增量方 式這種方法並發的時候是不會有重複主鍵的..取得最大標識要有一個預存程序來擷取.
   12.Session有什麼重大BUG,微軟提出了什麼方法加以解決?
   答:是iis中由於有進程回收機制,系統繁忙的話Session會丟失,可以用Sate server或SQL Server資料庫的方式儲存Session不過這種方式比較慢,而且無法捕獲Session的END事件。
   13.進程和線程的區別?
    答:進程是系統進行資源分派和調度的單位;線程是CPU調度和指派的單位,一個進程可以有多個線程,這些線程共用這個進程的資源。
   14.堆和棧的區別?
    答: 棧:由編譯器自動分配、釋放。在函數體中定義的變數通常在棧上。
           堆:一般由程式員分配釋放。用new、malloc等分配記憶體函數分配得到的就是在堆 上。
   15.成員變數和成員函數前加static的作用?
   答:它們被稱為常成員變數和常成員函數,又稱為類成員變數和類成員函數。分別用來反映類的狀態。比如類成員變數可以用來統計類執行個體的數量,類成員函數負責這種統計的動作。
   16.ASP。NET與ASP相比,主要有哪些進步?
    答:asp解釋形,aspx編譯型,效能提高,有利於保護源碼。
       http://www.cnblogs.com/paper/archive/2009/08/03/1537378.html
    17.請說明在.net中常用的幾種頁面間傳遞參數的方法,並說出他們的優缺點。
    答:session(viewstate) 簡單,但易丟失 application 全域
          cookie 簡單,但可能不支援,可能被偽造
          input ttype="hidden" 簡單,可能被偽造
          url參數 簡單,顯示於地址欄,長度有限資料庫 穩定,安全,但效能相對弱
    18.請指出GAC的含義?
     答:全域組件快取。
    19.向伺服器發送請求有幾種方式?
     答:get,post。get一般為連結方式,post一般為按鈕方式。
    20.DataReader與Dataset有什麼區別?
     答:一個是只能向前的唯讀遊標,一個是記憶體中的表。
    21.軟體開發過程一般有幾個階段?每個階段的作用?
    答:需求分析,架構設計,代碼編寫,QA,部署
   22.在c#中using和new這兩個關鍵字有什麼意義,請寫出你所知道的意義?using指令 和語句 new 建立執行個體 new 隱藏基類中方法。
   答:using 引入名稱空間或者使用非託管資源
         new 建立執行個體或者隱藏父類方法
   23.需要實現對一個字串的處理,首先將該字串首尾的空格去掉,如果字串中間還有連續空格的話,僅保留一個空格,即允許字串中間有多個空格,但連續的空格數不可超過一個.
   答:string inputStr=" xx xx ";
    inputStr=Regex.Replace(inputStr.Trim()," *"," ");
   24.什麼叫做SQL注入,如何防止?請舉例說明。
     答:利用sql關鍵字對網站進行攻擊。過濾關鍵字'等
   25.什麼是反射?
    答:動態擷取程式集資訊
    26.用Singleton如何寫設計模式
    答:static屬性裡面new ,建構函式private
   27.什麼是Application Pool?
   答:Web應用,類似Thread Pool,提高並發效能。
   28.什麼是虛函數?什麼是抽象函數?
   答:虛函數:沒有實現的,可由子類繼承並重寫的函數。抽象函數:規定其非虛子類必須實現的函數,必須被重寫。
   29.什麼是XML?
    答:XML即可延伸標記語言 (XML)。eXtensible Markup Language.標記是指電腦所能理解的資訊符號,通過此種標記,電腦之間可以處理包含各種資訊的文章等。 如何定義這些標記,即可以選擇國際通用的標記語言,比如HTML,也可以使用象XML這樣由相關人士自由決定的標記語言,這就是語言的可擴充性。XML是從SGML中簡化修改出來的。它主要用到的有XML、XSL和XPath等。
   30.什麼是Web Service?UDDI?
    答:Web Service便是基於網路的、分布式的模組化組件,它執行特定的任務,遵守具體的技術規範,這些規範使得Web Service能與其他相容的組件進行互操作。UDDI 的目的是為電子商務建立標準;UDDI是一套基於Web的、分布式的、為Web Service提供的、資訊註冊中心的實現標準規範,同時也包含一組使企業能將自身提供的Web Service註冊,以使別的企業能夠發現的訪問協議的實現標準。
    31.什麼是ASP.net中的使用者控制項?
     答:使用者控制項一般用在內容多為靜態,或者少許會改變的情況下..用的比較大..類 似ASP中的include..但是功能要強大的多。
    32.列舉一下你所瞭解的XML技術及其應用
     答:xml用於配置,用於儲存待用資料類型.接觸XML最多的是web Services..和 config
    33.ADO.net中常用的對象有哪些?分別描述一下。
    答:Connection 資料庫連接對象
         Command 資料庫命令
         DataReader 資料讀取器
         DataSet 資料集
    34.C#中 property 與 attribute的區別,他們各有什麼用處,這種機制的好處在哪裡?
      答:一個是屬性,用於存取類的欄位,一個是特性,用來標識類,方法等的附加 性質
    35.XML 與 HTML 的主要區別
      答:1. XML是區分大小寫字母的,HTML不區分。
            2. 在HTML中,如果上下文清楚地顯示出段落或者列表鍵在何處結尾,那麼你可以 省略或者之類的結束 標記。在XML中絕對不能省略掉結束標記。
            3. 在XML中,擁有單個標記而沒有匹配的結束標記的元素必須用一個 / 字元作為結尾。這樣分析器就知道不用 尋找結束標記了。
            4. 在XML中,屬性值必須分裝在引號中。在HTML中,引號是可用可不用的。
            5. 在HTML中,可以擁有不帶值的屬性名稱。在XML中,所有的屬性都必須帶有相應的值。
     36.c#中的三元運算子是?
      答:?:。
      37.當整數a賦值給一個object對象時,整數a將會被?
       答:裝箱。
    38.類成員有_____種可訪問形式?
      答:this.;new Class().Method;
   39.public static const int A=1;這段代碼有錯誤嗎?是什嗎?
     答:const不能用static修飾。
    40.float f=-123.567F; int i=(int)f;i的值現在是_____?
     答:-123。
    41.委託聲明的關鍵字是______?
     答:delegate.
     42.用sealed修飾的類有什麼特點?
       答:密封,不能繼承。
     43.在Asp.net中所有的自訂使用者控制項都必須繼承自________?
        答:Control。
     44.在.Net中所有可序列化的類都被標記為_____?
      答:[serializable]
    45.在.Net中,類System.Web.UI.Page 可以被繼承嗎?
      答:可以。
    46..net的錯誤處理機制是什嗎?
      答:.net錯誤處理機制採用try->catch->finally結構,發生錯誤時,層層上拋 ,直到找到匹配的Catch為止。
    47.利用operator聲明且僅聲明了==,有什麼錯誤麼?
     答:要同時修改Equale和GetHash() ? 重載了"==" 就必須重載 "!="
     48.C#可否對記憶體進行直接的操作?
      答:在.net下,.net引用了記憶體回收(GC)功能,它替代了程式員 不過在C#中,不能直接實現Finalize方法,而是在解構函式中調用基類的Finalize()方法
    49.ADO。NET相對於ADO等主要有什麼改進?
     答:1:ado.net不依賴於ole db提供者,而是使用.net託管提供的程式,2:不使 用com3:不在支援動態資料指標和伺服器端遊 4:,可以斷開connection而保留當前資料集可用 5:強型別轉換 6:xml支援
    50.大概描述一下ASP。NET伺服器控制項的生命週期
      答:初始化 載入檢視狀態 處理回傳資料 載入 發送回傳更改通知 處理回傳事件預呈現 儲存狀態 呈現 處置 卸載     51 .請解釋web.config檔案中的重要節點答:appSettings包含自訂應用程式設定。system.web 系統配置compilation動態調試編譯設定customErrors自訂錯誤資訊設定authentication身分識別驗證,此節設定應用程式的身分識別驗證策略。authorization授權, 此節設定應用程式的授權策略.

   52概述o/r mapping 的原理
    答:利用反射,配置 將類於資料庫表映射

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.