9.執行下面代碼後:
String strTemp ="abcdefg 某某某";
Int i System.Text.Encoding.Default.GetBytes(strTemp).Length;
Int j = strTemp.Length;
問:i=(14 ) ;j=(11 )
i=(14 ) ;j=(11 ) 中文兩個位元組
12.概述.NET裡對 remoting 和 webservice 兩項技術的理解和實際中的應用。
遠程邏輯調用,remoing介面只能用在.net中
9. 如何給伺服器端控制項增加用戶端指令碼。
答:控制項的Attributes
6. 私用組件與共用組件有什麼區別?
一個私用組件通常為單個應用程式所使用,並且儲存於這個應用程式所在的目錄之中,或此目錄下面的一個子
目錄中。共用組件通常儲存在全域組件快取(Global Assembly Cache)之中,這是一個由.NET運行時所維
護的程式集倉庫。共用組件通常是對許多應用程式都有用的程式碼程式庫,比如.NET Framework類。
10 .請解釋ASP.NET中以什麼方式進行資料驗證
Aps.net 中有非空驗證,比較驗證,取值範圍驗證,Regex驗證及客戶自訂驗證五大控制項,另還有一個集
中驗證資訊處理控制項
11.WEB控制項可以激發服務端事件,請談談服務端事件是怎麼發生並解釋其原理?自動傳回是什嗎?為什麼要
使用自動傳回。
在web控制項發生事件時,用戶端採用提交的形式將資料交回服務端,服務端先調用Page_Load事件,然後根據傳
回的狀態資訊自動調用服務端事件自動傳回是當我們在點擊用戶端控制項時,採用提交表單的形式將資料直接傳回
到務端
只有通過自動傳回才能實現服務端事件的機制,如果沒有自動回傳機制就只能調用用戶端事件,而不能調用服務
端事件
13. 請解釋web.config檔案中的重要節點
appSettings包含自訂應用程式設定。
system.web 系統配置
compilation動態調試編譯設定
customErrors自訂錯誤資訊設定
authentication身分識別驗證,此節設定應用程式的身分識別驗證策略。
authorization授權, 此節設定應用程式的授權策略.
14. 請解釋ASP。NET中的web頁面與其隱藏類之間的關係?
一個ASP.NET頁面一般都對應一個隱藏類,一般都在ASP.NET頁面的聲明中指定了隱藏類例如一個頁面Tst1.aspx
的頁面聲明如下
<%@ Page language="c#" Codebehind="Tst1.aspx.cs" AutoEventWireup="false" Inherits="T1.Tst1" %>
Codebehind="Tst1.aspx.cs" 表明經編譯此頁面時使用哪一個代碼檔案
Inherits="T1.Tst1" 表用運行時使用哪一個隱藏類
15. 什麼是viewstate,能否禁用?是否所用控制項都可以禁用?
Viewstate是儲存狀態的一種機制,EnableViewState屬性設定為false即可禁用
16. 當發現不能讀取頁面上的輸入的資料時很有可能是什麼原因造成的?怎麼解決?
很有可能是在Page_Load中資料處理時沒有進行Page的IsPostBack屬性判斷
17. 請解釋什麼是內容物件,在什麼情況下要使用內容物件
內容物件是指HttpContext類的Current 屬性,當我們在一個普通類中要訪問內建對
象(Response,Request,Session,Server,Appliction等)時就要以使用此對象
16、解釋一下ajax及實現原理
答:Ajax的核心是JavaScript對象XmlHttpRequest,它使您可以使用JavaScript向伺服器提出請求並處理響應, 而不阻塞使用者,非同步請求。
const和readonly有什麼區別?
const關鍵字用來聲明編譯時間常量,readonly用來聲明運行時常量。
1、delegate是參考型別還是實值型別?enum、int[]和string呢(難度係數40%)?
答案:delegate參考型別,enum實值型別,int[]參考型別,string參考型別。
3、base這個關鍵字有哪幾種文法?override呢?
答案:base兩個文法,分別是調用基類建構函式和調用基類方法,override用於重寫基類方法。
4、請指出C#中是否有下列關鍵字?virtual、sealed、abstract、import、as、in、goto、final、Const、signed、
String(提示,僅指出C#中沒有的即可)(難度係數50%)。
答案:沒有的關鍵字:import、final、Const、signed、String
5、在迴圈:for( int i = 0; i < 100; i++ ) Console.WriteLine( i );中,請指出i++的執行時機。
答案:在Console.WriterLine( i );執行之後
6、試說明continue關鍵字的用處。
答案:馬上開始下一次迴圈,忽略迴圈體餘下的語句
7、object是C#的關鍵字嗎?請指出C#中有哪些類型關鍵字,如int、float。(提示,寫得越多越好)。
答案:是,object、int、uint、long、ulong、short、ushort、byte、sbyte、char、float、double、decimal、boo
l,如回答:enum、struct、class、delegate也算對。
8、C#的XML文檔注釋中(以///開頭的注釋),<summary>標籤用於描述什嗎?<param>標籤呢?
答案:<summary>用於某個元素的概要說明,<param>用於某個方法的參數概要說明。
9、我們知道[]是數組和索引器的訪問操作符,但它還有一個文法,是什嗎?
答案:特性(Attribute)
18.請敘述屬性與索引器的區別。
屬性 索引器
通過名稱標識。 通過簽名標識。
通過簡單名稱或成員訪問來訪問。 通過元素訪問來訪問。
可以為靜態成員或執行個體成員。 必須為執行個體成員。
屬性的 get 訪問器沒有參數。 索引器的 get 訪問器具有與索引器相同的形參表。
屬性的 set 訪問器包含隱式 value 參數。 除了 value 參數外,索引器的 set 訪問器還具有與索引
器相同的形參表。
1) 描述線程與進程的區別?
線程(Thread)與進程(Process)二者都定義了某種邊界,不同的是進程定義的是應用程式與應用程式之間的邊
界,不同的進程之間不能共用代碼和資料空間,而線程定義的是代碼執行堆棧和執行內容的邊界。一個進程可
以包括若干個線程,同時建立多個線程來完成某項任務,便是多線程。而同一進程中的不同線程共用代碼和資料
空間。用一個比喻來說,如果一個家庭代表一個進程,在家庭內部,各個成員就是線程,家庭中的每個成員都有
義務對家庭的財富進行積累,同時也有權利對家庭財富進行消費,當面對一個任務的時候,家庭也可以派出幾個
成員來協同完成,而家庭之外的人則沒有辦法直接消費不屬於自己家庭的財產。
2) 什麼是Windows服務,它的生命週期與標準的EXE程式有什麼不同
Windows服務是運行在windows後台指定使用者下(預設System)的應用程式,它沒有標準的UI介面,想比標準
的EXE程式,Windows服務是在服務開始的時候建立,而在服務結束的時候銷毀,而且可以設定服務是否與操作
系統一起啟動,一起關閉。它支援三種方式:1)自動方式 2)手動方式 3)禁用 。自動方式的時
候,windows服務將在OS啟動後自動啟動運行,而手動方式則必須手工啟動服務,禁用的情況下服務將不能被
啟動。另外標準的EXE預設使用的當前登入的使用者,而windows服務則預設使用System使用者,這在對系統資源訪
問的時候特別需要注意。
3) Windows單個進程所能訪問的最大記憶體量是多少?它與系統的最大虛擬記憶體一樣嗎?這對於系統設計有什麼
影響?
這個需要針對硬體平台,公式為單個進程能訪問的最大記憶體量=2的處理器位元次方/2,比如通常情況下,32位
處理器下,單個進程所能訪問的最大記憶體量為:232 /2 = 2G 。單個進程能訪問的最大記憶體量是最大虛擬記憶體
的1/2,因為要分配給作業系統一半虛擬記憶體。
4) 什麼是強型別,什麼是弱類型?哪種更好些?為什麼?
強型別是在編譯的時候就確定類型的資料,在執行時類型不能更改,而弱類型在執行的時候才會確定類型。沒有
好不好,二者各有好處,強型別安全,因為它事先已經確定好了,而且效率高。一般用於編譯型編程語
言,如c++,java,c#,pascal等,弱類型相比而言不安全,在啟動並執行時候容易出現錯誤,但它靈活,多用於解釋型編
程語言,如javascript,vb等
5) PID是什嗎?在做系統的故障排除時如何使用它?
PID是進程編號,在系統發現故障的時候,可以根據它尋找故障所發生的具體進程,並且可通過visual studio.net
等ide將故障進程附加到進程中進行調試(debug)
6) 單個TCP/IP連接埠上能夠被多少個進程偵聽?
1個
7) 什麼是GAC?它解決了什麼問題?
Gloal Assembly Cache,全域應用程式集緩衝。它解決了幾個程式共用某一個程式集的問題。不必再將那個被共
享的程式集拷貝到應用程式目錄了,其實這道理很簡單,.net應用程式在載入的時候,會首先查看全域應用程式
集緩衝,如果有就可以直接使用,沒有再到應用程式目錄進行尋找。
1.白盒測試和黑箱測試
答:黑箱測試:已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。
白盒測試:已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成
分是否以經過檢查。
軟體的黑箱測試意味著測試要在軟體的介面處進行。這種方法是把測試對象看做一個黑盒子,測試人員完全
不考慮程式內部的邏輯結構和內部特性,只依據程式的需求規格說明書,檢查程式的功能是否符合它的功能說明
。因此黑箱測試又叫功能測試或資料驅動測試。黑箱測試主要是為了發現以下幾類錯誤:
1、是否有不正確或遺漏的功能?
2、在介面上,輸入是否能正確的接受?能否輸出正確的結果?
3、是否有資料結構錯誤或外部資訊(例如資料檔案)訪問錯誤?
4、效能上是否能夠滿足要求?
5、是否有初始化或終止性錯誤?
軟體的白盒測試是對軟體的過程性細節做細緻的檢查。這種方法是把測試對象看做一個開啟的盒子,它允許
測試人員利用程式內部的邏輯結構及有關資訊,設計或選擇測試案例,對程式所有邏輯路徑進行測試。通過在不
同點檢查程式狀態,確定實際狀態是否與預期的狀態一致。因此白盒測試又稱為結構測試或邏輯驅動測試。白盒
測試主要是想對程式模組進行如下檢查:
1、對程式模組的所有獨立的執行路徑至少測試一遍。
2、對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。
3、在迴圈的邊界和啟動並執行界限內執行迴圈體。
4、測試內部資料結構的有效性,等等。
請簡述一下用Socket進行同步通訊編程的詳細步驟
1、在應用程式和遠程裝置中使用協議和網路地址初始化通訊端
2、在應用程式中通過指定連接埠和地址建立監聽
3、遠程裝置發出串連請求
4、應用程式接受串連產生通訊scoket
5、應用程式和遠程裝置開始通訊(在通訊中應用程式將掛起直到通訊結束)
6、通訊結束,關閉應用程式和遠程裝置的Socket回收資源
OSI網路結構的七層模型及其核心思想是什麼
第七層:應用程式層
定義了用於在網路中進行通訊和資料轉送的介面 - 使用者程式;
提供標準服務,比如虛擬終端、檔案以及任務的傳輸和處理;
第六層:展示層
掩蓋不同系統間的資料格式的不同性;
指定獨立結構的資料轉送格式;
資料的編碼和解碼;加密和解密;壓縮和解壓縮
第五層:會話層
系統管理使用者會話和對話;
控制使用者間邏輯串連的建立和掛斷;
報告上一層發生的錯誤
第四層:傳輸層
管理網路中端到端的資訊傳送;
通過錯誤校正和流量控制機制提供可靠且有序的資料包傳送;
提供面向不需連線的資料包的傳送;
第三層:網路層
定義網路裝置間如何傳輸資料;
根據唯一的網路裝置地址路由資料包;
提供流和擁塞控制以防止網路資源的損耗
第二層:資料連結層
定義操作通訊串連的程式;
封裝資料包為資料幀;
監測和糾正資料包傳輸錯誤
第一層:物理層
定義通過網路裝置發送資料的物理方式;
作為網路媒介和裝置間的介面;
定義光學、電氣以及機械特性。