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

1 ?換位思考下护糖,如果你面試官褥芒,你會(huì)怎么做

? ? 1 只能通過簡歷和面試來衡量,別無他法嫡良。如果某位大牛確認(rèn)能力很行锰扶,但面試時(shí)無法充分地自證能力,那對(duì)不起了寝受,過不了坷牛,現(xiàn)實(shí)就這樣。

? ? 2 如果面試官由于能力不行很澄,招進(jìn)來一個(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)勢,并能從候選人的說辭中判斷候選人是真懂還是忽悠赞哗。?

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

? ? 記得之前考政治雷则,某個(gè)大題10分,分5個(gè)點(diǎn)肪笋,每個(gè)點(diǎn)的標(biāo)準(zhǔn)答案不多月劈,也就一兩句話。比較取巧的做法是藤乙,涵蓋點(diǎn)要全猜揪,每個(gè)點(diǎn)無需多說,但要說到點(diǎn)子上坛梁。相反而姐,如果在某個(gè)點(diǎn)做得再多,其它點(diǎn)沒覆蓋到划咐,只能拿這個(gè)點(diǎn)的分拴念。

? ? 同理,在面試時(shí)褐缠,應(yīng)當(dāng)綜合準(zhǔn)備 java Core政鼠,數(shù)據(jù)庫,框架队魏,分布式等方面的題目公般。根據(jù)我面試的結(jié)果,我發(fā)現(xiàn)不少候選人走了彎路胡桨,他們或者干脆不準(zhǔn)備官帘,準(zhǔn)備時(shí)可能方法不到位,單準(zhǔn)備一個(gè)方面昧谊。比如只準(zhǔn)備了算法題刽虹,在這方面回答很好,但其它方面就一無所知了揽浙。

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

? ?切記膛虫,面試前一定得準(zhǔn)備,否則成功的可能性很低钓猬,準(zhǔn)備時(shí)稍刀,得綜合看各方面的點(diǎn)。至于每個(gè)點(diǎn)要到什么程度,后文會(huì)講到账月。?? ? ?我剛整理了一套2018最新的0基礎(chǔ)入門和進(jìn)階教程综膀,無私分享,加Java學(xué)習(xí)裙 :678-241-563 即可獲取局齿,內(nèi)附:開發(fā)工具和安裝包剧劝,以及系統(tǒng)學(xué)習(xí)路線圖。

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

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

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

? ? 這個(gè)的說法是萄喳,介紹項(xiàng)目時(shí),用一個(gè)業(yè)務(wù)流程來說spring mvc如何做的蹋半。

? ? 2 知道Spring MVC中的細(xì)節(jié)他巨,比如@Autowired的用法,如何把url映射到Controller上减江,ModelAndView對(duì)象返回的方式等染突。

? ? 3 最好結(jié)合項(xiàng)目的用法,說下你是怎么用AOP您市,攔截器的觉痛,比如說可以通過攔截器攔截非法請求役衡,怎么用 AOP輸出日志等茵休。

? ? 4 關(guān)于ORM方面,不限用過哪種手蝎,但得知道一對(duì)一榕莺,一多多,多對(duì)多等的用法棵介,以及cascade和inverse的用法钉鸯。

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

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

? ? 1 Spring Bean的周期 2 最好能通過閱讀源代碼,說下IOC,AOP以及Spring MVC的工作流程 3 最好能結(jié)合反射吨述,說下IOC等的實(shí)現(xiàn)原理岩睁。4 Spring Boot和Spring Cloud的一些知識(shí)點(diǎn)。?

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

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

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

? ? ?1 索引怎么建的肃拜,怎么用的?比如我建好了一個(gè)索引雌团,在where 語句里寫 name like '123%'會(huì)不會(huì)走索引燃领,怎么情況下不該建索引,哪些語句不會(huì)走索引锦援。

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

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

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

5 Java Core方面需要準(zhǔn)備的點(diǎn)

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

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

? ? 集合方面:

? ? 1 hashcode有沒有重寫過掰担?在什么場景下需要重寫汇陆。如果可以,結(jié)合hash表的算法恩敌,說下hashmap的實(shí)現(xiàn)原理瞬测。

