Java高級工程師面試題及答案

Java高級工程師面試題及答案

天津卓眾教育      2022-05-04 17:49:01     50

Java高級工程師面試題及答案,  1、SpringMVC的原理以及返回數(shù)據(jù)如何渲染到j(luò)sp/html上?  答:SpringMVC的核心就是DispatcherServlet,一個請求經(jīng)過Dispat

課程價格 請咨詢

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

詳細介紹


  1、SpringMVC的原理以及返回數(shù)據(jù)如何渲染到j(luò)sp/html上?


  答:SpringMVC的核心就是DispatcherServlet,一個請求經(jīng)過DispatcherServlet,轉(zhuǎn)發(fā)給HandlerMapping,然后經(jīng)反射,對應Controller及其里面方法的@RequestMapping地址,最后經(jīng)ModelAndView和ViewResoler返回給對應視圖。


  2、一個類對象屬性發(fā)生改變時,如何讓調(diào)用者知道?


  答:,即在set方法改變屬性時,觸發(fā),這種模式也可以理解為觀察者模式


  3、重寫equals為何要重寫hashCode?


  答:判斷兩個對象是否相等,比較的就是其hashCode,如果你重載了equals,比如說是基于對象的內(nèi)容實現(xiàn)的,而保留hashCode的實現(xiàn)不變,那么很可能某兩個對象明明是“相等”,而hashCode卻不一樣。hashcode不一樣,就無法認定兩個對象相等了


  4、談談你對JVM的理解?


  答:Java語言的一個非常重要的特點就是與平臺的無關(guān)性。而使用Java虛擬機是實現(xiàn)這一特點的關(guān)鍵。Java編譯器只要面向JVM,生成JVM能理解的代碼或字節(jié)碼文件。Java源文件經(jīng)編譯成字節(jié)碼程序,通過JVM將每一條指令翻譯成不同平臺機器碼,通過特定平臺運行。


  JVM執(zhí)行程序的過程:I.加載。class文件,II.管理并分配內(nèi)存,III.執(zhí)行垃圾收集


  JRE(java運行時環(huán)境)由JVM構(gòu)造的java程序的運行環(huán)境


  5、Mysql的事物隔離級別?


  答:Mysql的事物隔離級別其實跟Spring的事物隔離級別一樣,都是1、ReadUncommitted(讀取未提交內(nèi)容),2、ReadCommitted(讀取提交內(nèi)容),3、RepeatableRead(可重讀),4、Serializable(可串行化)


  6、Spring的原理


  答:Spring的核心是IOC和AOP,IOC是依賴注入和控制反轉(zhuǎn),其注入方式可分為set注入、構(gòu)造器注入、接口注入等等。IOC就是一個容器,負責實例化、定位、配置應用程序中的對象及建立這些對象間的依賴。簡單理解就是:JAVA每個業(yè)務邏輯處理至少需要兩個或者以上的對象協(xié)作進行工作,但是每個對象在使用它的合作對象的時候,都需要頻繁的new對象來實現(xiàn),你就會發(fā)現(xiàn),對象間的耦合度高了。而IOC的思想是:Spring容器來管理這些,對象只需要處理本身業(yè)務關(guān)系就好了。至于什么是控制反轉(zhuǎn),就是獲得依賴對象的方式反轉(zhuǎn)了。


  AOP呢,面向切面編程,最直接的體現(xiàn)就是Spring事物管理。至于Spring事物的相關(guān)資料,就不細說了


  7、談談你對NIO的理解


  答:IO是面向流,NIO是面向緩沖,這里不細講了,具體參照:


  8、ArrayList和linkedList、Vector的區(qū)別?


  答:總得來說可以理解為:.


  1.ArrayList是實現(xiàn)了基于動態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu),linkedList基于鏈表的數(shù)據(jù)結(jié)構(gòu)。


  2.對于隨機訪問get和set,ArrayList覺得優(yōu)于linkedList,因為linkedList要移動指針。


  3.對于新增和刪除操作add和remove,LinedList比較占優(yōu)勢,因為ArrayList要移動數(shù)據(jù)


  Vector和ArrayList類似,但屬于強同步類,即線程安全的


  9、隨便說說幾個單例模式,并選擇一種線程安全的


  答:單例的類別:懶漢、餓漢、枚舉、靜態(tài)內(nèi)部類、雙重校驗鎖等等,選擇線程安全我選最后一種,雙重校驗鎖。


  10、談談紅黑樹


  答:算法和數(shù)據(jù)結(jié)構(gòu)一直是我薄弱之處,這方面說自己補吧,成效不大



      以上就是天津卓眾教育Java培訓機構(gòu)小編介紹的“Java高級工程師面試題及答案”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。


Java面試題及答案 Java筆試題

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