C#組件開發人員
-
什麼時候使用override?什麼時候使用new? 什麼叫shadowing?
重寫父類的方法的時候用override以實現多態,當你想屏蔽父類成員的時候使用new,shadowing基本就是new與override區別等一些方面的問題,個人認爲弄清override與new就沒有必要特意考慮shadowing。
-
解釋virtual、sealed、override和abstract的區別?
virtual是聲明虛方法的關鍵字,說明該方法可以被重寫,sealed說明該類不可被繼承,override重寫基類的方法,abstract表明一個類是抽象類或者一個方法是抽象方法,抽象方法不提供實現,由子類中重寫這個抽象方法的方法實現,抽象類不可實例化。
-
Foo.Bar, Version=2.0.205.0, Culture=neutral, PublicKeyToken=593777ae2d274679d 解釋這個字符串每個部分的重要性和作用
程序集的名字、版本(主版本、次版本、內部版本號、修訂號)、Culture(文化)如zh-CN,公鑰(縮略碼),這些是強名程序集的標誌。
-
-
解釋public、protected、private和internal的區別。
標記public後可被在類的內部或外部訪問,protected只能被其自身內部或其子類訪問,private只能在其內部訪問,internal只能在相同的程序集中被訪問。
-
使用Primary Interop Assembly(PIA)有什麼好處?
PIA是官方發佈並經過Sign,可以在不同程序中共享。PIA可能經過某種改動使其比一般Tlbimp生成的Interop DLL要容易使用一些,比如提供一些封裝函數。
-
-
NUnit是通過什麼機制獲知需要測試哪些方法的?
反射,爲測試方法加上[TestMethodAttribute]。
-
catch(Exception e){throw e;}和catch(Exception e){throw;}的區別
將發生的異常對象拋出,另一個只是拋出異常,並沒有拋出原異常對象
-
typeof(foo)和myFoo.GetType()的區別?
typeof()爲操作符,其操作數爲類型,而不能是類的實例。GetType()方法是類型的實例調用的,用於在運行時獲得對象的類型。
-
public class c
{ public c(string a) : this() {;};
public c() {;}
}
解釋第一個構造函數中發生了什麼?這個構造函數有什麼用?
解答:第一個構造函數調用了第二個構造函數,這個構造函數構造了一個c對象的實例。其接受一個string類型的參數。
-
-
this是幹嘛用的?能夠用在static方法中?
this表示通過當前實例訪問一個對象,不能用於static中。
XML開發人員
1. XML命名空間的作用?
當XML文檔較爲複雜或是需要從別 的地方取得內容時,一個文檔中有可能會需要不止一個詞彙,這樣就會產生名稱相同而含義不同的元素出現在不同詞彙中的情況。命名空間可以指明哪個元素屬於哪 個詞彙。它可以爲每個詞彙指定唯一的前綴進行識別,再將該前綴應用於XML文檔中的元素上。
2. 何時適合使用DOM?何時不適合?有沒有尺寸限度?
等待高手將答案賦予評論中。。致謝!
3. 什麼是WS-I基本配置?它重要在哪裏?
WS-I全稱爲Web服務互操作性 組。WS-I 基本配置文件規範 1.1 版是衆多供應商爲加快真正可互操作 Web 服務的部署而進行的一次嘗試,此規範消除了以前規範中的多義性,明確了創建符合規範的 Web 服務的限定,同時從大量可能的設置中選擇了一組 Web 服務設置。(源自MSDN)
4. 寫一個小XML文檔,其中使用的是默認的命名空間,以及一個合法的(前綴)命名空間,其中要有分別屬於這兩個命名空間的元素。
<? xml version = "1.0 " encoding = "UTF-8 "?>
< kml xmlns = "http://www.opengis.net/kml/2.2 " xmlns:atom = "http://www.w3.org/2005/Atom ">
< Folder >
< name > 臨時位置 </ name >
</ Folder >
< atom:Document >
< message ></ message >
</ atom:Document >
</ kml >
直接上一段修改過的KML。
5. 元素和特性的基本區別在哪裏?
元素是xml樹型結構的節點,其必須成對出現。屬性位於一個元素當中。
6. 格式完好的XML和有效的XML有什麼區別?
有效的XML文件是指達到一個xml的最低標準,比如標籤需匹配等,如果達不到這個標準則不會被識別爲xml文件。有效的xml是指經過DTD或者XSD文件驗證的。
7. .NET中如何驗證XML?
這個直接參見微軟官方網站的說明。http://support.microsoft.com/kb/307379/zh-cn
8. myXmlDocument.SelectNodes("//mynode"); 爲什麼這句代碼不好?什麼時候它是好的?
如果單純選擇一個名爲mynode的節點,這種做法效率不高。只有當要獲取名爲mynode的節點的集合時可以使用這個語句。
9. 拉式解析(XmlReader)與事件讀取器(Sax)的區別
與 XML 的簡單 API (SAX) 讀取器類似, XmlReader 是一個只進、只讀的遊標。它提供了對輸入的快速和非緩存的流式訪問。它可以讀取流或文檔。它使用戶可以提取數據,並跳過對應用程序沒有意義的記錄。較大的 差異在於 SAX 模型是一個"推送"模型,其中分析器將事件推到應用程序,在每次讀取新節點時通知應用程序,而使用 XmlReader 的應用程序可以隨意從讀取器提取節點。(源自MSDN)
10. XPathDocument和XmlDocument的區別? 在何種情況下應該用哪一個?
XPathDocument 類使用 XPath 數據模型提供 XML 文檔在內存中的快速只讀表示形式。XmlDocument 類是實現 W3C 文檔對象模型 (DOM) 級別 1 核心和核心 DOM 級別 2 的 XML 文檔在內存中的可編輯表示形式。所以區別就在一個只讀。
11. "XML片斷"與"XML文檔"有什麼區別
首先比較重要的一點,XML文檔需要有"<?xml version="1.0" encoding="UTF-8"?>"這樣的聲明。而XML片段不強制。另外貌似XML可以有多個根節點(而XML文檔只能有一個根節點)
12. 什麼叫格式規範的XML?
類似6題中的解釋
13. XML InfoSet規範與Xml DOM有什麼不同? InfoSet是要解決什麼問題?
XML 信息集(XML Information Set, Infoset)允許您將一份 XML 文檔描述爲一系列具有特定屬性的對象。而DOM只表示出一個層次關係。所以InfoSet用來更好的用xml表示對象。
14. 比較DTD和XSD,它們的相似點與區別分別是什麼?哪個更好些?爲什麼?
從模式的描述語言來說,XML Schema和XML DTD都屬於語法模式。白話一點,就是都用來驗證xml的格式。但XML Schema的格式與XML DTD的格式有着非常明顯的區別,XML Schema事實上也是XML的一種應用,也就是說XML Schema的格式與XML的格式是完全相同的,而作爲SGML DTD的一個子集,XML DTD具有着與XML格式完全不同的格式。所以基於XML格式的XML Schema更具優勢。(參考IBM開發者網絡http://www.ibm.com/developerworks/cn/xml/x-sd/index.html )
15. System.Xml支持DTD嗎?如果支持,如何使用?
第7個問題中的網址解釋了這個問題。
16. XML Schema能夠表示爲對象圖?對象圖能夠表示爲XML Schema?
肯定可以。Vs內置此工具。