大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 如何準備Java初級和高級的技術面試?

如何準備Java初級和高級的技術面試?

更新時間:2019-09-04 14:24:46 來源:動力節點 瀏覽2437次

最近幾年做Java后端方面的朋友越來越多,而在最近兩周,又密集了面試了一些Java初級和高級開發的候選人,在面試過程中,小編自認為比較慎重,遇到問題回答不好的候選人,我總會再三從不同方面提問,只有當反復確認能力不行才會下結論。

  相反,如果候選人給我的印象不錯,我也會從多個角度來衡量,以免招進會說但不會干活的“大忽悠”。

  其實倒也不是我故意要為難候選人,畢竟入職后就是同事,但面試官的職責使然,而且,如果資深的面試官一般也這樣。

  寫到這里,恐怕會嚇到一些想要面試的朋友,能力強和能力弱都會被多問,那怎么辦?

  這就是本文將要講到的主題:如何準備Java初級和高級的技術面試。

QQ截圖20190702113743.jpg

  一.換位思考下,如果你是面試官,你會怎么做

  1.只能通過簡歷和面試來衡量,別無他法。如果某位大牛確認能力很行,但面試時無法充分地自證能力,那對不起了,過不了,現實就這樣。

  2.如果面試官由于能力不行,招進來一個大忽悠,那估計會被領導罵。而且再也不會被讓面試了,給領導的印象就不好了。所以不能評主觀印象,而是會有些客觀標準,具體而言,就是從多個方面問些題目,答好答壞就看候選人的。

  其實一些題目都差不多,但不同能力的面試官問問題的切入點和漸進程度會不同,而且有經驗的面試官會挖掘候選人的優勢,并能從候選人的說辭中判斷候選人是真懂還是忽悠。

  二.總體上說下準備面試的幾個方面點

  記得之前考政治,某個大題10分,分5個點,每個點的標準答案不多,也就一兩句話。比較取巧的做法是,涵蓋點要全,每個點無需多說,但要說到點子上。相反,如果在某個點做得再多,其它點沒覆蓋到,只能拿這個點的分。

  同理,在面試時,應當綜合準備javaCore,數據庫,框架,分布式等方面的題目。根據我面試的結果,我發現不少候選人走了彎路,他們或者干脆不準備,準備時可能方法不到位,單準備一個方面。比如只準備了算法題,在這方面回答很好,但其它方面就一無所知了。

  所以說,沒有所謂的一定能成功的面試秘籍,但有可以幫助提升成功率的準備方法。

  切記,面試前一定得準備,否則成功的可能性很低,準備時,得綜合看各方面的點。至于每個點要到什么程度,后文會講到。

  三.架構方面需要準備的點

  初級開發而言,需要讓面試官感覺出如下的要點。

  1.熟悉SSM架構,至少在項目里做過。

  這個的說法是,介紹項目時,用一個業務流程來說springmvc如何做的。

  2.知道SpringMVC中的細節,比如@Autowired的用法,如何把url映射到Controller上,ModelAndView對象返回的方式等。

  3.最好結合項目的用法,說下你是怎么用AOP,攔截器的,比如說可以通過攔截器攔截非法請求,怎么用AOP輸出日志等。

  4.關于ORM方面,不限用過哪種,但得知道一對一,一多多,多對多等的用法,以及cascade和inverse的用法。

  5.最好知道聲明式事務的做法。

  如果你要應聘高級開發,那在上述基礎上,最好了解如下的知識點:

  SpringBean的周期

  最好能通過閱讀源代碼,說下IOC,AOP以及SpringMVC的工作流程

  最好能結合反射,說下IOC等的實現原理

  SpringBoot和SpringCloud的一些知識點

  四.數據庫方面需要準備的點

  不少候選人會看很多SQL的技巧,比如select該怎么寫,insert又該怎么寫,但僅限于此,不會再準備其它的。

  這樣就很吃虧,因為面試官會認為,哪怕是初級開發,SQL語句也該會寫,所以這塊不會多問,而會問如下方面的問題。

  1.索引怎么建的,怎么用的?比如我建好了一個索引,在where語句里寫namelike'123%'會不會走索引,怎么情況下不該建索引,哪些語句不會走索引。

  2.除了索引之外,你有過哪些SQL優化方面的經驗,比如分庫分表,或通過執行計劃查看SQL的優化點。這最好是能結合你做的項目實際來講。

  這里,我面試下來,大概有70%的候選人只知道基本SQL的寫法,所以哪怕你是只有理論經驗,會說一些優化點,也是非常有利的。

  這塊對于高級開發而言,更得了解優化方面的技能。

  五.JavaCore方面需要準備的點

  這塊是基礎,其實很多問的問題,候選人一定會在項目里用到,但很少能說好說全。

  這塊主要會從集合,多線程,異常處理流程以及JVM虛擬機這些方面來問。

  集合方面:

  1.hashcode有沒有重寫過?在什么場景下需要重寫。如果可以,結合hash表的算法,說下hashmap的實現原理。

  對于高級開發而言,最好通過ConcurrentHashMap來說明下并發方面的底層實現代碼。

  2.ArrayList,LinkedList的差別,比如一個基于數組,一個基于鏈表,它們均是線程不安全的,ArrayList的擴容做法等。

  對于高級而言,最好看下底層的代碼。

  3.Set如何實現防重的,比如TreeSet和HashSet等。

  4.Collection的一些方法,比如比較方法,包裝成線程安全的方法等。

  5.可能有些面試官會問,如何通過ArrayList實現隊列或堆棧,這個可以準備下。

  多線程方面,其實在項目里不怎么會用到,但會問如下的問題:

  1.synchronized和可重入鎖的差別,然后可能會順便問下信號量等防并發的機制。

  2.在線程里該如何返回值,其實就是callablerunnable區別。

  3.一定得通過ThreadLocal或volatile關鍵字,來說明線程的內存模型。

  4.線程池方面,會用,了解些常用參數

  線程方面,可能問得比較多的就是并發機制,如果是高級開發,可能會問得深些。

  虛擬機方面

  1.結構圖和流程可以大致說下。

  2.一定得了解針對堆的垃圾回收機制,具體而言,可以畫個圖,說下年輕代年老代等。

  3.說下垃圾回收的流程,然后針對性地說下如何在代碼中優化內存性能。

  4.最好說下如果出現了OOM異常,該怎么排查?如何看Dump文件。

  5.GC的一些概念,比如強弱軟引用,finalize方法等,這些可以準備下。在Java技術棧微信公眾號后臺回復:Java,可以閱讀Java核心技術知識點。

  六.算法,設計模式等,其實是虛的

  這塊好準備,不過話說哪怕這些沒回答好,但能證明有相關技能的項目經驗,一般也會讓過。

  不過在這塊,不少候選人就本末倒置了,比如就準備算法,設計模式,剛才提到的框架,數據庫和JavaCore方面就不準備了。這樣很吃虧,就好比考政治只復習了一個點,其它一點也不準備。

  七.我面試的感受&聽到哪類回答就能證明候選人比較資深

  1.大多數的候選人(大概7成)直接就來了,不做任何準備。要知道,面試和項目其實有些脫節,哪怕項目做得再好,不做準備照樣通不過,只要我確認過這類人確實無法達標,我拒掉他們沒任何心理負擔,誰讓他們不準備?

  2.還有些候選人態度很好,明顯準備過,但沒準備到位,比如像剛才所說,只準備了算法,或者在JavaCore方面,只看了集合方面的面試題。對于這些同學,哪怕是過了,我也會感到惋惜,畢竟如果面試好些的話,工資也能更高些,至于哪些過不了的,我敢說,如果他們準備過,估計就不是這個結果了。

  其實我也知道,人無完人,哪怕我自己去面試,也不可能面面俱到,所以,我不會要求候選人什么問題都能回答出,甚至大多答錯也沒關系,只要能證明自己的能力即可通過面試。

  我也和不少面試官交流過,根據我們的經驗,如果候選人能說出如下的知識點,即能證明他在這個領域比較資深了,在這塊,我可能就不會過多地問問題了。

  架構方面

  1.能證明自己可以干活(這不難),同時能結合底層代碼說出IOC,AOP或SpringMVC的流程,只要能說出一個即可。或者能說出攔截器,Controller等的高級用法。

  2.能證明自己有SpringBoot或SpringCloud的經驗,比如能說出些SpringCloud組件的用法。

  3.如果能證明自己有分布式開發的經驗,那最好了,其實這不難證明,比如能說出服務的包是放在多臺機器上(大多數公司其實都這樣),而且能說出如何部署,如何通過nginx等做到負載均衡。

  數據庫方面,其實講清楚一個問題即可:如何進行SQL調優,比如通過索引,看執行計劃即可,如果有其它的優化點,說清楚即可。

  JavaCore方面,這里給出些訣竅:

  1.能結合ConcurrentHashMap的源代碼,說出final,volatile,transient的用法,以及在其中如何用Lock對象防止寫并發。

  2.結合一個項目實際,說下設計模式的實踐。

  3.多線程方面,能說出Lock或volatile等高級知識點的用法。

  4.這塊最取巧:說下GC的流程,以及如何通過日志和Dump文件排查OOM異常,如果再高級些的話,說下如何在代碼中優化內存代碼。

  訣竅點歸結成一個:能結合源代碼或項目實際,說出些比較資深的問題。在java技術棧微信公眾號后臺回復:多線程,可以閱讀Java多線程技術文章。

  八.本文的側重點

  本文的側重點是:

  面試一定得準備(重要的話說三遍,這里已經超過3遍了)

  更多Java面試題,登錄動力節點IT培訓官網http://www.dabaquan.cn/tutorial_baseinterviewquestions/

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产成人精品日本 | 免费国产97久久青草 | 四虎影在线永久免费观看 | 夜夜嗨影院 | 免费视频一级片 | 久久久成人网 | 日本一区不卡视频 | 亚洲狠狠色丁香婷婷综合 | 婷婷综合五月中文字幕欧美 | 四虎影视永久地址www成人 | 夜色福利久久久久久777777 | 久久影院中文字幕 | 橘梨纱视频一区二区在线观看 | 亚洲无线码一区在线观看 | 99精品热线在线观看免费视频 | 麻豆a | 国产成人精品综合 | 日本中文字幕在线精品 | 日本视频在线观看不卡高清免费 | 久久免费视频在线观看30 | 亚洲图片一区二区 | 日韩欧美黄色大片 | 国产在线美女 | 97精品国产手机 | 人人草人人干 | 国内福利视频 | 最近在线更新中文字幕1 | 天天摸夜夜摸爽爽狠狠婷婷97 | 一级片在线观看视频 | 日韩欧美理论片 | 天天色综合色 | 亚洲一级免费毛片 | 亚洲人成影院在线高清 | 欧美日韩高清观看一区二区 | 国产成人精品一区二区 | 毛片推荐 | 全部免费毛片在线 | 狠干在线| 天天干天天操天天 | 欧美激情久久久久久久大片 | 亚洲一区二区三区四区五区 |