.net軟體工程師面試

來源:互聯網
上載者:User

.net軟體工程師面試題一. 填空題:

  1. 類的三大特性是(封裝)(繼承)(多態)。

  2. 在SELECT語句的FROM子句中最多可以指定(256)個表或視圖,相互之間要用(逗號)分隔,當所查詢的表不在當前資料庫時,可用(資料庫名.所有者名.表名)格式來指出表或視圖對象。

  3. 建立預存程序的命令是(create proc 預存程序名)刪除表的命令是(drop 表名)。

  4. 計算欄位的累加和的函數是:(sum),統計項目數的函數是:(count)。

  5. 關聯式資料庫中,主鍵是(外鍵)。

  6. 聲明抽象類別的關鍵字是(abstract),抽象類別不能(sealed)。

  7. .NET運行庫支援被稱為(委託)的參考型別,其作用類似於C++中函數指標的用途。

  8. XML的全稱是(Extensible Markup Language)。

  9. C#中所有的類型實質上都是從(Object)類派生而來的。

  10. 聲明靜態變數的關鍵字是(static),聲明常量的關鍵字是(const)。

  11. C#中處理記憶體管理功能的是(Managed 程式碼)。

  12. 在C#中用於顯式地將一個值或引用轉換為另一種不同的類型稱為(拆箱)。

  13. 在ADO。NET中,command對象是用(ExcuteNonQuery)(ExcuteScalar)(ExcuteDataReader)方法執行命令。

  14. B/S通常使用的結構設計模型分為(模型)(視圖)(控制)。

  15. SQL SERVER中索引類型包括的三種類型分別是(主鍵索引)(唯一索引)(叢集索引)。

  .net軟體工程師面試題二. 簡答題:

  1.什麼是中繼語言(IL)?它的作用?

  答:代碼在執行前都要被編譯為Managed 程式碼,與CPU無關的指令集。

  其作用:支援平台無關性,還支援語言的互通性。

  2.什麼是裝箱和拆箱?

  答:實值型別轉換成參考型別是裝箱,參考型別轉換成實值型別是拆箱。

  3. 出ADO。NET中讀寫資料庫的主要的幾個類?它們的作用?

  答:Connection資料庫連接;Command執行SQL語句或預存程序;DataAdapter用於填充DataSet和更新資料庫的一組資料命令和資料庫連接,斷開模式;DataReader,讀取資料庫資訊,是唯讀向前的;DataSet資料在記憶體中的緩衝。

  4. C#中介面和類有什麼異同?

  答:類是參考型別,可以繼承類、介面和被繼承,有預設的建構函式,有解構函式,可以使用abstract和sealed,有protected修飾符,必須使用new初始化。

  結構是實值型別,只能繼承介面,不能被繼承,沒有預設的建構函式,可以建立,沒有解構函式,不可以用abstract和sealed,沒有protected修飾符,可以不用new初始化。

  如何選擇使用結構還是類:

  1.堆棧的空間有限,對於大量的邏輯的對象,建立類要比建立結構好一些

  2.結構表示如點、矩形和顏色這樣的輕量對象,例如,如果聲明一個含有 1000 個點對象的數組,則將為引用每個對象分配附加的記憶體。在此情況下,結構的成本較低。

  3.在表現抽象和多層級的對象層次時,類是最好的選擇

  4.大多數情況下該類型只是一些資料時,結構是最佳的選擇

  5. 解釋ASP。NET中的code-behind?

  答:程式碼後置,顯示邏輯的代碼和處理邏輯的代碼分離

  6. 什麼是ASP。NET中的使用者控制項?

  答:是asp.net代碼建立的控制項,就像在標準的ASP.NET Web頁面中建立控制項一樣,可以在多個ASP.NET頁面中重用它們。

  7. 在C#中,string str = null 與 string str = “” 請盡量說明其中的區別。

  答:string str=null沒有分配空間,string str=“”分配了空間

  8. 什麼是受管制代碼?

  答:由公用語言運行環境進行管理的代碼,它主要負責記憶體管理。在.net平台上啟動並執行代碼都是受管制代碼

  9 C#中常用的訪問形式?它們各自的範圍?

  答:public 不受限制的訪問。

  private 只能在本類中訪問

  protected 本類和繼承他的類中訪問

  internel表示在同一個應用程式(application)或類庫(library)中都能使用

  10. SQL SERVER 中的預存程序的理解?

  答:預存程序是 SQL 陳述式和可選控制流程語句的先行編譯集合,以一個名稱儲存並作為一個單元處理。預存程序儲存在資料庫內,可由應用程式通過一個調用執行,而且允許使用者聲明變數、有條件執行以及其它強大的編程功能。

  11.CTS,CLS,CLR分別作何解釋?

  答: CTS:公用類型系統.主要是為了語言之間的進行標準化處理.

  CLS:Common Language Specification.主要是確保代碼可以在任何語言中訪問的最小標準集體

  CLR:通用語言執行平台.主要是管理代碼..處理,載入代碼,以及所有服務的代碼

  12. ASP。NET和ASP的主要優勢?

  答:ASP.Net的優勢:

  ASP.Net擺脫了以前ASP使用指令碼語言來編程的缺點,理論上可以使用任何程式設計語言包括C++ , VB , JS等等,當然,最合適的程式設計語言還是MS為.Net Frmaework專門推出的C(讀c sharp),它可以看作是VC和Java的混合體吧,儘管MS自己講C#核心中更多的象VC,但實際上我還是認為它和Java更象一些吧。首先它是物件導向的程式設計語言,而不是一種指令碼,所以它具有物件導向程式設計語言的一切特性,比如封裝性、繼承性、多態性等等,這就解決了剛才談到的ASP的那些弱點。封裝性使得代碼邏輯清晰,易於管理,並且應用到ASP.Net上就可以使商務邏輯和Html頁面分離,這樣無論頁面原型如何改變,商務邏輯代碼都不必做任何改動;繼承性和多態性使得代碼的可重用性大大提高,你可以通過繼承已有的對象最大限度保護你以前的投資。並且C#和C++、Java一樣提供了完善的調試/ 錯誤修正體系。

  13. NET的錯誤處理機制是什麼?

  答:try{可能要出錯的代碼}

  catch{撲捉到錯誤後的處理}

  finally{不論代碼是否出錯都要執行}

  14. 解釋Page.IsPostBack屬性?

  答:使用者第一次瀏覽這個網頁時Page.IsPostBack 會傳回False,不是第一次瀏覽這個網頁時就傳回True

  15..net framework包含哪幾種技術?

  答:Application Framework,Domain Framework

  16.觸發器分為事前觸發和事後觸發,有何區別?

  答:事前觸發器運行於觸發事件發生之前,而事後觸發器運行於觸發事件發生之後。通常事前觸發器可以擷取事件之前和新的欄位值

  17.解釋SQL SERVER2000中HAVING的用法?]

  答:在分組時篩選資料

  18.解釋SQL SERVER2000中GROUP BY的用法?

  答:分組

  19.解釋下C#中的方法的重載?

  答:重載方法:是指使用相同的方法名,但指定不同的參數(個數,類型)。

  20.事務是什麼?

  答:在許多大型、關鍵的應用程式中,電腦每秒鐘都在執行大量的任務。更為經常的不是這些任務本身,而是將這些任務結合在一起完成一個業務要求,稱為事務。當某一個任務失敗時,就恢複到指定的復原點,這個叫復原。

  21.描述下ASP。NET中使用DataReader對象 和DataSet對象的區別?

  答:dataset是儲存資料的資料結構,斷開模式,而DataReader不承擔儲存資料的責任,需要自己手動關閉串連資料庫,它只負責從資料來源讀取資料到本地而已,是唯讀向前的,它不是資料結構,而是網路通訊群組件的高層封裝。

  22.分析類和結構的異同?

  答:類是參考型別,可以繼承類、介面和被繼承,有預設的建構函式,有解構函式,可以使用abstract和sealed,有protected修飾符,必須使用new初始化。

  結構是實值型別,只能繼承介面,不能被繼承,沒有預設的建構函式,可以建立,沒有解構函式,不可以用abstract和sealed,沒有protected修飾符,可以不用new初始化。

  如何選擇使用結構還是類:

  1.堆棧的空間有限,對於大量的邏輯的對象,建立類要比建立結構好一些

  2.結構表示如點、矩形和顏色這樣的輕量對象,例如,如果聲明一個含有 1000 個點對象的數組,則將為引用每個對象分配附加的記憶體。在此情況下,結構的成本較低。

  3.在表現抽象和多層級的對象層次時,類是最好的選擇

  4.大多數情況下該類型只是一些資料時,結構是最佳的選擇

  23.解釋ADO。NET中的使用Connection 類的CLOSE()和DISPOSE()的區別?

  答:close只是關閉,dispose是釋放資源。

  24.敘述ADO。NET中的DataAdapte類的作用?

  答:斷開模式串連資料庫,並且填充DataSet。

  25.什麼是WEBSERVICE ?

  答:web服務,是利用SOAP(簡易物件存取通訊協定 (SOAP),Simple Object Access Protocol)在HTTP上執行遠程方法調用的一種方法,也可以使用WSDL(Web Service Description Language,Web服務描述語言)來完整的描述Web服務,基於XML標準。

  26.行下面代碼後:

  String strTemp ="abcdefg 某某某";

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

  int j = strTemp.Length;

  問:i=( 14) ;j=( 11)

  原因是什麼?

  答:漢字佔2個位元組,所以i=14

  27..敘述ASP。NET中的幾種驗證控制項(equiredFieldValidato, CompareValidator, RangeValidator, RegularExpressionValitor, CustomValidator, ValidationSummary)及作用?

  答:

  a) RequiredFieldValidator(必須欄位驗證);

  b) CompareValidator(比較驗證);

  c) RangeValidator (範圍驗證);

  d) RegularExpresionValidator(Regex);

  e) ValidationSummary(驗證總結);

  f) CustomValidator(自訂驗證)

  .net軟體工程師面試題三. 編程題:

  1.有三個表,結構如下:

  STUDENT(學生證號,姓名,性別,出生年月)

  COURSE(課程號,課程名,授課教師)

  SC(學生證號,課程號,成績,授課教師)

  用標準SQL 陳述式完成下列操作

  1. 查詢女生的基本情況,並按照學生證號降序排列

  答:select * from STUDENT where性別=’女’order by 學生證號 desc

  2. 查詢成績在90分以上的學生的姓名

  答:select 姓名from STUDENT,SC where STUDENT.學生證號 = SC.學生證號 and SC.成績 > 90

  3. 查詢數學類課程的課程號和課程名(模糊查詢,以S開頭)

  答:select 課程號,課程名 from COURSE where 課程名 like ‘S%’

  4. 查詢選課學生所選課程的課程號和成績,以及該學生的姓名和性別

  答:select 課程號,成績,姓名,性別 from SC,STUDENT,COURSE

  where SC.學生證號 = STUDENT.學生證號

  and COURSE.課程號 = SC.課程號 group by 學生證號

  5. 查詢03號課程的平均成績

  答:select avg(成績) from SC where 課程號 = ‘03’

  6. 刪除成績不及格的學生姓名

  答:delete from STUDENT where學生證號 in (select學生證號 from SC where 成績 < 60);

  delete from SC where成績 < 60;

  注意:刪除的順序不能反

  7. 把學生證號為90876的學生所選的01號課程成績改為80分

  答:update SC set 成績 = ’80’where 學生證號=’90876’ and課程號 = ‘01’

  2.SQLSERVER伺服器中,給定表 table1 中有兩個欄位 ID、LastUpdateDate,ID表示更新的事務號, LastUpdateDate表示更新時的伺服器時間,請使用一句SQL語句獲得最後更新的事務號。(10)

  答:select ID from table1 where LastUpdateDate = (select max(LastUpdateDate) from table1)

         以上面試資料.net軟體工程師面試題精華集錦中的一部分,經過一段時間的工作經驗的積累後,可發展成為進階軟體工程師、演算法應用開發工程師和需求工程師,但需要具有豐富的軟體開發經驗和相關工作的技術背景。如果想成為技術精英、專案經理,則還需要具有較強的管理和組織等方面的能力。

原文地址

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.