Java程式設計師的10道XML面試題
包括web開發人員的Java面試在內的各種面試中,XML面試題在各種程式設計工作的面試中很常見。XML是一種成熟的技術,經常作為從一個平臺到其他平臺傳輸資料的標準。XML面試問題包括用於轉換XML檔案的XSLT技術,XPATH,XQuery等各種XML技術和XML基礎知識,比如DTD或者Schema。
本文將看到10道常見的XML面試問答題。這些問題大部分在Java面試中會問到,同時在C,C++,Scala或其他語言的程式設計面試中同樣很有用處。XML並不依賴於其他程式語言,同SQL一樣是程式設計人員所需要的技能之一,因此在任何技術工作面試之前準備一些XML問題是很有意義的。
XML面試問答
下面是我列出的關於XML技術經常會問到的面試題。這些問題並不很難但涵蓋了XML技術的一些重要領域,比如DTD,XML Schema,XSLT轉換,XPATH檢索,XML繫結,XML解析器以及XML的基本知識,比如名稱空間,校驗,屬性,元素等。
問題1:XML是什麼?
答:XML即可擴充套件標記語言(Extensible Markup language),你可以根據自己的需要擴充套件XML。XML中可以輕鬆定義<books>, <orders>等自定義標籤,而在HTML等其他標記語言中必須使用預定義的標籤,比如<p>,而不能使用使用者定義的標籤。使用DTD和XML Schema標準化XML結構。XML主要用於從一個系統到另一系統的資料傳輸,比如企業級應用的客戶端與服務端。
問題2:DTD與XML Schema有什麼區別?
答:DTD與XML Schema有以下區別:DTD不使用XML編寫而XML Schema本身就是xml檔案,這意味著XML解析器等已有的XML工具可以用來處理XML Schema。而且XML Schema 是設計於DTD之後的,它提供了更多的型別來對映xml檔案不同的資料型別。DTD即文件型別描述(Document Type definition)是定義XML檔案結構的傳統方式。
問題3:XPath是什麼?
答:XPath是用於從XML文件檢索元素的XML技術。XML文件是結構化的,因此XPath可以從XML檔案定位和檢索元素、屬性或值。從資料檢索方面來說,XPath與SQL很相似,但是它有自己的語法和規則。瞭解更多檢視怎樣使用XPath從XML文件中檢索資料。
問題4:XSLT是什麼?
答:XSLT也是常用的XML技術,用於將一個XML檔案轉換為另一種XML,HTML或者其他的格式。XSLT為轉換XML檔案詳細定義了自己的語法,函式和操作符。通常由XSLT引擎完成轉換,XSLT引擎讀取XSLT語法編寫的XML樣式表或者XSL檔案的指令。XSLT大量使用遞迴來執行轉換。一個常見XSLT使用就是將XML檔案中的資料作為HTML頁面顯示。XSLT也可以很方便地把一種XML檔案轉換為另一種XML文件。
問題5:什麼是XML元素和屬性
答:最好舉個例子來解釋。下面是簡單的XML片斷。
<Orders>
<Order id=”123″>
<Symbol>6758.T</Symbol>
<Price>2300</Price>
<Order>
<Orders>
例子中id是元素的一個屬性,其他元素都沒有屬性。
問題6:什麼是格式良好的XML
答:這個問題經常在電話面試中出現。一個格式良好的XML意味著該XML文件語法上是正確的,比如它有一個根元素,所有的開放標籤合適地閉合,屬性值必須加引號等等。如果一個XML不是格式良好的,那麼它可能不能被各種XML解析器正確地處理和解析。
問題7:XML名稱空間是什麼?它為什麼很重要?
答:XML名稱空間與Java的package類似,用來避免不同來源名稱相同的標籤發生衝突。XML名稱空間在XML文件頂部使用xmlns屬性定義,語法為xmlns:prefix=’URI’。prefix與XML文件中實際標籤一起使用。下面例子為XML名稱空間的使用。
<root xmlns:inst=”http://instruments.com/inst”
<inst:phone>
<inst:number>837363223</inst:number>
</inst:phone>
</root>
問題8:DOM和SAX解析器有什麼區別
答:這又是一道常見面試題,不僅出現在XML面試題中,在Java面試中也會問到。DOM和SAX解析器的主要區別在於它們解析XML文件的方式。使用DOM解析時,XML文件以樹形結構的形式載入到記憶體中,而SAX是事件驅動的解析器。這個問題更詳細的回答檢視DOM和SAX解析器之間的區別。
問題9:XML CDATA是什麼
答:這道題很簡單也很重要,但很多程式設計人員對它的瞭解並不深。CDATA是指字元資料,它有特殊的指令被XML解析器解析。XML解析器解析XML文件中所有的文字,比如<name>This is name of person</name>,標籤的值也會被解析,因為標籤值也可能包含XML標籤,比如<name><firstname>First Name</firstname></name>。CDATA部分不會被XML解析器解析。CDATA部分以“
問題10:Java的XML資料繫結是什麼
答:Java的XML繫結指從XML檔案中建立類和物件,使用Java程式語言修改XML文件。XML繫結的Java API,JAXB提供了繫結XML文件和Java物件的便利方式。另一個可選的XML繫結方法是使用開源庫,比如XML Beans。Java中XML繫結的一個最大的優勢就是利用Java程式設計能力建立和修改XML文件。
以上的XML面試問答題收集自很多程式設計人員,但它們對於使用XML技術的每個人都是有用的。由於XML具有平臺獨立的特性,XPath,XSLT,XQuery等XML技術越來越重要,XML廣泛用於跨平臺資料傳輸。儘管XML有冗餘和文件體積大等缺點,但它在web服務以及頻寬、速率作為次要考慮因素的系統間資料傳輸起很大作用。
來自:ImportNew
相關文章
- 提給程式設計師的10道Java泛型面試題程式設計師Java泛型面試題
- Java程式設計師的筆試題10道Java程式設計師筆試
- 好程式設計師Java教程分享XML常見面試題程式設計師JavaXML面試題
- 最有價值的50道java面試題 適用於准入職Java程式設計師Java面試題程式設計師
- Java程式設計師面試題及解答Java程式設計師面試題
- 程式設計師50+Java面試題程式設計師Java面試題
- JAVA程式設計師面試題庫分享Java程式設計師面試題
- Java程式設計師集合框架面試題Java程式設計師框架面試題
- 好程式設計師Java培訓分享22道Spring Boot面試題!程式設計師JavaSpring Boot面試題
- Java程式設計師面試必須要掌握的面試題Java程式設計師面試題
- Java併發程式設計71道面試題及答案Java程式設計面試題
- Java併發程式設計73道面試題及答案Java程式設計面試題
- Java程式設計師面試常見問題Java程式設計師面試
- 好程式設計師:Java程式設計師面試秘籍程式設計師Java面試
- Java併發程式設計40道面試題及答案——面試穩了Java程式設計面試題
- 5~10年高階Java程式設計師面試題:MySQL 的鎖 有哪些?Java程式設計師面試題MySql
- Java初中級程式設計師面試題寶典Java程式設計師面試題
- PHP程式設計師面試題PHP程式設計師面試題
- 好程式設計師分享:Java面試題常見問題程式設計師Java面試題
- 穩了!Java併發程式設計71道面試題及答案Java程式設計面試題
- 100道JAVA面試題+JAVA面試題參考答案Java面試題
- 好程式設計師Java教程分享:Java工程師常見面試題程式設計師Java工程師面試題
- 好程式設計師Java分享Javamain十個面試題程式設計師JavaAI面試題
- java程式設計師怎樣面試?Java程式設計師面試
- JAVA程式設計師面試32問Java程式設計師面試
- 好程式設計師Java教程分享Java面試題之Hibernate程式設計師Java面試題
- Java程式設計師面試中的多執行緒問題Java程式設計師面試執行緒
- 5~10年高階Java程式設計師面試題:Spring Bean 的生命週期Java程式設計師面試題SpringBean
- 100個 iOS 程式設計師面試題彙總iOS程式設計師面試題
- 禪道程式設計師的10條原則程式設計師
- 高階前端程式設計師面試問題與答案【精選9道】前端程式設計師面試
- 程式設計師面試,我最喜歡的10個問題程式設計師面試
- VUE的面試題分享-好程式設計師Vue面試題程式設計師
- 好程式設計師Java培訓分享Mybatis面試題集合程式設計師JavaMyBatis面試題
- 好程式設計師Java培訓分享Java面試題集合篇一程式設計師Java面試題
- 好程式設計師Java培訓分享Java面試題集合篇二程式設計師Java面試題
- 好程式設計師Java教程分享Java實習生面試題集錦程式設計師Java面試題
- 好程式設計師Java教程分享經典Java main方法面試題程式設計師JavaAI面試題