高級(jí)java后端開發(fā)面試-面試前的準(zhǔn)備

高級(jí)java后端開發(fā)面試-面試前的準(zhǔn)備

長(zhǎng)沙中公優(yōu)就業(yè)      2022-03-29 14:00:01     12

高級(jí)java后端開發(fā)面試-面試前的準(zhǔn)備,  其實(shí)公司肯花時(shí)間讓你去面試,前提條件一定是通過你的簡(jiǎn)歷,一定發(fā)現(xiàn)了你和公司的匹配點(diǎn),也就是說,一定是有錄用意向的?!?

課程價(jià)格 請(qǐng)咨詢

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹



  其實(shí)公司肯花時(shí)間讓你去面試,前提條件一定是通過你的簡(jiǎn)歷,一定發(fā)現(xiàn)了你和公司的匹配點(diǎn),也就是說,一定是有錄用意向的。


  在技術(shù)面試的時(shí)間段里(最長(zhǎng)1個(gè)小時(shí)),你如果能展現(xiàn)你的優(yōu)勢(shì)那是最好的,但如果你做不到這點(diǎn),簡(jiǎn)單點(diǎn),讓面試官感覺你達(dá)到了最低標(biāo)準(zhǔn)即可。這好比在大學(xué)里考試,有些同學(xué)對(duì)某門課的知識(shí)點(diǎn)完全不懂,但也有可能通過考前突擊和刷題來(lái)通過考試(不作弊),而且還有可能考高分。


  至于通過技術(shù)面試后,項(xiàng)目經(jīng)理或人事的面試一般是過濾特別差的,比如考察些團(tuán)隊(duì)協(xié)作能力和溝通表達(dá)能力等,這對(duì)大家來(lái)說應(yīng)該不是問題。所以在本文里,就以Java后端高級(jí)開發(fā)為例,講述下面試的準(zhǔn)備點(diǎn)。方法是通用的,其它方向的同學(xué)也可以以此類推。



  一、至少定出2天的準(zhǔn)備時(shí)間


  面試的準(zhǔn)備時(shí)間一般別低于2天,如果可以,再延長(zhǎng)些,但別太長(zhǎng)。


  比如是去現(xiàn)場(chǎng)面試,可以找的借口就比較多,比如項(xiàng)目忙,會(huì)多,時(shí)間間隔別超過5個(gè)工作日。比如周二收到通知,就盡量約到周五,如果是是周三周四,那么別超過下周二。


  電話面試的話,借口不多,一般可以約到兩天后。


  但不建議今天接到通知,明天就直接電話面或現(xiàn)場(chǎng)面了,一方面公司會(huì)認(rèn)為你當(dāng)前很閑,另一方面,你真就沒太多的準(zhǔn)備時(shí)間了。


  二、一定得再次閱讀公司的職位要求


  就好比是考試,先得審題,大方向錯(cuò)了,準(zhǔn)備就白做了。


       比如,有如下的職位描述。

  我們能從中挖掘出如下的技能需求點(diǎn):


  3年經(jīng)驗(yàn),熟悉常用類庫(kù)


  熟悉Spring和Mybatis框架


  熟悉分布式中間件(比如消息,緩存等中間件)


  熟悉數(shù)據(jù)庫(kù),最好是NoSQL


  最好有大數(shù)據(jù)經(jīng)驗(yàn)


  而關(guān)于非技能的要求如下:


  有責(zé)任心,有主動(dòng)性


  需要有團(tuán)隊(duì)合作的能力


  需要有良好的編碼習(xí)慣,學(xué)習(xí)能力要強(qiáng)。


  其實(shí),在投簡(jiǎn)歷前,就可以根據(jù)上述要求微調(diào)簡(jiǎn)歷,這樣獲得該崗位的面試機(jī)會(huì)能更大。不過在本文里,就將以上述需求為例,講述面試前的準(zhǔn)備。


  三、在刷題前,先準(zhǔn)備項(xiàng)目描述的說辭


  我見到不少候選人,在面試前,就會(huì)著重刷題,比如看算法題,基礎(chǔ)題等,這個(gè)是必要的。


  不過在面試?yán)?,第一個(gè)環(huán)節(jié)一般都是項(xiàng)目介紹,也就是說,如果面試官通過項(xiàng)目,看到你的技能和職位不匹配,你甚至沒有機(jī)會(huì)被問其他問題。


  這里介紹些項(xiàng)目描述的要點(diǎn):


  1.業(yè)務(wù)需求可以一筆帶過,用寥寥幾句話介紹項(xiàng)目的背景,大致做了什么,工期和人數(shù)即可,別講太多,因?yàn)槊嬖嚬俨魂P(guān)心。下面給出一個(gè)說辭的案例。


  我上個(gè)項(xiàng)目是做電信系統(tǒng)的計(jì)費(fèi)軟件,客戶是xxx,工期是xxx個(gè)月,有5個(gè)人一起做,我在里面做的是開發(fā)。


  2.結(jié)合項(xiàng)目實(shí)際需求,介紹項(xiàng)目用到的技術(shù),比如在上述職位描述里,要求有springmvc,消息中間件,數(shù)據(jù)庫(kù)等需求,下面同樣給出各說辭的案例。


  在這個(gè)項(xiàng)目里,我們用到了SpringMVC(或SpringBoot或SpringCloud)框架,數(shù)據(jù)庫(kù)是用Oracle,ORM組件是用Mytabis,在項(xiàng)目里,我們?cè)谑峭ㄟ^消息queue來(lái)發(fā)送計(jì)費(fèi)成功的消息,消息中間件我們使用Kafka,為了降低數(shù)據(jù)庫(kù)訪問次數(shù),我們會(huì)把客戶信息放在redis緩存中。此外,我們?cè)诰W(wǎng)關(guān)層接入了nginx做負(fù)載均衡。


  大家能看到,在上述說辭里,我們結(jié)合了案例,說出了招聘方需要的技術(shù)點(diǎn),不過請(qǐng)注意,這里僅僅是介紹項(xiàng)目,結(jié)合功能點(diǎn)說出技術(shù)即可,別過多展開,因?yàn)橐坏┻^度展開,就會(huì)讓面試官感覺你思路不清晰,或者憑借準(zhǔn)備有恃無(wú)恐。


  3.再結(jié)合項(xiàng)目,說些招聘方需要的非技術(shù)的要求。


  在這個(gè)項(xiàng)目里,我們用到了xx設(shè)計(jì)模式,而且,我們會(huì)定期review代碼,以求保證代碼的質(zhì)量,而且,當(dāng)項(xiàng)目工期比較緊的時(shí)候,我還會(huì)客串配置管理的角色。在這個(gè)項(xiàng)目里,我一有問題,馬上會(huì)和經(jīng)理或測(cè)試或其它組的人溝通。


  4.如果有,說下你在項(xiàng)目里的亮點(diǎn),比如用到了一些比較好的技術(shù)。


  這個(gè)項(xiàng)目對(duì)數(shù)據(jù)庫(kù)性能和內(nèi)存性能要求比較高,所以我用到了Oracle調(diào)優(yōu)技術(shù)和JVM內(nèi)存優(yōu)化技術(shù),此外,我們還用到了大數(shù)據(jù)分析的工具對(duì)計(jì)費(fèi)模式做了優(yōu)化。


  大家看到,上述說辭不復(fù)雜,準(zhǔn)備好以后,說起來(lái)估計(jì)也就2,3分鐘但就通過上述說辭,亮出了你的基本信息,而且能給面試官留下思路清晰,技術(shù)匹配的印象。


  這里請(qǐng)注意,如果大家在項(xiàng)目里的技術(shù)和要求的不匹配,不建議作假,但可以通過如下的方式來(lái)做到匹配。


  1.如果你的ORM用的不是Mytabis,而是itabis或干脆hibernate,就直說用到這些,因?yàn)镺RM是相通的。


  2.如果這個(gè)技術(shù),比如Redis,在項(xiàng)目里用到,但你沒做,你可以在了解的基礎(chǔ)上說出來(lái),比如說:“這個(gè)項(xiàng)目還用到了Reids...,redis是用在xx模塊上,功能是xxx”,請(qǐng)注意,這里你說是項(xiàng)目用到了,而不是你用到了,這里,如果在后繼的回答中,你對(duì)redis的用法和技能問題都能回答上,那么面試官不會(huì)介意這點(diǎn)。


  3.某個(gè)技術(shù)你在這個(gè)項(xiàng)目里沒用到,但你比較熟悉,你也可以通過如下的說辭說下。


  我在其它項(xiàng)目里還用到了nginx(模糊回答,沒刻意說這個(gè)項(xiàng)目),具體的應(yīng)用場(chǎng)景是xxx(結(jié)合功能點(diǎn)說),用到了其中的xx配置項(xiàng)(通過些關(guān)節(jié)點(diǎn)來(lái)印證你用過)


  這里請(qǐng)務(wù)必注意,在準(zhǔn)備項(xiàng)目說辭的時(shí)候,可以盡量和職位要求靠,但別太離譜。因?yàn)槟阏f的每個(gè)技術(shù)點(diǎn),在后面,面試官都可能提問。如果某個(gè)技術(shù)點(diǎn)你沒掌握,其實(shí)問題不大,面試官本來(lái)就沒要求你十全十美,但如果你說你用過某個(gè)技術(shù),但通過后面的問題,面試官發(fā)現(xiàn)你其實(shí)沒用過,或者掌握程度沒像你說得那樣好,那么這個(gè)性質(zhì)就不一樣了。


  四、一定得準(zhǔn)備項(xiàng)目描述里提到的技術(shù)


  在介紹項(xiàng)目時(shí),就好比是釣魚,吸引面試官把注意力集中到你提到的技術(shù)點(diǎn)上。


  所以在準(zhǔn)備面試的時(shí)候,一定得先準(zhǔn)備你項(xiàng)目里提到的技術(shù)(大多也是招聘要求的技術(shù))。準(zhǔn)備時(shí)可以按照如下的思路。


  第一:一定得結(jié)合項(xiàng)目背景,比如大家要準(zhǔn)備分布式緩存redis,先說在哪個(gè)項(xiàng)目的哪個(gè)場(chǎng)景里用到,比如在剛才提到的電信系統(tǒng)里。這樣就會(huì)讓面試官感覺到這個(gè)技術(shù)你實(shí)際用過,而不是簡(jiǎn)單地只有學(xué)習(xí)經(jīng)驗(yàn)。


  第二:有不少關(guān)鍵點(diǎn),你用到以后一定是知道的,比如redis的基本數(shù)據(jù)結(jié)構(gòu),如何讀和寫,緩存如果擊穿了怎么辦?這些問題點(diǎn)一定得準(zhǔn)備,所謂吹牛要打草稿。比如你可以說,在配置redis時(shí),用到了xx配置文件的xx屬性,它是干嘛的。這話不用多,但說出來(lái)以后,面試官一聽就知道你真的用過。


  第三:可以準(zhǔn)備些這個(gè)技術(shù)的高級(jí)問題,比如Redis集群如何搭建,集群里一臺(tái)機(jī)器失效了怎么熱備轉(zhuǎn)移。同樣,可以講些如何配置以及如何使用的關(guān)鍵點(diǎn)。或者,大家可以準(zhǔn)備redis分布式鎖的底層實(shí)現(xiàn)。


  請(qǐng)記住,需要對(duì)你項(xiàng)目里提到的任何技術(shù)都按上述要求做準(zhǔn)備,雖然有些技術(shù)你未必會(huì)被問到。


  這里,如果大家在項(xiàng)目里僅僅是用到了基本的功能,比如redis就用了基本的讀和寫,但你可以適當(dāng)看些高級(jí)知識(shí)點(diǎn)和面試題。


  五、一定得準(zhǔn)備亮點(diǎn)話題,并想辦法往這方面繞,而且亮點(diǎn)話題多多益善


  對(duì)于java高級(jí)開發(fā)而言,可以準(zhǔn)備如下的話題,大家也能以此為參考,準(zhǔn)備些其它的話題:


  虛擬機(jī)內(nèi)存優(yōu)化


  數(shù)據(jù)庫(kù)性能調(diào)優(yōu)


  分布式高并發(fā)架構(gòu)


  一些熱門組件,比如redis,nginx等


  大數(shù)據(jù)方向的用法


  javacore(比如集合或多線程)方面的底層實(shí)現(xiàn)代碼


  Spring系列(比如IOC,AOP,MVC,SpringBoot,SpringCloud)方面的底層實(shí)現(xiàn)代碼。


  要準(zhǔn)備到什么程度:


  最好結(jié)合項(xiàng)目實(shí)際說出真的用過這些技術(shù)。


  最好往性能調(diào)優(yōu)方面靠。


  下面就以虛擬機(jī)為例,說下如何在面試中引出該話題,以及面試時(shí)該怎么說。其它亮點(diǎn)話題也可以照此準(zhǔn)備。


  第一:在簡(jiǎn)歷的最近項(xiàng)目介紹里加上類似這樣描述,“這個(gè)項(xiàng)目的內(nèi)存要求比較高,雖然在項(xiàng)目里分配的對(duì)象不少,但這個(gè)項(xiàng)目只被分配了1G內(nèi)存,所以在這個(gè)項(xiàng)目里,我實(shí)踐了一些定位排查內(nèi)存問題的技能,也做了些調(diào)優(yōu)的工作“,這樣面試官見到簡(jiǎn)歷的描述,就會(huì)自然而然地提問了。


  第二:在面試中總會(huì)有“項(xiàng)目介紹”這個(gè)環(huán)節(jié),面試官會(huì)讓候選人介紹最近的(或最拿得出手)的一個(gè)項(xiàng)目,這樣大家就可以順勢(shì)說出剛才已經(jīng)給出的描述。


  第三:大家可以在回答數(shù)據(jù)庫(kù)或集合等方面的問題時(shí)引出這個(gè)話題,比如回答完JDBC問題后,大家可以說一句,“用好的Connection對(duì)象我們會(huì)及時(shí)關(guān)閉,否則它所占用的內(nèi)存對(duì)象無(wú)法被GC回收”,或者在談及List等集合類型時(shí),同時(shí)多說一句,“用好的集合對(duì)象我們會(huì)及時(shí)clear掉,否則這個(gè)集合也會(huì)對(duì)一些對(duì)象產(chǎn)生強(qiáng)引用,這樣就會(huì)延遲對(duì)象的回收時(shí)間”。


  第四:在自我總結(jié)時(shí),可以說,有虛擬機(jī)調(diào)優(yōu)的經(jīng)驗(yàn)。


  那么,在面試時(shí),該怎么說呢?


  大家可以先從堆的結(jié)構(gòu)入手,進(jìn)而詳細(xì)說明垃圾回收的流程。


  再進(jìn)一步說明如何寫出高性能的代碼。比如物理對(duì)象(比如Connectio或IO)用好之后得及時(shí)close。大的對(duì)象用好后應(yīng)當(dāng)及時(shí)設(shè)置成null,以撤銷強(qiáng)引用。集合對(duì)象用好后應(yīng)當(dāng)及時(shí)clear。盡量別頻繁地使用String(或其它不變類)對(duì)象,這樣容易產(chǎn)生內(nèi)存碎片。


  還展示監(jiān)控、定位和調(diào)優(yōu)方面的綜合能力。這里可以說下,比如通過Jprofiler+jmeter進(jìn)行JVM性能調(diào)優(yōu)的方法。


  大家甚至可以看些虛擬機(jī)的底層實(shí)現(xiàn)細(xì)節(jié),在面試中說下,這樣能大大提升自己的專業(yè)素養(yǎng)。


  六、面試題,通過準(zhǔn)備讓面試官感覺你軟實(shí)力也行


  面試官只有當(dāng)確認(rèn)候選人在責(zé)任心和團(tuán)隊(duì)協(xié)作能力方面沒問題,才敢把他招進(jìn)公司。有些面試官會(huì)通過問問題來(lái)確認(rèn)這兩點(diǎn),但有些有經(jīng)驗(yàn)的面試官甚至可以通過候選人回答問題的方式和說話的語(yǔ)氣上來(lái)確認(rèn)。


  所以大家在面試前,首先可以按如下的要點(diǎn),在平時(shí)的生活和工作中練熟良好交流方式。


  第一:談吐清晰,語(yǔ)速不急不緩,至少讓面試官能聽懂你說的話。而且力求說話果斷,別吞吞吐吐的,這樣能顯示出你有足夠的擔(dān)當(dāng)。


  第二:交流時(shí)盡量目視面試官,語(yǔ)氣不亢不卑,別太僵硬,說話別過于強(qiáng)勢(shì)。臉部可以適當(dāng)微笑,面試官在說話時(shí)可以適當(dāng)點(diǎn)頭互動(dòng),總之得讓面試官感覺和你交流不吃力,最好還讓面試官感覺樂意和你交流。


  第三:應(yīng)積極主動(dòng)回答面試官的提問,如果沒聽明白問題,別僵持著等面試官進(jìn)一步解釋,應(yīng)當(dāng)主動(dòng)詢問。如果感覺面試官?zèng)]完全理解自己的回答,或者理解有誤,應(yīng)當(dāng)進(jìn)一步主動(dòng)解釋,以展示積極溝通的姿態(tài)。


  第四:即使不認(rèn)同面試官的觀點(diǎn),也應(yīng)當(dāng)心平氣和地交流,不能急躁,別輕易打斷面試官的話,可以傾聽完面試官的話后耐心地與之交流。有些面試官可能會(huì)故意刁難候選人,美其名曰“壓力測(cè)試”,在這種情況下,候選人更應(yīng)當(dāng)心平氣和,不能起爭(zhēng)執(zhí)。


  在面試過程中,再有經(jīng)驗(yàn)的面試官可能也無(wú)法通過實(shí)例來(lái)驗(yàn)證候選人的“團(tuán)隊(duì)協(xié)作能力”(因?yàn)樵诙虝r(shí)間內(nèi)無(wú)法協(xié)作),但如果大家能給面試官留下“溝通表達(dá)沒問題”、“為人和善”和“遇到難點(diǎn)能積極主動(dòng)協(xié)調(diào)溝通”的良好印象,那么面試官一般也能認(rèn)可候選人的團(tuán)隊(duì)協(xié)作能力。


  此外,大家還可以準(zhǔn)備如下的說辭,一旦能找合適的機(jī)會(huì)說出來(lái),面試官更會(huì)認(rèn)可大家的責(zé)任心和團(tuán)隊(duì)協(xié)作能力。


  說辭1:(在介紹項(xiàng)目時(shí))這個(gè)項(xiàng)目做到一半時(shí),客戶方變更了一些需求點(diǎn),這給我們項(xiàng)目組造成了比較大的壓力。在項(xiàng)目經(jīng)理的帶領(lǐng)下,我們都被分配了更多的任務(wù),在這種情況下,我通過加班按時(shí)按質(zhì)完成了任務(wù),而且在做的過程中,一旦出現(xiàn)需求或技術(shù)方面的問題,我也會(huì)主動(dòng)找同事或項(xiàng)目經(jīng)理確認(rèn)。


  總之,在出現(xiàn)問題時(shí),你不是退縮,而能通過加班等方式積極面對(duì)和解決問題,而且一旦有問題,你不是得過且過,而會(huì)主動(dòng)確認(rèn)。


  說辭2:(介紹自己在項(xiàng)目中的角色)在這個(gè)項(xiàng)目組里,除了本職的開發(fā)工作外,我還會(huì)積極主動(dòng)地和測(cè)試人員溝通,一方面告訴他們?cè)撛趺礈y(cè),另一方面,一旦發(fā)現(xiàn)問題,我會(huì)和他們一起重現(xiàn)問題,完成修改后我也會(huì)主動(dòng)告訴測(cè)試人員,讓他們盡快確認(rèn)。


  總之,在項(xiàng)目里,你不僅能完成本職工作,而且還能和團(tuán)隊(duì)其它人員一起協(xié)作。


  說辭3:(介紹項(xiàng)目的亮點(diǎn))在項(xiàng)目里,我遇到一個(gè)需求點(diǎn),這需要多個(gè)團(tuán)隊(duì)一起開發(fā),這時(shí)我會(huì)和相關(guān)人員一起開會(huì),確定各自的任務(wù)點(diǎn)和工期,完成功能點(diǎn)后我們會(huì)一起聯(lián)調(diào)。


  說辭4:(如果面試官問你,遇到自己無(wú)法解決的問題該怎么辦?)我不會(huì)推掉任務(wù),我先會(huì)查閱資料,如果不行,我會(huì)問項(xiàng)目經(jīng)理,在他們給出的解決方案基礎(chǔ)上,我會(huì)細(xì)化成具體的實(shí)現(xiàn)代碼,最后我會(huì)把實(shí)現(xiàn)好的功能點(diǎn)和項(xiàng)目經(jīng)理確認(rèn),以求沒有理解上的偏差。


  在責(zé)任心和團(tuán)隊(duì)協(xié)作能力這兩方面,不建議直接說“我有”,因?yàn)檫@相當(dāng)于自我表?yè)P(yáng),可信度不高,大家可以采用上述“用具體事實(shí)證明”的方式,這樣面試官聽了后就自然能認(rèn)可大家的相關(guān)能力。


       以上就是長(zhǎng)沙中公優(yōu)就業(yè)Java培訓(xùn)機(jī)構(gòu)小編介紹的“高級(jí)java后端開發(fā)面試-面試前的準(zhǔn)備”的內(nèi)容,希望對(duì)大家有幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。


相關(guān)推薦


最新最全java面試題及答案(初級(jí)到高級(jí))


史上最全的中高級(jí)JAVA工程師面試題及答案匯總


Java高級(jí)開發(fā)工程師面試題


2019史上最全java面試題題庫(kù)大全800題


哪有資深java工程師面試題


培訓(xùn)啦提醒您:交易時(shí)請(qǐng)核實(shí)對(duì)方資質(zhì),對(duì)于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。