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

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) 如何準(zhǔn)備Java初級(jí)和高級(jí)的技術(shù)面試?

如何準(zhǔn)備Java初級(jí)和高級(jí)的技術(shù)面試?

更新時(shí)間:2019-09-04 14:24:46 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2382次

最近幾年做Java后端方面的朋友越來(lái)越多,而在最近兩周,又密集了面試了一些Java初級(jí)和高級(jí)開發(fā)的候選人,在面試過(guò)程中,小編自認(rèn)為比較慎重,遇到問題回答不好的候選人,我總會(huì)再三從不同方面提問,只有當(dāng)反復(fù)確認(rèn)能力不行才會(huì)下結(jié)論。

  相反,如果候選人給我的印象不錯(cuò),我也會(huì)從多個(gè)角度來(lái)衡量,以免招進(jìn)會(huì)說(shuō)但不會(huì)干活的“大忽悠”。

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

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

  這就是本文將要講到的主題:如何準(zhǔn)備Java初級(jí)和高級(jí)的技術(shù)面試。

QQ截圖20190702113743.jpg

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

  1.只能通過(guò)簡(jiǎn)歷和面試來(lái)衡量,別無(wú)他法。如果某位大牛確認(rèn)能力很行,但面試時(shí)無(wú)法充分地自證能力,那對(duì)不起了,過(guò)不了,現(xiàn)實(shí)就這樣。

  2.如果面試官由于能力不行,招進(jìn)來(lái)一個(gè)大忽悠,那估計(jì)會(huì)被領(lǐng)導(dǎo)罵。而且再也不會(huì)被讓面試了,給領(lǐng)導(dǎo)的印象就不好了。所以不能評(píng)主觀印象,而是會(huì)有些客觀標(biāo)準(zhǔn),具體而言,就是從多個(gè)方面問些題目,答好答壞就看候選人的。

  其實(shí)一些題目都差不多,但不同能力的面試官問問題的切入點(diǎn)和漸進(jìn)程度會(huì)不同,而且有經(jīng)驗(yàn)的面試官會(huì)挖掘候選人的優(yōu)勢(shì),并能從候選人的說(shuō)辭中判斷候選人是真懂還是忽悠。

  二.總體上說(shuō)下準(zhǔn)備面試的幾個(gè)方面點(diǎn)

  記得之前考政治,某個(gè)大題10分,分5個(gè)點(diǎn),每個(gè)點(diǎn)的標(biāo)準(zhǔn)答案不多,也就一兩句話。比較取巧的做法是,涵蓋點(diǎn)要全,每個(gè)點(diǎn)無(wú)需多說(shuō),但要說(shuō)到點(diǎn)子上。相反,如果在某個(gè)點(diǎn)做得再多,其它點(diǎn)沒覆蓋到,只能拿這個(gè)點(diǎn)的分。

  同理,在面試時(shí),應(yīng)當(dāng)綜合準(zhǔn)備javaCore,數(shù)據(jù)庫(kù),框架,分布式等方面的題目。根據(jù)我面試的結(jié)果,我發(fā)現(xiàn)不少候選人走了彎路,他們或者干脆不準(zhǔn)備,準(zhǔn)備時(shí)可能方法不到位,單準(zhǔn)備一個(gè)方面。比如只準(zhǔn)備了算法題,在這方面回答很好,但其它方面就一無(wú)所知了。

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

  切記,面試前一定得準(zhǔn)備,否則成功的可能性很低,準(zhǔn)備時(shí),得綜合看各方面的點(diǎn)。至于每個(gè)點(diǎn)要到什么程度,后文會(huì)講到。

  三.架構(gòu)方面需要準(zhǔn)備的點(diǎn)

  初級(jí)開發(fā)而言,需要讓面試官感覺出如下的要點(diǎn)。

  1.熟悉SSM架構(gòu),至少在項(xiàng)目里做過(guò)。

  這個(gè)的說(shuō)法是,介紹項(xiàng)目時(shí),用一個(gè)業(yè)務(wù)流程來(lái)說(shuō)springmvc如何做的。

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

  3.最好結(jié)合項(xiàng)目的用法,說(shuō)下你是怎么用AOP,攔截器的,比如說(shuō)可以通過(guò)攔截器攔截非法請(qǐng)求,怎么用AOP輸出日志等。

  4.關(guān)于ORM方面,不限用過(guò)哪種,但得知道一對(duì)一,一多多,多對(duì)多等的用法,以及cascade和inverse的用法。

  5.最好知道聲明式事務(wù)的做法。

  如果你要應(yīng)聘高級(jí)開發(fā),那在上述基礎(chǔ)上,最好了解如下的知識(shí)點(diǎn):

  SpringBean的周期

  最好能通過(guò)閱讀源代碼,說(shuō)下IOC,AOP以及SpringMVC的工作流程

  最好能結(jié)合反射,說(shuō)下IOC等的實(shí)現(xiàn)原理

  SpringBoot和SpringCloud的一些知識(shí)點(diǎn)

  四.數(shù)據(jù)庫(kù)方面需要準(zhǔn)備的點(diǎn)

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

  這樣就很吃虧,因?yàn)槊嬖嚬贂?huì)認(rèn)為,哪怕是初級(jí)開發(fā),SQL語(yǔ)句也該會(huì)寫,所以這塊不會(huì)多問,而會(huì)問如下方面的問題。

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

  2.除了索引之外,你有過(guò)哪些SQL優(yōu)化方面的經(jīng)驗(yàn),比如分庫(kù)分表,或通過(guò)執(zhí)行計(jì)劃查看SQL的優(yōu)化點(diǎn)。這最好是能結(jié)合你做的項(xiàng)目實(shí)際來(lái)講。

  這里,我面試下來(lái),大概有70%的候選人只知道基本SQL的寫法,所以哪怕你是只有理論經(jīng)驗(yàn),會(huì)說(shuō)一些優(yōu)化點(diǎn),也是非常有利的。

  這塊對(duì)于高級(jí)開發(fā)而言,更得了解優(yōu)化方面的技能。

  五.JavaCore方面需要準(zhǔn)備的點(diǎn)

  這塊是基礎(chǔ),其實(shí)很多問的問題,候選人一定會(huì)在項(xiàng)目里用到,但很少能說(shuō)好說(shuō)全。

  這塊主要會(huì)從集合,多線程,異常處理流程以及JVM虛擬機(jī)這些方面來(lái)問。

  集合方面:

  1.hashcode有沒有重寫過(guò)?在什么場(chǎng)景下需要重寫。如果可以,結(jié)合hash表的算法,說(shuō)下hashmap的實(shí)現(xiàn)原理。

  對(duì)于高級(jí)開發(fā)而言,最好通過(guò)ConcurrentHashMap來(lái)說(shuō)明下并發(fā)方面的底層實(shí)現(xiàn)代碼。

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

  對(duì)于高級(jí)而言,最好看下底層的代碼。

  3.Set如何實(shí)現(xiàn)防重的,比如TreeSet和HashSet等。

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

  5.可能有些面試官會(huì)問,如何通過(guò)ArrayList實(shí)現(xiàn)隊(duì)列或堆棧,這個(gè)可以準(zhǔn)備下。

  多線程方面,其實(shí)在項(xiàng)目里不怎么會(huì)用到,但會(huì)問如下的問題:

  1.synchronized和可重入鎖的差別,然后可能會(huì)順便問下信號(hào)量等防并發(fā)的機(jī)制。

  2.在線程里該如何返回值,其實(shí)就是callablerunnable區(qū)別。

  3.一定得通過(guò)ThreadLocal或volatile關(guān)鍵字,來(lái)說(shuō)明線程的內(nèi)存模型。

  4.線程池方面,會(huì)用,了解些常用參數(shù)

  線程方面,可能問得比較多的就是并發(fā)機(jī)制,如果是高級(jí)開發(fā),可能會(huì)問得深些。

  虛擬機(jī)方面

  1.結(jié)構(gòu)圖和流程可以大致說(shuō)下。

  2.一定得了解針對(duì)堆的垃圾回收機(jī)制,具體而言,可以畫個(gè)圖,說(shuō)下年輕代年老代等。

  3.說(shuō)下垃圾回收的流程,然后針對(duì)性地說(shuō)下如何在代碼中優(yōu)化內(nèi)存性能。

  4.最好說(shuō)下如果出現(xiàn)了OOM異常,該怎么排查?如何看Dump文件。

  5.GC的一些概念,比如強(qiáng)弱軟引用,finalize方法等,這些可以準(zhǔn)備下。在Java技術(shù)棧微信公眾號(hào)后臺(tái)回復(fù):Java,可以閱讀Java核心技術(shù)知識(shí)點(diǎn)。

  六.算法,設(shè)計(jì)模式等,其實(shí)是虛的

  這塊好準(zhǔn)備,不過(guò)話說(shuō)哪怕這些沒回答好,但能證明有相關(guān)技能的項(xiàng)目經(jīng)驗(yàn),一般也會(huì)讓過(guò)。

  不過(guò)在這塊,不少候選人就本末倒置了,比如就準(zhǔn)備算法,設(shè)計(jì)模式,剛才提到的框架,數(shù)據(jù)庫(kù)和JavaCore方面就不準(zhǔn)備了。這樣很吃虧,就好比考政治只復(fù)習(xí)了一個(gè)點(diǎn),其它一點(diǎn)也不準(zhǔn)備。

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

  1.大多數(shù)的候選人(大概7成)直接就來(lái)了,不做任何準(zhǔn)備。要知道,面試和項(xiàng)目其實(shí)有些脫節(jié),哪怕項(xiàng)目做得再好,不做準(zhǔn)備照樣通不過(guò),只要我確認(rèn)過(guò)這類人確實(shí)無(wú)法達(dá)標(biāo),我拒掉他們沒任何心理負(fù)擔(dān),誰(shuí)讓他們不準(zhǔn)備?

  2.還有些候選人態(tài)度很好,明顯準(zhǔn)備過(guò),但沒準(zhǔn)備到位,比如像剛才所說(shuō),只準(zhǔn)備了算法,或者在JavaCore方面,只看了集合方面的面試題。對(duì)于這些同學(xué),哪怕是過(guò)了,我也會(huì)感到惋惜,畢竟如果面試好些的話,工資也能更高些,至于哪些過(guò)不了的,我敢說(shuō),如果他們準(zhǔn)備過(guò),估計(jì)就不是這個(gè)結(jié)果了。

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

  我也和不少面試官交流過(guò),根據(jù)我們的經(jīng)驗(yàn),如果候選人能說(shuō)出如下的知識(shí)點(diǎn),即能證明他在這個(gè)領(lǐng)域比較資深了,在這塊,我可能就不會(huì)過(guò)多地問問題了。

  架構(gòu)方面

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

  2.能證明自己有SpringBoot或SpringCloud的經(jīng)驗(yàn),比如能說(shuō)出些SpringCloud組件的用法。

  3.如果能證明自己有分布式開發(fā)的經(jīng)驗(yàn),那最好了,其實(shí)這不難證明,比如能說(shuō)出服務(wù)的包是放在多臺(tái)機(jī)器上(大多數(shù)公司其實(shí)都這樣),而且能說(shuō)出如何部署,如何通過(guò)nginx等做到負(fù)載均衡。

  數(shù)據(jù)庫(kù)方面,其實(shí)講清楚一個(gè)問題即可:如何進(jìn)行SQL調(diào)優(yōu),比如通過(guò)索引,看執(zhí)行計(jì)劃即可,如果有其它的優(yōu)化點(diǎn),說(shuō)清楚即可。

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

  1.能結(jié)合ConcurrentHashMap的源代碼,說(shuō)出final,volatile,transient的用法,以及在其中如何用Lock對(duì)象防止寫并發(fā)。

  2.結(jié)合一個(gè)項(xiàng)目實(shí)際,說(shuō)下設(shè)計(jì)模式的實(shí)踐。

  3.多線程方面,能說(shuō)出Lock或volatile等高級(jí)知識(shí)點(diǎn)的用法。

  4.這塊最取巧:說(shuō)下GC的流程,以及如何通過(guò)日志和Dump文件排查OOM異常,如果再高級(jí)些的話,說(shuō)下如何在代碼中優(yōu)化內(nèi)存代碼。

  訣竅點(diǎn)歸結(jié)成一個(gè):能結(jié)合源代碼或項(xiàng)目實(shí)際,說(shuō)出些比較資深的問題。在java技術(shù)棧微信公眾號(hào)后臺(tái)回復(fù):多線程,可以閱讀Java多線程技術(shù)文章。

  八.本文的側(cè)重點(diǎn)

  本文的側(cè)重點(diǎn)是:

  面試一定得準(zhǔn)備(重要的話說(shuō)三遍,這里已經(jīng)超過(guò)3遍了)

  更多Java面試題,登錄動(dòng)力節(jié)點(diǎn)IT培訓(xùn)官網(wǎng)http://m.dabaquan.cn/tutorial_baseinterviewquestions/

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 看真人一级毛片 | 国内精品小视频在线 | 福利免费在线 | 国产永久免费爽视频在线 | aaa色| 亚洲欧洲日本精品 | 日韩在线视频中文字幕 | 中文字幕在线播放一区 | 欧美国产日韩在线 | 高清一区二区 | 精品国产一区二区麻豆 | 波多野结衣av1区2区3区 | 精品一区二区视频 | 亚洲精品一区二区乱码在线观看 | 久久精品成人免费网站 | 国产a v高清一区二区三区 | 欧美激情在线一区二区三区 | 国产精品手机视频 | 欧美一区高清 | 伊人中文字幕 | 国产成人h综合亚洲欧美在线 | 国产综合精品久久亚洲 | 手机看片国产欧美日韩高清 | 国产精品视频免费播放 | 国产福利第一页 | 亚洲图片欧美在线 | 国产va免费高清在线观看 | 色综合久久久久综合99 | 在线观看国产一区 | 在线观看日韩精品 | 欧美一区二区三区在线 | 欧美洲久久日韩欧美 | 狠狠躁夜夜躁人人爽天天miya | 91久久青草精品38国产 | 老司机激情影院 | 久久精品国产精品亚洲红杏 | a级爱爱视频 | 深夜免费看片 | 精品国产一区二区三区成人 | 免费香蕉一区二区在线观看 | 国产911情侣拍拍在线播放 |