2017java程序員面試題及參考答案
2017java程序員面試題及參考答案
回答面試題是java程序員個(gè)人求職者在求職面試過(guò)程中必須完成的環(huán)節(jié)。下面是學(xué)習(xí)啦小編為大家?guī)?lái)的2017java程序員面試題,相信對(duì)你會(huì)有幫助的。
2017java程序員面試題及答案
問(wèn)題1:XML是什么?
答:XML即可擴(kuò)展標(biāo)記語(yǔ)言(Extensible Markup language),你可以根據(jù)自己的需要擴(kuò)展XML。XML中可以輕松定義, 等自定義標(biāo)簽,而在HTML等其他標(biāo)記語(yǔ)言中必須使用預(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è)級(jí)應(yīng)用的客戶端與服務(wù)端。
問(wèn)題2:DTD與XML Schema有什么區(qū)別?
答:DTD與XML Schema有以下區(qū)別:DTD不使用XML編寫而XML Schema本身就是xml文件,這意味著XML解析器等已有的XML工具可以用來(lái)處理XML Schema。而且XML Schema 是設(shè)計(jì)于DTD之后的,它提供了更多的類型來(lái)映射xml文件不同的數(shù)據(jù)類型。DTD即文檔類型描述(Document Type definition)是定義XML文件結(jié)構(gòu)的傳統(tǒng)方式。
問(wèn)題3:XPath是什么?
答:XPath是用于從XML文檔檢索元素的XML技術(shù)。XML文檔是結(jié)構(gòu)化的,因此XPath可以從XML文件定位和檢索元素、屬性或值。從數(shù)據(jù)檢索方面來(lái)說(shuō),XPath與SQL很相似,但是它有自己的語(yǔ)法和規(guī)則。了解更多查看怎樣使用XPath從XML文檔中檢索數(shù)據(jù)。
問(wèn)題4:XSLT是什么?
答:XSLT也是常用的XML技術(shù),用于將一個(gè)XML文件轉(zhuǎn)換為另一種XML,HTML或者其他的格式。XSLT為轉(zhuǎn)換XML文件詳細(xì)定義了自己的語(yǔ)法,函數(shù)和操作符。通常由XSLT引擎完成轉(zhuǎn)換,XSLT引擎讀取XSLT語(yǔ)法編寫的XML樣式表或者XSL文件的指令。XSLT大量使用遞歸來(lái)執(zhí)行轉(zhuǎn)換。一個(gè)常見XSLT使用就是將XML文件中的數(shù)據(jù)作為HTML頁(yè)面顯示。XSLT也可以很方便地把一種XML文件轉(zhuǎn)換為另一種XML文檔。
問(wèn)題5:什么是XML元素和屬性
答:最好舉個(gè)例子來(lái)解釋。下面是簡(jiǎn)單的XML片斷。
6758.T
2300
例子中id是元素的一個(gè)屬性,其他元素都沒有屬性。
問(wèn)題6:什么是格式良好的XML
答:這個(gè)問(wèn)題經(jīng)常在電話面試中出現(xiàn)。一個(gè)格式良好的XML意味著該XML文檔語(yǔ)法上是正確的,比如它有一個(gè)根元素,所有的開放標(biāo)簽合適地閉合,屬性值必須加引號(hào)等等。如果一個(gè)XML不是格式良好的,那么它可能不能被各種XML解析器正確地處理和解析。
問(wèn)題7:XML命名空間是什么?它為什么很重要?
837363223
問(wèn)題8:DOM和SAX解析器有什么區(qū)別
答:這又是一道常見面試題,不僅出現(xiàn)在XML面試題中,在Java面試中也會(huì)問(wèn)到。DOM和SAX解析器的主要區(qū)別在于它們解析XML文檔的方式。使用DOM解析時(shí),XML文檔以樹形結(jié)構(gòu)的形式加載到內(nèi)存中,而SAX是事件驅(qū)動(dòng)的解析器。這個(gè)問(wèn)題更詳細(xì)的回答查看DOM和SAX解析器之間的區(qū)別。
問(wèn)題9:XML CDATA是什么
答:這道題很簡(jiǎn)單也很重要,但很多編程人員對(duì)它的了解并不深。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部分以結(jié)束。
問(wèn)題10:Java的XML數(shù)據(jù)綁定是什么
答:Java的XML綁定指從XML文件中創(chuàng)建類和對(duì)象,使用Java編程語(yǔ)言修改XML文檔。XML綁定的Java API,JAXB提供了綁定XML文檔和Java對(duì)象的便利方式。另一個(gè)可選的XML綁定方法是使用開源庫(kù),比如XML Beans。Java中XML綁定的一個(gè)最大的優(yōu)勢(shì)就是利用Java編程能力創(chuàng)建和修改XML文檔。
以上的XML面試問(wèn)答題收集自很多編程人員,但它們對(duì)于使用XML技術(shù)的每個(gè)人都是有用的。由于XML具有平臺(tái)獨(dú)立的特性,XPath,XSLT,XQuery等XML技術(shù)越來(lái)越重要,XML廣泛用于跨平臺(tái)數(shù)據(jù)傳輸。盡管XML有冗余和文檔體積大等缺點(diǎn),但它在web服務(wù)以及帶寬、速率作為次要考慮因素的系統(tǒng)間數(shù)據(jù)傳輸起很大作用。
2017java程序員面試的知識(shí)點(diǎn)
一、基本數(shù)據(jù)結(jié)構(gòu)
1. 隊(duì)列和棧的區(qū)別和常用操作
2. 隊(duì)列的實(shí)現(xiàn)方式(單向鏈表、雙向鏈表)
3. 基于隊(duì)列的算法(主要是排序算法:歸并排序,二分法插入排序可以做重點(diǎn)(這兩個(gè)排序通常會(huì)被用來(lái)做動(dòng)態(tài)有序隊(duì)列的維護(hù))。至于快速排序,基本上都用現(xiàn)成的程序庫(kù),不需要掌握)
4. 圖的基本概念 (有向圖,無(wú)向圖)
5. 圖的基本表達(dá)方法(鄰接矩陣,鏈接表)
6. 圖的基本算法
a) 最短路徑Dijstra
b) 最小生成樹 Prim
7. 樹的基本概念(二叉樹,平衡樹,森林)
8. 樹的基本表達(dá)方法
9. 樹的相關(guān)算法
a) 遍歷算法(深度優(yōu)先、廣度優(yōu)先)構(gòu)
b) 平衡樹(B樹)
c) 其他算法(Haffman樹)
數(shù)據(jù)庫(kù):資料下載
點(diǎn)擊下頁(yè)還有更多>>>2017java程序員面試知識(shí)點(diǎn)