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