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

本人最近幾年一直在做java后端方面的技術(shù)面試官鳍侣,而在最近兩周,又密集了面試了一些java初級(jí)和高級(jí)開發(fā)的候選人辆脸,在面試過程中,我自認(rèn)為比較慎重螃诅,遇到問題回答不好的候選人啡氢,我總會(huì)再三從不同方面提問状囱,只有當(dāng)反復(fù)確認(rèn)能力不行才會(huì)下結(jié)論,相反倘是,如果候選人給我的印象不錯(cuò)亭枷,我也會(huì)從多個(gè)角度來衡量,以免招進(jìn)會(huì)說但不會(huì)干活的“大忽悠”搀崭。

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

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

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

一. 換位思考下,如果你面試官锦茁,你會(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)勢(shì),并能從候選人的說辭中判斷候選人是真懂還是忽悠连霉。?

二. 總體上說下準(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ì)講到辈讶。?

三. 架構(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倍啥,攔截器的,比如說可以通過攔截器攔截非法請(qǐng)求澎埠,怎么用 AOP輸出日志等虽缕。

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

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

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

Spring Bean的周期

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

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

Spring Boot和Spring Cloud的一些知識(shí)點(diǎn)

四. 數(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)化方面的技能题涨。 ? ???

五. 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)備下慎菲。?

六. 算法嫁蛇,設(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)備。? ??

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

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í)際,說出些比較資深的問題悟耘。? ??

八. 本文的側(cè)重點(diǎn)&后文預(yù)告

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

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

如何全面充分地準(zhǔn)備。

有沒有關(guān)于面試技巧的一些視頻暂幼?有? 在我的后端開發(fā)群里:723392273 我會(huì)分享一些面試 包括架構(gòu)技術(shù)方面的視頻筏勒,進(jìn)群我將免費(fèi)送給你

至于為什么要免費(fèi)送給你們?我得不停地總結(jié)我作為面試官的技巧旺嬉,這樣我在面試中也能更高效更準(zhǔn)確地招到合適的人才管行。

不過話說回來,這篇文章應(yīng)該對(duì)大家多少有些幫助邪媳,因?yàn)椴皇敲總€(gè)面試官都肯泄漏面試內(nèi)幕的捐顷。

在后篇博文里,我將在之前博文的基礎(chǔ)上講述如何準(zhǔn)備簡歷雨效,從而提升簡歷通過初選的概率迅涮,之前我寫過類似的文章。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末设易,一起剝皮案震驚了整個(gè)濱河市逗柴,隨后出現(xiàn)的幾起案子蛹头,更是在濱河造成了極大的恐慌顿肺,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件渣蜗,死亡現(xiàn)場離奇詭異屠尊,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)耕拷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門讼昆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人骚烧,你說我怎么就攤上這事浸赫。” “怎么了赃绊?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵既峡,是天一觀的道長。 經(jīng)常有香客問我碧查,道長运敢,這世上最難降的妖魔是什么校仑? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮传惠,結(jié)果婚禮上迄沫,老公的妹妹穿的比我還像新娘。我一直安慰自己卦方,他們只是感情好羊瘩,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著盼砍,像睡著了一般困后。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上衬廷,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天摇予,我揣著相機(jī)與錄音,去河邊找鬼吗跋。 笑死侧戴,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的跌宛。 我是一名探鬼主播酗宋,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼疆拘!你這毒婦竟也來了蜕猫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤哎迄,失蹤者是張志新(化名)和其女友劉穎回右,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體漱挚,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡翔烁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了旨涝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蹬屹。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖白华,靈堂內(nèi)的尸體忽然破棺而出慨默,到底是詐尸還是另有隱情,我是刑警寧澤弧腥,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布厦取,位于F島的核電站,受9級(jí)特大地震影響鸟赫,放射性物質(zhì)發(fā)生泄漏蒜胖。R本人自食惡果不足惜消别,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望台谢。 院中可真熱鬧寻狂,春花似錦、人聲如沸朋沮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽樊拓。三九已至纠亚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間筋夏,已是汗流浹背蒂胞。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留条篷,地道東北人骗随。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像赴叹,于是被迫代替她去往敵國和親鸿染。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

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