2020年高級Java工程師面試題寶典,在面試時,應(yīng)當(dāng)綜合準備java Core,數(shù)據(jù)庫,框架,分布式等方面的題目。我發(fā)現(xiàn)不少面試者走了彎路,他們或者干脆不準備,準備時可能方法不到位,單準備一個方面。比如只準備了算法題,在這方面回答很好,但其它方面就一無所知了。
所以說,沒有所謂的一定能成功的面試秘籍,但有可以幫助提升成功率的準備方法。
切記,面試前一定得準備,否則成功的可能性很低,準備時,得綜合看各方面的點。至于每個點要到什么程度,后文會講到。
架構(gòu)方面需要準備的點
熟悉SSM架構(gòu),至少在項目里
Spring Bean的周期
最好能通過閱讀源代碼,說下IOC,AOP以及Spring MVC的工作流程
最好能結(jié)合反射,說下IOC等的實現(xiàn)原理
Spring Boot和Spring Cloud的一些知識點
數(shù)據(jù)庫方面需要準備的點
不少候選人會看很多SQL的技巧,比如select該怎么寫,insert又該怎么寫,但僅限于此,不會再準備其它的。
這樣就很吃虧,因為面試官會認為,哪怕是初級開發(fā),SQL語句也該會寫,所以這塊不會多問,而會問如下方面的問題。
索引怎么建的,怎么用的?比如我建好了一個索引,在where語句里寫name like'123%'會不會走索引,怎么情況下不該建索引,哪些語句不會走索引。
除了索引之外,你有過哪些SQL優(yōu)化方面的經(jīng)驗,比如分庫分表,或通過執(zhí)行計劃查看SQL的優(yōu)化點。這最好是能結(jié)合你做的項目實際來講。
這里,大概有70%的面試者只知道基本SQL的寫法,所以哪怕你是只有理論經(jīng)驗,會說一些優(yōu)化點,也是非常有利的。
這塊對于高級開發(fā)而言,更得了解優(yōu)化方面的技能。
集合方面
Set如何實現(xiàn)防重的,比如TreeSet和HashSet等。
Collection的一些方法,比如比較方法,包裝成線程安全的方法等。
可能有些面試官會問,如何通過ArrayList實現(xiàn)隊列或堆棧,這個可以準備下。
多線程方面
其實在項目里不怎么會用到,但會問如下的問題:
synchronized和可重入鎖的差別,然后可能會順便問下信號量等防并發(fā)的機制。
在線程里該如何返回值,其實就是callable runnable區(qū)別。
一定得通過ThreadLocal或volatile關(guān)鍵字,來說明線程的內(nèi)存模型。
線程池方面,會用,了解些常用參數(shù)
線程方面,可能問得比較多的就是并發(fā)機制,高級開發(fā),會問得很深
架構(gòu)方面
能證明自己可以干活(這不難),同時能結(jié)合底層代碼說出IOC,AOP或SpringMVC的流程,只要能說出一個即可?;蛘吣苷f出攔截器,Controller等的高級用法。
能證明自己有Spring Boot或Spring Cloud的經(jīng)驗,比如能說出些Spring Cloud組件的用法。
如果能證明自己有分布式開發(fā)的經(jīng)驗,那最好了,其實這不難證明,比如能說出服務(wù)的包是放在多臺機器上(大多數(shù)公司其實都這樣),而且能說出如何部署,如何通過nginx等做到負載均衡。
以上就是天津卓眾教育java培訓(xùn)機構(gòu)的小編針對“2020年高級Java工程師面試題寶典”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
Java面試題