最新java后臺開發(fā)職位面試題總結(jié)

最新java后臺開發(fā)職位面試題總結(jié)

天津卓眾教育      2022-04-12 03:21:01     15

最新java后臺開發(fā)職位面試題總結(jié),  隨著互聯(lián)網(wǎng)的發(fā)展,從事java后臺開發(fā)的人不斷增多,那么面試java后臺開發(fā)的人都有碰到哪些java后臺面試問題呢?現(xiàn)在跟隨天津

課程價(jià)格 請咨詢

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

詳細(xì)介紹

  

隨著互聯(lián)網(wǎng)的發(fā)展,從事java后臺開發(fā)的人不斷增多,那么面試java后臺開發(fā)的人都有碰到哪些java后臺面試問題呢?現(xiàn)在跟隨天津卓眾教育java學(xué)院小編一起去了解一下吧。


  1. Arrays.sort實(shí)現(xiàn)原理和Collection實(shí)現(xiàn)原理


  答:Arrays.sort():快排


  Collections.sort() :MergeSort,后來變成了TimSort



  2. foreach和while的區(qū)別(編譯之后)


  答:foreach針對確定次數(shù);while不確定次數(shù)



  3. 線程池的種類,區(qū)別和使用場景


  答:newCachedThreadPool創(chuàng)建一個可緩存線程池,如果線程池長度超過處理需要,可靈活回收空閑線程,若無可回收,則新建線程。


  newFixedThreadPool 創(chuàng)建一個定長線程池,可控制線程最大并發(fā)數(shù),超出的線程會在隊(duì)列中等待。


  newScheduledThreadPool 創(chuàng)建一個定長線程池,支持定時(shí)及周期性任務(wù)執(zhí)行。


  newSingleThreadExecutor 創(chuàng)建一個單線程化的線程池,它只會用唯一的工作線程來執(zhí)行任務(wù),保證所有任務(wù)按照指定順序(FIFO, LIFO, 優(yōu)先級)執(zhí)行。



  4. 線程池如何調(diào)優(yōu)


  答:使用線程池的核心問題在于應(yīng)該使用多少線程。利特爾法則、拆分線程池



  5. 線程池的最大線程數(shù)目根據(jù)什么確定


  答:corePoolSize: tasks*tasktime個線程數(shù)


  queueCapacity: corePoolSize/tasktime)*responsetime


  maxPoolSize: (每秒任務(wù)-queueCapacity)*(每秒單個線程處理任務(wù)數(shù)量)



  6. 動態(tài)代理的幾種方式


  答:代理模式的作用是:為其他對象提供一種代理以控制對這個對象的訪問。在某些情況下,一個客戶不想或者不能直接引用另一個對象,而代理對象可以在客戶端和目標(biāo)對象之間起到中介的作用。


  動態(tài)代理:在程序運(yùn)行時(shí),運(yùn)用反射機(jī)制動態(tài)創(chuàng)建而成。每一個動態(tài)代理類都必須要實(shí)現(xiàn)InvocationHandler這個接口。


  jdk動態(tài)代理:jdk動態(tài)代理是由Java內(nèi)部的反射機(jī)制來實(shí)現(xiàn)的,應(yīng)用前提,必須是目標(biāo)類基于統(tǒng)一的接口


  cglib動態(tài)代理:動態(tài)代理框架,借助asm來實(shí)現(xiàn)的


  更多關(guān)于java后臺開發(fā)的相關(guān)面試題,請繼續(xù)關(guān)注天津卓眾教育java學(xué)院官網(wǎng),會有更多精彩內(nèi)容與您分享。



培訓(xùn)啦提醒您:交易時(shí)請核實(shí)對方資質(zhì),對于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。