2017年4月份從Android開發(fā)轉(zhuǎn)了Java后臺開發(fā),到現(xiàn)在剛好一年半的時間。最近找了一波工作。收到了蠻多Offer的。最終決定了支付寶的高級Java開發(fā)的Offer。于是想總結(jié)一下經(jīng)驗,以供大家參考,希望能幫助到大家。在此也非常感謝在找工作過程中各公司對我的垂青,也感謝各位幫助過我的人。
我主要從以下三個方面總結(jié)一下:
- 前期準(zhǔn)備
- 臨場發(fā)揮
- 平時工作積累
為了篇幅不要太長,既方便閱讀,也可以讓我自己不用花太多的時間寫一篇很長的文章,我分成獨立的文章來寫。這篇介紹前期準(zhǔn)備的內(nèi)容。
1. 前期準(zhǔn)備
有一句話,機會都是給有準(zhǔn)備的人的。所以不要盲目自信,什么都不準(zhǔn)備就去面試了。準(zhǔn)備的內(nèi)容有幾點:
- 準(zhǔn)備簡歷(百度有很多,可以不看我的)
- 準(zhǔn)備基礎(chǔ)知識點(百度有很多,可以不看我的)
- 準(zhǔn)備自己做的項目(敲黑板!自己的感悟?。?/li>
1.1 準(zhǔn)備簡歷
我就不說簡歷應(yīng)該怎樣寫了,畢竟我也不是專業(yè)的。但是請你把簡歷拿出來讓你的朋友,看一看,從別人的角度看你的簡歷是什么樣子的。他們能不能看到你的特點。他們一般都會給出你他們的感覺和修改意見。修改到讓別人看著舒服就可以了。至于說什么是舒服,那就可能包含很多東西。排版,語句,甚至到字體。我的朋友給我指出了很多修改意見。我都與他們探討和修改。
1.2 準(zhǔn)備基礎(chǔ)知識點
這個我就不去羅列問題了,網(wǎng)上太多了。自己把那些問題準(zhǔn)備一下。但是我發(fā)現(xiàn)我面試過程中,大多數(shù)時間還是在聊項目,項目中解決的問題,這些東西聊完就40分鐘左右了,也會或多或少的問到一些基礎(chǔ)知識。所以也要提前把網(wǎng)上能找到的基礎(chǔ)知識點準(zhǔn)備一下。重點提示一下準(zhǔn)備基礎(chǔ)知識點的大方向:
- Java基礎(chǔ)知識
- Spring基礎(chǔ)知識:Spring Boot基礎(chǔ)
- 數(shù)據(jù)庫基礎(chǔ)知識:MySQL,SQL語句
- 中間件基礎(chǔ)知識:Redis,MQ等,看項目用到什么。
- 基礎(chǔ)理論知識:計算機網(wǎng)絡(luò),操作系統(tǒng),設(shè)計模式等
- 算法:可以去Leetcode上刷一刷(說實話我都刷,就隨便做了幾道讓自己找到做算法題的狀態(tài))
如果有需求可以留言,如果需要的人多的話我可以把我準(zhǔn)備的問題用另一篇文章列出來,就不在這里羅列,占用篇幅影響閱讀了。
1.3 準(zhǔn)備自己做的項目
敲黑板!??!
到了面試階段,【聊一聊的你們的項目】,【你在項目中做了哪些東西】,【你在項目中遇到的最難的問題是什么,你是怎么解決的】這三個問題一定是問的頻率最多的,也是對于面試官考察一個人最重要的。想要比較好的回答這三個問題。需要平時工作的積累和面試前的準(zhǔn)備。對于工作積累來說我在之后再講,現(xiàn)在主要講怎樣準(zhǔn)備。因為每個人做的項目都不一樣。所以這三個問題都沒有標(biāo)準(zhǔn)答案。首先,我覺得自己可以想一下這3個問題的答案,語言盡量簡練,然后和自己的朋友講,看看他是否可以聽的懂。相同的問題你可以問一下和自己承擔(dān)相同工作的同事,看看他是怎樣回答的。其實大部分人在項目中都是寫的業(yè)務(wù)代碼,所以在準(zhǔn)備的時候要有側(cè)重點。什么都說,但又說不到面試官想聽的,就會讓這個環(huán)節(jié)效果很差,有些人聊完項目面試官就感覺沒什么興趣了,就是這個原因,那么我來談?wù)劽總€問題的側(cè)重點:
- 【聊一聊的你們的項目】:側(cè)重業(yè)務(wù)流程,用簡練清楚的語言描述項目做了一個什么事情。然后可以簡單介紹一下項目使用的架構(gòu)和技術(shù)棧。這個其實整理一下,一定有東西可以說的,切記業(yè)務(wù)不要介紹的過于復(fù)雜,很多復(fù)雜的東西一概而過,面試官有興趣的話他會自己問,每個系統(tǒng)都有很多細(xì)節(jié),講不完的,這里講太多會顯得很啰嗦。
- 【你在項目中做了哪些東西】:側(cè)重你所做的東西在業(yè)務(wù)流程中承擔(dān)的作用和重要程度。然后交代清楚這一塊的復(fù)雜度,體現(xiàn)一定的技術(shù)難度。我知道大部分人都在寫業(yè)務(wù)代碼的。大部分時候項目需要大數(shù)據(jù)和大并發(fā)的場景比較少。這個時候你可以側(cè)重從系統(tǒng)設(shè)計去聊,比如“面對復(fù)雜的業(yè)務(wù)邏輯如何解藕?”。
- 【你在項目中遇到的最難的問題是什么,你是怎么解決的】:側(cè)重有難度的問題,對于后臺,側(cè)重于并發(fā),大量數(shù)據(jù),和分布式問題。盡量不要說業(yè)務(wù)流程,或者一些低級的問題。面試官肯定希望了解你解決了多難的技術(shù)問題。那么沒有大數(shù)據(jù),高并發(fā)方面的問題解決經(jīng)歷怎么辦?我的經(jīng)驗可以側(cè)重解決分布式問題。因為不管你的用戶量有多少,只要項目是分布式系統(tǒng),那一定會有分布式問題。比如“冪等如何做的?”。
總結(jié)
簡歷和基礎(chǔ)知識準(zhǔn)備網(wǎng)上太多了,大家可以隨意百度。我這邊覺得最重要的就是第三點。因為我發(fā)現(xiàn)聊項目就能聊蠻長時間,這里聊完之后再問的一些基礎(chǔ)知識,都已經(jīng)不影響大局了。所以把自己做的項目,好好組織一下語言。該講哪些不該講哪些。有些人說面試就是吹牛逼。在我看來,如果能吹的天衣無縫,那也確實是有實力。對于我還是實話實說,畢竟紙包不住火。這時候很多人又有問題了,實話實說了,面試官問完項目覺得沒什么難度,就基本GG了?;蛘哂懻擁椖康臅r候問了一個沒有準(zhǔn)備的問題,自己不會,很尷尬怎么辦。那下一篇我再介紹,我總結(jié)的臨場發(fā)揮的經(jīng)驗。