? ? 對(duì)于高級(jí)開發(fā)而言,最好通過ConcurrentHashMap來說明下并發(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ì)問灾茁,如何通過ArrayList實(shí)現(xiàn)隊(duì)列或堆棧,這個(gè)可以準(zhǔn)備下谷炸。


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

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

? ? 2 在線程里該如何返回值,其實(shí)就是callable runnable 區(qū)別描孟。

? ? 3 一定得通過ThreadLocal或volatile關(guān)鍵字驶睦,來說明線程的內(nèi)存模型。

? ? 4 線程池方面画拾,會(huì)用啥繁,了解些常用參數(shù)

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


? ? 虛擬機(jī)方面

? ? 1 結(jié)構(gòu)圖和流程可以大致說下蜜另。

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

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

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

? ? 5 GC的一些概念忍些,比如強(qiáng)弱軟引用,finalize方法等坎怪,這些可以準(zhǔn)備下罢坝。?

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

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

? ? 不過在這塊,不少候選人就本末倒置了沐飘,比如就準(zhǔn)備算法开仰,設(shè)計(jì)模式,剛才提到的框架薪铜,數(shù)據(jù)庫和Java Core方面就不準(zhǔn)備了众弓。這樣很吃虧,就好比考政治只復(fù)習(xí)了一個(gè)點(diǎn)隔箍,其它一點(diǎn)也不準(zhǔn)備谓娃。? ??

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

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

? ? 2 還有些候選人態(tài)度很好,明顯準(zhǔn)備過啦辐,但沒準(zhǔn)備到位谓传,比如像剛才所說,只準(zhǔn)備了算法芹关,或者在Java Core方面续挟,只看了集合方面的面試題。對(duì)于這些同學(xué)侥衬,哪怕是過了诗祸,我也會(huì)感到惋惜跑芳,畢竟如果面試好些的話,工資也能更高些直颅,至于哪些過不了的博个,我敢說,如果他們準(zhǔn)備過际乘,估計(jì)就不是這個(gè)結(jié)果了坡倔。

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

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

? ? ?架構(gòu)方面

? ? 1 能證明自己可以干活(這不難)洲脂,同時(shí)能結(jié)合底層代碼說出IOC,AOP或Spring MVC的流程剧包,只要能說出一個(gè)即可恐锦。或者能說出攔截器疆液,Controller等的高級(jí)用法一铅。

? ? 2 能證明自己有Spring Boot或Spring Cloud的經(jīng)驗(yàn),比如能說出些Spring Cloud組件的用法堕油。

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


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


? ? Java Core方面嗦篱,這里給出些訣竅:

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

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

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

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

? ? 訣竅點(diǎn)歸結(jié)成一個(gè):能結(jié)合源代碼或項(xiàng)目實(shí)際萝玷,說出些比較資深的問題。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末昆婿,一起剝皮案震驚了整個(gè)濱河市球碉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌仓蛆,老刑警劉巖睁冬,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異多律,居然都是意外死亡痴突,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門狼荞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來辽装,“玉大人,你說我怎么就攤上這事相味∈盎” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵丰涉,是天一觀的道長拓巧。 經(jīng)常有香客問我,道長一死,這世上最難降的妖魔是什么肛度? 我笑而不...
    開封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮投慈,結(jié)果婚禮上承耿,老公的妹妹穿的比我還像新娘冠骄。我一直安慰自己,他們只是感情好加袋,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開白布凛辣。 她就那樣靜靜地躺著,像睡著了一般职烧。 火紅的嫁衣襯著肌膚如雪扁誓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天蚀之,我揣著相機(jī)與錄音蝗敢,去河邊找鬼。 笑死恬总,一個(gè)胖子當(dāng)著我的面吹牛前普,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播壹堰,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼拭卿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了贱纠?” 一聲冷哼從身側(cè)響起峻厚,我...
    開封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谆焊,沒想到半個(gè)月后惠桃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡辖试,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年辜王,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罐孝。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡呐馆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出莲兢,到底是詐尸還是另有隱情汹来,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布改艇,位于F島的核電站收班,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏谒兄。R本人自食惡果不足惜摔桦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望承疲。 院中可真熱鬧酣溃,春花似錦瘦穆、人聲如沸纪隙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绵咱。三九已至碘饼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間悲伶,已是汗流浹背艾恼。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留麸锉,地道東北人钠绍。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像花沉,于是被迫代替她去往敵國和親柳爽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容