.net軟件工程師面試


.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#中處理內存管理功能的是(托管代碼)。

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

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

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

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

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

  1.什么是中間語言(IL)?它的作用?

  答:代碼在執行前都要被編譯為托管代碼,與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:公共語言規范.主要是確保代碼可以在任何語言中訪問的最小標准集體

  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(簡單對象訪問協議,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(正則表達式);

  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軟件工程師面試題精華集錦中的一部分,經過一段時間的工作經驗的積累后,可發展成為高級軟件工程師、算法應用開發工程師和需求工程師,但需要具有豐富的軟件開發經驗和相關工作的技術背景。如果想成為技術精英、項目經理,則還需要具有較強的管理和組織等方面的能力。

原文地址


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM