2020年五道Java高級程序員面試題

2020年五道Java高級程序員面試題

長沙一度軟件培訓      2022-05-07 06:00:01     195

2020年五道Java高級程序員面試題,  1、XML技術的作用?  XML技術用于數(shù)據(jù)存儲、  信息配置、  數(shù)據(jù)交換三方面。  可以將數(shù)據(jù)存儲在XML中,  通過節(jié)點

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細介紹


  1、XML技術的作用?


  XML技術用于數(shù)據(jù)存儲、


  信息配置、


  數(shù)據(jù)交換三方面。


  可以將數(shù)據(jù)存儲在XML中,


  通過節(jié)點、


  元素內容、


  屬性標示數(shù)據(jù)內容及關系。


  可以使用XML很方便的做信息配置,


  軟件的各種配置參數(shù)和對象關系


  都存貯在XML文件中。


  在做數(shù)據(jù)交換平臺時,


  將數(shù)據(jù)組裝成XML文件,


  然后將XML文件壓縮打包加密后


  通過網(wǎng)絡傳送給接收者,


  接收解密與解壓縮后再同XML文件中


  還原相關信息進行處理。


  2.XML文檔約束有哪幾種?有什么區(qū)別?


  有兩種定義形式,


  dtd文檔類型定義和SchemaXML模式;


  XMLSchema和DTD都用于文檔驗證,


  但二者還有一定的區(qū)別,


  本質區(qū)別是:Scheme本身是xml的,


  可以被XML解析器解析,


  這也是從DTD上發(fā)展Schema的根本目的。


  另外,


  XMLSchema是內容開放模型,


  可擴展,功能性強,


  而DTD可擴展性差。


  XMLSchema支持豐富的數(shù)據(jù)類型,


  而DTD不支持元素的數(shù)據(jù)類型,


  對屬性的類型定義也很有限。


  XMLSchema支持命名空間機制,


  而DTD不支持。


  XMLSchema可針對不同情況


  對整個XML文檔或文檔局部進行驗證;


  而DTD缺乏這種靈活性。


  XMLSchema完全遵循XML規(guī)范,


  符合XML語法,


  可以和DOM結合使用,


  功能強大;


  而DTD語法本身有自身的語法和要求,


  難以學習。


  3.XML的解析方式有哪幾種?有什么區(qū)別?


  1.DOM解析:


  DOM的全稱是documentObjectModel,


  也即文檔對象模型。


  在應用程序中,


  基于DOM的XML分析器


  將一個XML文檔轉換成


  一個對象模型的集合(通常稱DOM樹),


  應用程序正是通過對


  這個對象模型的操作,


  來實現(xiàn)對XML文檔數(shù)據(jù)的操作。


  通過DOM接口,


  應用程序可以在任何時候


  訪問XML文檔中的任何一部分數(shù)據(jù),


  因此,這種利用DOM接口的機制


  也被稱作隨機訪問機制。


  2.SAX解析:


  SAX的全稱是SimpleAPIsforXML,


  也即XML簡單應用程序接口。


  與DOM不同,


  SAX提供的訪問模式是一種順序模式,


  這是一種快速讀寫XML數(shù)據(jù)的方式。


  當使用SAX分析器對XML文檔進行分析時,


  會觸發(fā)一系列事件,


  并激活相應的事件處理函數(shù),


  應用程序通過這些事件處理函數(shù)


  實現(xiàn)對XML文檔的訪問,


  因而SAX接口也被稱作事件驅動接口。


  3.JDOM解析:


  JDOM采用了Java中的Collection架構來封裝集合,


  是Java愛好者更加熟悉的模式


  4.DOM4J解析:


  xml解析器一次性把整個xml文檔加載進內存,


  然后在內存中構建一顆document的對象樹,


  通過document對象,


  得到樹上的節(jié)點對象,


  通過節(jié)點對象訪問(操作)到xml文檔的內容


  4.Http請求的Get和Post的區(qū)別?


  1.get從地址欄以明文的方式提交請求


  信息內容


  ?username=admin&password=123,


  用戶可見,


  而post從請求正文提交請求信息內容,


  用戶不可見。


  2.get提交因為是從地址欄傳遞,


  而瀏覽器的地址欄長度有限制,


  不能提交大數(shù)據(jù)


  post從請求正文傳遞信息內容,


  對文件大小無限制,


  文件上傳只能選擇post


  3.request對象是服務器獲取請求信息


  從請求頭,請求正文中獲取


  我們可以使用request.setCharacterEncoding方法


  修改請求對象字符編碼信息,


  但是不能修改地址欄字符編碼。


  get從地址欄傳遞信息,


  不能使用request.setCharacterEncoding這個方法


  去修改字符編碼。


  post從請求正文以form表單形式提交,


  所以可以使用request.setCharacterEncoding


  這個方法去修改字符編碼。


  4.總結:能夠使用post提交盡量使用post提交。


  5.ServletConfig對象和ServletContext對象有什么區(qū)別?


  一個Servlet對應有一個ServletConfig對象,


  可以用來讀取初始化參數(shù)。


  一個webapp對應一個ServletContext對象。


  ServletContext對象


  獲取初始化定義的參數(shù)。


  ServletContext對象可以通過


  context.getResourceAsStream("/PATH");


  或者context.getRealPath("/")。


  去獲取webapp的資源文件。


  ServletContext對象的


  setAttribute(Stringname,Objecto)方法


  可以將對象存儲在Context作用范圍域


  又稱為全局作用范圍域,


  在整個web應用當中可以共享.


  ServletContext對象


  可以和服務器進行通訊,


  比如寫信息到服務器的日志信息當中。。



    以上就是長沙一度軟件培訓Java培訓機構小編介紹的“2020年五道Java高級程序員面試題”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。


Java面試題

培訓啦提醒您:交易時請核實對方資質,對于過大宣傳或承諾需謹慎!任何要求預付定金、匯款等方式均存在風險,謹防上當。