如今疲酌,面對web開發(fā)人員的Java各種面試中皇忿,XML面試題在各種編程工作的面試中很常見。XML是一種成熟的技術(shù)氓仲,經(jīng)常作為從一個(gè)平臺(tái)到其他平臺(tái)傳輸數(shù)據(jù)的標(biāo)準(zhǔn)峰档。XML面試問題包括用于轉(zhuǎn)換XML文件的XSLT技術(shù),以及XPATH寨昙,XQuery等各種XML技術(shù)和XML基礎(chǔ)知識。
小編收集看到常見的XML面試問答題掀亩。這些問題大部分在Java面試中會(huì)問到舔哪,同時(shí)在C,C++槽棍,Scala或其他語言的編程面試中同樣很有用處捉蚤。作為編程人員所需要的技能之一,在任何技術(shù)工作面試之前準(zhǔn)備一些XML問題是很有意義的炼七。
通過收集到的問題可見缆巧,涵蓋了XML技術(shù)的一些重要領(lǐng)域,比如DTD豌拙,XML Schema陕悬,XSLT轉(zhuǎn)換,XPATH檢索按傅,XML綁定捉超,XML解析器以及XML的基本知識。
1:XML是什么唯绍?
答:XML即可擴(kuò)展標(biāo)記語言(Extensible Markup language)拼岳,你可以根據(jù)自己的需要擴(kuò)展XML。XML中可以輕松定義, 等自定義標(biāo)簽况芒,而在HTML等其他標(biāo)記語言中必須使用預(yù)定義的標(biāo)簽惜纸,比如
,而不能使用用戶定義的標(biāo)簽绝骚。使用DTD和XML Schema標(biāo)準(zhǔn)化XML結(jié)構(gòu)耐版。XML主要用于從一個(gè)系統(tǒng)到另一系統(tǒng)的數(shù)據(jù)傳輸,比如企業(yè)級應(yīng)用的客戶端與服務(wù)端压汪。
2:DTD與XML Schema有什么區(qū)別椭更?
答:DTD與XML Schema有以下區(qū)別:DTD不使用XML編寫而XML Schema本身就是xml文件,這意味著XML解析器等已有的XML工具可以用來處理XML Schema蛾魄。而且XML Schema 是設(shè)計(jì)于DTD之后的虑瀑,它提供了更多的類型來映射xml文件不同的數(shù)據(jù)類型湿滓。DTD即文檔類型描述(Document Type definition)是定義XML文件結(jié)構(gòu)的傳統(tǒng)方式。
3:XPath是什么舌狗?
答:XPath是用于從XML文檔檢索元素的XML技術(shù)叽奥。XML文檔是結(jié)構(gòu)化的,因此XPath可以從XML文件定位和檢索元素痛侍、屬性或值朝氓。從數(shù)據(jù)檢索方面來說,XPath與SQL很相似主届,但是它有自己的語法和規(guī)則赵哲。了解更多查看怎樣使用XPath從XML文檔中檢索數(shù)據(jù)。
4:XSLT是什么?
答:XSLT也是常用的XML技術(shù)君丁,用于將一個(gè)XML文件轉(zhuǎn)換為另一種XML枫夺,HTML或者其他的格式。XSLT為轉(zhuǎn)換XML文件詳細(xì)定義了自己的語法绘闷,函數(shù)和操作符橡庞。通常由XSLT引擎完成轉(zhuǎn)換,XSLT引擎讀取XSLT語法編寫的XML樣式表或者XSL文件的指令印蔗。XSLT大量使用遞歸來執(zhí)行轉(zhuǎn)換扒最。一個(gè)常見XSLT使用就是將XML文件中的數(shù)據(jù)作為HTML頁面顯示。XSLT也可以很方便地把一種XML文件轉(zhuǎn)換為另一種XML文檔华嘹。
5:什么是XML元素和屬性
答:最好舉個(gè)例子來解釋吧趣。下面是簡單的XML片斷。
6758.T
2300
例子中id是元素的一個(gè)屬性耙厚,其他元素都沒有屬性再菊。
6:什么是格式良好的XML
答:這個(gè)問題經(jīng)常在電話面試中出現(xiàn)。一個(gè)格式良好的XML意味著該XML文檔語法上是正確的颜曾,比如它有一個(gè)根元素纠拔,所有的開放標(biāo)簽合適地閉合,屬性值必須加引號等等泛豪。如果一個(gè)XML不是格式良好的稠诲,那么它可能不能被各種XML解析器正確地處理和解析。
7:XML命名空間是什么诡曙?它為什么很重要臀叙?
答:XML命名空間與Java的package類似,用來避免不同來源名稱相同的標(biāo)簽發(fā)生沖突价卤。XML命名空間在XML文檔頂部使用xmlns屬性定義劝萤,語法為xmlns:prefix=’URI’。prefix與XML文檔中實(shí)際標(biāo)簽一起使用慎璧。下面例子為XML命名空間的使用床嫌。
837363223
8:DOM和SAX解析器有什么區(qū)別
答:這又是一道常見面試題跨释,不僅出現(xiàn)在XML面試題中,在Java面試中也會(huì)問到厌处。DOM和SAX解析器的主要區(qū)別在于它們解析XML文檔的方式鳖谈。使用DOM解析時(shí),XML文檔以樹形結(jié)構(gòu)的形式加載到內(nèi)存中阔涉,而SAX是事件驅(qū)動(dòng)的解析器缆娃。這個(gè)問題更詳細(xì)的回答查看DOM和SAX解析器之間的區(qū)別。
9:XML CDATA是什么
答:這道題很簡單也很重要瑰排,但很多編程人員對它的了解并不深贯要。CDATA是指字符數(shù)據(jù),它有特殊的指令被XML解析器解析椭住。XML解析器解析XML文檔中所有的文本崇渗,比如This is name of person,標(biāo)簽的值也會(huì)被解析函荣,因?yàn)闃?biāo)簽值也可能包含XML標(biāo)簽,比如First Name扳肛。CDATA部分不會(huì)被XML解析器解析傻挂。CDATA部分以“
10:Java的XML數(shù)據(jù)綁定是什么
答:Java的XML綁定指從XML文件中創(chuàng)建類和對象,使用Java編程語言修改XML文檔挖息。XML綁定的Java API金拒,JAXB提供了綁定XML文檔和Java對象的便利方式。另一個(gè)可選的XML綁定方法是使用開源庫套腹,比如XML Beans绪抛。Java中XML綁定的一個(gè)最大的優(yōu)勢就是利用Java編程能力創(chuàng)建和修改XML文檔。
由此电禀,XML面試問答題對于XML技術(shù)的每個(gè)人都是有用的幢码。由于XML具有平臺(tái)獨(dú)立的特性,XPath尖飞,XSLT症副,XQuery等XML技術(shù)越來越重要,XML廣泛用于跨平臺(tái)數(shù)據(jù)傳輸政基。盡管XML有冗余和文檔體積大等缺點(diǎn)贞铣,但它在web服務(wù)以及帶寬、速率作為次要考慮因素的系統(tǒng)間數(shù)據(jù)傳輸起很大作用沮明。
志同道合的朋友可以進(jìn)架構(gòu)師的圈子:587372254 (小白和廣告勿擾)
我也希望可以幫助到想在這個(gè)行業(yè)發(fā)展的朋友們辕坝,少花些時(shí)間在論壇博客等地方找資料(啃書本),希望大家把有限的時(shí)間荐健,真正的花在學(xué)習(xí)和交流上