Java程序员的10个XML面试问答
XML面試問題在各種編程工作面試中非常受歡迎,包括針對(duì)Web開發(fā)人員的Java面試 。 XML是一項(xiàng)成熟的技術(shù),通常用作從一個(gè)平臺(tái)傳輸數(shù)據(jù)的標(biāo)準(zhǔn)。 XML面試問題包含來自各種XML技術(shù)的問題,例如XSLT,該技術(shù)用于轉(zhuǎn)換XML文件, XPATH ,XQuery和XML基礎(chǔ)(例如DTD或Schema)。
在本文中,我們將看到上述主題中的10個(gè)XML采訪常見問題 。 這些問題通常是在各種Java訪談中提出的,但在其他編程訪談(如C,C ++,Scala或任何其他編程語言)中同樣有用。 由于XML不與任何編程語言綁定
就像SQL是程序員期望的技能之一一樣,在出現(xiàn)任何技術(shù)工作面試之前先練習(xí)一些XML問題也是很有意義的。
XML面試問答
這是我有關(guān)XML技術(shù)的一些常見問與答面試問題的清單。 清單上的問題不是很棘手,但涉及XML技術(shù)的一些重要領(lǐng)域,例如DTD,XML Schema,XSLT轉(zhuǎn)換, XPATH評(píng)估 ,XML綁定,XML解析器和XML基礎(chǔ)知識(shí),例如名稱空間,驗(yàn)證,屬性,元素等。
問題1:什么是XML?
答:XML代表可擴(kuò)展標(biāo)記語言,這意味著您可以根據(jù)需要擴(kuò)展XML。 您可以輕松地以XML定義自定義標(biāo)簽(如<books>,<orders>等),而與HTML等其他標(biāo)記語言相反,在HTML中,您需要使用預(yù)定義標(biāo)簽(例如<p>),并且不能使用用戶定義的標(biāo)簽。 盡管可以通過使用DTD和XML Schema來標(biāo)準(zhǔn)化XML的結(jié)構(gòu)。 XML通常用于將數(shù)據(jù)從一個(gè)系統(tǒng)傳輸?shù)搅硪粋€(gè)系統(tǒng),例如在企業(yè)應(yīng)用程序的客戶端和服務(wù)器之間。
問題2:DTD和XML模式之間的區(qū)別?
答:DTD和XML Schema之間有一些區(qū)別,例如DTD不是使用XML編寫的,而XML Schema本身就是xml文檔,這意味著現(xiàn)有的XML工具(例如XML解析器)可以用于XML Schema。 XML模式也是在DTD之后設(shè)計(jì)的,它提供了更多類型來映射XML文檔中的不同類型的數(shù)據(jù)。 另一方面,DTD代表文檔類型定義,并且是定義XML文檔結(jié)構(gòu)的傳統(tǒng)方法。
問題3:什么是XPath?
答:XPath是一種XML技術(shù),用于從XML文檔中檢索元素。 由于XML文檔是結(jié)構(gòu)化的,因此可以使用XPath表達(dá)式來查找和檢索XML文件中的元素,屬性或值。 從XML檢索數(shù)據(jù)方面,XPath與SQL相似,但是它具有自己的語法和規(guī)則。 請(qǐng)參閱此處以了解有關(guān)如何使用XPath從XML文檔中檢索數(shù)據(jù)的更多信息。
問題4:什么是XSLT?
答:XSLT是另一種流行的XML技術(shù),可以將一個(gè)XML文件轉(zhuǎn)換為其他XML,HTML或任何其他格式。 XSLT就像一種語言,它指定了自己的語法,函數(shù)和運(yùn)算符來轉(zhuǎn)換XML文檔。 通常,轉(zhuǎn)換由XSLT引擎完成,該引擎讀取XML樣式表或XSL文件中使用XSLT語法編寫的指令。 XSLT還廣泛使用了遞歸來執(zhí)行轉(zhuǎn)換。 使用XSLT的流行示例之一是將XML文件中存在的數(shù)據(jù)顯示為HTML頁面。 XSLT還可非常方便地將一個(gè)XML文件轉(zhuǎn)換為另一個(gè)XML文檔。
問題5:XML中的元素和屬性是什么?
答案:這可以用一個(gè)例子最好地解釋。 讓我們看一個(gè)簡(jiǎn)單的XML代碼段
<Orders><Order id="123"><Symbol> 6758.T</Symbol><Price> 2300</Price><Order> <Orders>在此示例XML id是 元件。 這里 , 和 也是其他元素,但它們沒有任何屬性。
問題6:格式正確的XML是什么意思?
答:另一個(gè)有趣的XML采訪問題 ,最常出現(xiàn)在電話采訪中。 格式正確的 XML表示語法上正確的XML文檔,例如,它具有根元素,所有打開的標(biāo)簽均已正確關(guān)閉,屬性用引號(hào)引起來。如果XML格式不正確,則可能無法通過各種方式正確處理和解析。 XML解析器。
為什么重要?
答:XML名稱空間類似于Java中的程序包 ,用于提供一種避免名稱相同但來源不同的xml標(biāo)記之間發(fā)生沖突的方法。 XML名稱空間是使用XML文檔頂部的xmlns屬性定義的,并且具有以下語法xmlns:prefix ='URI'。 之后,該前綴與XML文檔中的實(shí)際標(biāo)記一起使用。 這是使用XML名稱空間的示例:
<root xmlns:inst="http://instruments.com/inst"<inst:phone><inst:number>837363223</inst:number></inst:phone> </root>問題8:DOM和SAX解析器之間的區(qū)別?
答:這是另一個(gè)非常流行的XML采訪問題,不僅在XML世界中,而且在Java世界中。 DOM和SAX解析器之間的主要區(qū)別在于它們解析XML文檔的方式。 DOM在解析期間創(chuàng)建XML文檔的內(nèi)存樹表示形式,而SAX是事件驅(qū)動(dòng)的解析器。 有關(guān)此問題的更多詳細(xì)信息,請(qǐng)參見DOM與SAX解析器之間的區(qū)別 。
問題9:什么是XML中的CDATA部分?
答:我喜歡XML Interview的問題是因?yàn)樗暮?jiǎn)單性和重要性,但是許多程序員對(duì)此并不了解。 CDATA代表字符數(shù)據(jù),并具有XML解析器的特殊說明。 由于XML解析器解析XML文檔中的所有文本,例如<name>,這是人的名字</ name>,即使標(biāo)記<name>的值將被解析,因?yàn)樗赡馨琗ML標(biāo)記,例如<name> <firstname> Firstname < / firstname> </ name>。 XML解析器不解析CDATA節(jié)。 CDATA部分以“ <![CDATA [””開頭,并以“]]>結(jié)尾。
問題10:Java中的XML數(shù)據(jù)綁定是什么?
答:Java中的XML綁定是指從XML文檔創(chuàng)建Java類和對(duì)象,然后使用Java編程語言來修改XML文檔 。 JAXB,用于XML綁定的Java API提供了將XML文檔與Java對(duì)象綁定的便捷方法。 XML綁定的其他替代方法是使用開源庫,例如XML Beans。 Java中XML綁定的最大優(yōu)勢(shì)之一是利用Java編程功能來創(chuàng)建和修改XML文檔。
此XML Interview問答列表是從程序員那里收集的,但對(duì)從事XML技術(shù)工作的人很有用。 XPath,XSLT,XQuery等XML技術(shù)的重要性僅會(huì)由于XML的平臺(tái)無關(guān)性以及跨平臺(tái)傳輸數(shù)據(jù)的流行而增加。 盡管XML具有諸如冗長(zhǎng)和大小之類的缺點(diǎn),但是它在Web服務(wù)以及將數(shù)據(jù)從另一個(gè)系統(tǒng)傳輸?shù)搅硪粋€(gè)帶寬和速度都非常重要的系統(tǒng)中非常有用。
Javarevisited 上的其他面試問題文章排名前30位的UNIX和Linux命令面試問題–已回答
- 20個(gè)設(shè)計(jì)模式和軟件設(shè)計(jì)面試問題與答案
- 10個(gè)Oracle面試問題及答案
- 15個(gè)Java多線程面試問題以及在投資銀行中提出的答案
- 十大Java String面試問題–已回答
參考:來自Java的JCG合作伙伴 Javin Paul在Javarevisited博客上針對(duì)Java程序員的10個(gè)XML Interview問答 。
翻譯自: https://www.javacodegeeks.com/2013/01/10-xml-interview-questions-and-answers-for-java-programmer.html
總結(jié)
以上是生活随笔為你收集整理的Java程序员的10个XML面试问答的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iPhone 7S/7SP/8已全面开始
- 下一篇: 跳绳的正确姿势(跳绳的方法和技巧)