是 FrameWork的一部分,是一項微軟公司的技術,是一種使嵌入網頁中的指令碼可由因特網伺服器執行的伺服器端指令碼技術,它可以在通過HTTP請求文件時再在Web伺服器上動態建立它們。下面就由本站小編為大家介紹一下筆試題的文章,歡迎閱讀。
筆試題篇1
1. 請敘述屬性與索引器的區別
屬性:
(1) 通過名稱標識
(3) 通過簡單名稱或成員訪問來訪問
(3) 可以為靜態成員或例項成員
(4) 屬性的get訪問器沒有引數
(5) 屬性的set訪問器包含隱式value引數
索引器:
(1) 通過簽名標識
(2) 通過元素訪問來訪問
(3) 必須為例項成員
(4) 索引器的get訪問器具有與索引器相同的形參表
(5) 除了value引數外,索引器的set訪問器還具有與索引器相同的形參表
2. 請敘述const與readonly的區別。
答:每一個class至多隻可以定義一個static建構函式,並且不允許增加訪問級別關鍵字,引數列必須為空。為了不違背編碼規則,通常把static資料成員宣告為private,然後通過static property提供讀寫訪問。
const關鍵字用於修改欄位或區域性變數的宣告。它指定欄位或區域性變數的值不能被修改。常數宣告引入給定型別的一個或多個常數。
const資料成員的宣告式必須包含初值,且初值必須是一個常量表達式。因為它是在編譯時就需要完全評估。
const成員可以使用另一個const成員來初始化,前提是兩者之間沒有迴圈依賴。
readonly在執行期評估賦值,使我們得以在確保"只讀訪問"的前提下,把object的初始化動作推遲到執行期進行。
readonly關鍵字與const關鍵字不同:const欄位只能在該欄位的宣告中初始化。readonly欄位可以在宣告或建構函式中初始化。因此,根據所使用的建構函式,readonly欄位可能具有不同的值。另外,const欄位是編譯時常數,而readonly欄位可用於執行時常數。
readonly只能在宣告時或者建構函式裡面初始化,並且不能在static修飾的建構函式裡面。
3. 您需要建立一個應用程式,公司考慮使用Windows身份認證。所有的使用者都存在於AllWin這個域中。您想要使用下列認證規則來配置這個應用程式:
a、 匿名使用者不允許訪問這個應用程式。
b、 所有僱員除了Tess和King都允許訪問這個應用程式。
請問您應該使用以下哪一個程式碼段來配置這個應用程式?( A )
A.
B.
C.
D.
E.
4. 您要建立一個顯示公司員工列表的應用程式。您使用一個DataGrid控制元件顯示員工的列表。您打算修改這個控制元件以便在這個Grid的Footer顯示員工合計數。請問您應該怎麼做? ( C? )
A.重寫OnPreRender事件,當Grid的Footer行被建立時顯示合計數
B.重寫OnItemCreated事件,當Grid的Footer行被建立時顯示合計數
C.重寫OnItemDataBound事件,當Grid的Footer行被建立時顯示合計數
D.重寫OnLayout事件,當Grid的Footer行被建立時顯示合計數
5. 您要建立應用程式用於執行AllWin公司內部的Web站點,這個應用程式包含了50個頁面。您想要配置這個應用程式以便當發生一個HTTP程式碼錯誤時它可以顯示一個自定義的錯誤頁面給使用者。您想要花最小的代價完成這些目標,您應該怎麼做?(多選) ( CD )
A.在這個應用程式的檔案中建立一個Application_Error過程去處理程式碼錯誤
B.在這個應用程式的ig檔案中建立一個applicationError節去處理程式碼錯誤
C.在這個應用程式的檔案中建立一個CustomErrors事件去處理HTTP錯誤
D.在這個應用程式的ig檔案中建立一個CustomErrors節去處理HTTP錯誤
E.在這個應用程式的每一頁中新增一個Page指示符去處理 程式碼錯誤
F.在這個應用程式的每一頁中新增一個Page指示符去處理 HTTP錯誤
筆試題篇2
1. 您為AllWin公司建立了一個應用程式。這個應用程式呼叫一個 Xml Web Service。這個 Xml Web Service 將返回一個包含了公司僱員列表的DataSet物件。請問您該如何在這個程式中使用這個 Xml Web Service?( ? )
A.在"引用"對話方塊的標籤中選擇
B.在"Web引用"對話方塊中輸入這個XML Web service的地址
C.在您的 中新增一條 using 語句並指定這個XML Web service的地址
D.在您的 中寫一個事件處理器匯入這個Xml Web Service相應的和o 檔案
2. 您要建立一個應用程式在DataGrid控制元件中顯示一個經過排序的列表。產品資料被存放於一個名為PubBase的Microsoft SQL Server 資料庫。每個產品的主鍵是ProductID,Numeric型並且每個產品有一個字母描述欄位,名為ProductName。您使用一個SqlDataAdapter物件和一個SqlCommand物件通過呼叫一個儲存過程從資料庫中獲取產品資料。您將SqlCommand物件的CommandType屬性設定為edProcedure,並將它的CommandText屬性設定為procProductList。您成功的獲取了一個DataTable物件,其中是已經按ProductID降序排列的產品列表。您打算顯示以相反的字母順序排列的ProductName,請問該怎麼做? ( B )
A. 將SqlCommand物件的CommandType屬性修改為,將CommandText屬性修改為"SELECT * FROM procProductList ORDER BY ProductName DESC"。然後將這個DataTable物件繫結到DataGrid控制元件
B. 建立一個基於這個DataTable物件的新的DataView並將這個DataView的Sort屬性設定為"ProductName DESC"。然後將這個DataView物件繫結到DataGrid控制元件
C. 將DataGrid控制元件的AllowSorting屬性設定為True,並將DataGridColumn的SortExpression屬性設定為 "ProductName DESC".以顯示ProductName。然後將這個DataTable物件繫結到DataGrid控制元件
D. 將DataTable物件的DisplayExpression屬性設定為 "ORDER BY ProductName DESC".。然後將這個DataTable物件繫結到DataGrid控制元件
3. 什麼是中的使用者控制元件
答:使用者控制元件就是副檔名的東西嘍,可以拖到不同的頁面中呼叫,以節省程式碼.比如登陸可能在多個頁面上有,就可以做成使用者控制元件,但是有一個問題就是使用者控制元件拖到不同級別的目錄下后里面的圖片等的相對路徑會變得不準確,需要自已寫方法調整.
4. 值型別和引用型別的區別?寫出C#的樣例程式碼。
答:結構是值型別,類是引用型別,所以傳結構就是值型別的應用,傳物件或類就是引用型別的.
5. 如何理解委託?
答:據說相當於函式指標,定義了委託就可以在不呼叫原方法名稱的情況下呼叫那個方法.
msdn20xx中是這樣解釋的:
委託具有以下特點:
委託類似於 C++ 函式指標,但它是型別安全的。
委託允許將方法作為引數進行傳遞。
委託可用於定義回撥方法。
委託可以連結在一起;例如,可以對一個事件呼叫多個方法。
方法不需要與委託簽名精確匹配。
6. 私有程式集與共享程式集有什麼區別?
答:一個私有程式集通常為單個應用程式所使用,並且儲存於這個應用程式所在的目錄之中,或此目錄下面的一個子目錄中。共享程式集通常儲存在全域性程式集快取 (Global Assembly Cache)之中,這是一個由執行時所維護的程式集倉庫。共享程式集通常是對許多應用程式都有用的程式碼庫,比如 Framework類
7. CLR與IL分別是什麼含義?
答:CLR:公共語言執行時,類似於Java中的JVM,Java虛擬機器;在環境下,各種程式語言使用一種共同的基礎資源環境,這就是CLR,CLR將直接與*作系統進行通訊,而程式語言如C#將盡量避免直接與*作系統直接通訊,加強了程式程式碼的執行安全性,可以這樣看:CLR就是具體的程式語言如:C#與*作系統之間的翻譯,同時它為具體的程式語言提供了許多資源:
IL,中間語言,也稱MSIL,微軟中間語言,或CIL,通用中間語言;所有原始碼 (不管用哪種語言編寫)在進行編譯時都被編譯成IL。在應用程式執行時被即時 (Just-In-Time,JIT)編譯器處理成為機器碼,被解釋及執行。
8. 請解釋中以什麼方式進行資料驗證
答: 中有非空驗證,比較驗證,取值範圍驗證,正則表示式驗證及客戶自定義驗證五大控制元件,另還有一個集中驗證資訊處理控制元件
9. WEB控制元件可以激發服務端事件,請談談服務端事件是怎麼發生並解釋其原理?自動傳回是什麼?為什麼要使用自動傳回
答:在web控制元件發生事件時,客戶端採用提交的形式將資料交回服務端,服務端先呼叫Page_Load事件,然後根據傳回的狀態資訊自動呼叫服務端事件自動傳回是當我們在點選客戶端控制元件時,採用提交表單的形式將資料直接傳回到務端
只有通過自動傳回才能實現服務端事件的機制,如果沒有自動回傳機制就只能呼叫客戶端事件,而不能呼叫服務端事件
10. 請解釋web.config檔案中的重要節點
appSettings包含自定義應用程式設定。
系統配置
compilation動態除錯編譯設定
customErrors自定義錯誤資訊設定
authentication身份驗證,此節設定應用程式的身份驗證策略
authorization授權, 此節設定應用程式的授權策略
筆試題篇3
1. 請解釋中的web頁面與其隱藏類之間的關係?
答:一個頁面一般都對應一個隱藏類,一般都在頁面的宣告中指定了隱藏類例如一個頁面的頁面宣告如下
Codebehind="" 表明經編譯此頁面時使用哪一個程式碼檔案
Inherits="1" 表用執行時使用哪一個隱藏類
2. 什麼是viewstate,能否禁用?是否所用控制元件都可以禁用?
答:Viewstate是儲存狀態的一種機制,EnableViewState屬性設定為false即可禁用
3. 當發現不能讀取頁面上的輸入的資料時很有可能是什麼原因造成的?怎麼解決
答:很有可能是在Page_Load中資料處理時沒有進行Page的IsPostBack屬性判斷
4. 請解釋什麼是上下文物件,在什麼情況下要使用上下文物件
答:上下文物件是指HttpContext類的Current 屬性,當我們在一個普通類中要訪問內建物件(Response,Request,Session,Server,Appliction等)時就要以使用此物件
5. 請解釋轉發與跳轉的區別?
答:轉發就是服務端的跳轉A頁面提交資料到B頁面,B頁面進行處理然後從服務端跳轉到其它頁面; 跳轉就是指客戶端的跳轉
6. new有幾種用法
第一種:new Class;
第二種:覆蓋方法 public new XXXX { }
第三種:new 約束指定泛型類宣告中的任何型別引數都必須有公共的無引數建構函式
7. 如何把一個array複製到arrayList裡
答:foreach( object o in array )(o);
8. souse可以連線什麼資料來源 [dataset,datatable,dataview,IList]
9. 什麼是Windows服務,它的生命週期與標準的EXE程式有什麼不同
答:Windows服務是執行在windows後臺指定使用者下(預設System)的應用程式,它沒有標準的UI介面,想比標準的EXE程式,Windows服務是在服務開始的時候建立,而在服務結束的時候銷燬,而且可以設定服務是否與作業系統一起啟動,一起關閉。它支援三種方式:1)自動方式 2)手動方式 3)禁用。自動方式的時候,windows服務將在OS啟動後自動啟動執行,而手動方式則必須手工啟動服務,禁用的情況下服務將不能被啟動。另外標準的EXE預設使用的當前登入的使用者,而windows服務則預設使用System使用者,這在對系統資源訪問的時候特別需要注意。
10. Windows單個程序所能訪問的最大記憶體量是多少?它與系統的最大虛擬記憶體一樣嗎?這對於系統設計有什麼影響?
答:這個需要針對硬體平臺,公式為單個程序能訪問的最大記憶體量=2的處理器位數次方/2,比如通常情況下,32位處理器下,單個程序所能訪問的最大記憶體量為:232 /2 = 2G 。單個程序能訪問的最大記憶體量是最大虛擬記憶體的1/2,因為要分配給作業系統一半虛擬記憶體。
11. 什麼是強型別,什麼是弱型別?哪種更好些?為什麼?
答:強型別是在編譯的時候就確定型別的資料,在執行時型別不能更改,而弱型別在執行的時候才會確定型別。沒有好不好,二者各有好處,強型別安全,因為它事先已經確定好了,而且效率高。一般用於編譯型程式語言,如c++,java,c#,pascal等,弱型別相比而言不安全,在執行的時候容易出現錯誤,但它靈活,多用於解釋型程式語言,如javascript,vb等
12. PID是什麼?在做系統的故障排除時如何使用它?
PID是程序編號,在系統發現故障的時候,可以根據它尋找故障所發生的具體程序,並且可通過visual 等ide將故障程序附加到程序中進行除錯(debug)
13. 闡述面向介面、面向物件、面向方面程式設計的區別
答:面向介面更關注的是概念,它的原則是先定義好行為規範,再根據行為規範建立實現,嚴格的來說,面向介面應該是面向物件中的一部分吧,因為面向物件也強調的是本末倒置原則,也就是實現依賴於抽象,而抽象不依賴於具體實現,更具比較的應該是面向介面與面向抽象物件,我的體會是面向介面更加靈活,但實現時候,稍微有些程式碼冗餘,而面向抽象可以結合面向介面,先定義介面,再定義抽象類,在抽象類中處理一些公共邏輯,再實現具體實現類。面向物件是對複雜問題的分解。面向方面的程式設計是一種新概念,它解決了很多面向物件無法解決的問題,比如面向物件技術只能對業務相關的程式碼模組化,而無法對和業務無關的程式碼模組化。而面向方面正是解決這一問題的方案,它的關鍵思想是"將應用程式中的商業邏輯與對其提供支援的通用服務進行分離"。
14. 從概念上闡述前期繫結(early-binding)和後期繫結(late-binding)的區別?
答:這個就像是強弱型別的比較相似,前期繫結是在編譯的時候就確定了要繫結的資料,而後期繫結是在執行的時候才填充資料。所以前期繫結如果失敗,會在編譯時報編譯錯誤,而後期繫結失敗只有在執行時的時候才發生
15. 呼叫算靜態引用還是動態引用?
答:動態
16. SQL SREVER中,向一個表中插入了新資料,如何快捷的得到自增量欄位的當前值
答:
INSERT INTO jobs (job_desc,min_lvl,max_lvl) VALUES ('Accountant',12,125)
SELECT @@IDENTITY AS 'Identity'
17. e(myString); 這行程式碼有什麼問題?
答:有問題,當myString不能滿足時間格式要求的時候,會引發異常,建議使用arse