開頭
在找工作的過程中,對于 Redis 技術知識的掌握已經成為必須的技能。美團面試常常就會被問到Redis相關知識,而這次我就差點倒在了美團3面,面試官連問我以下幾個Redis的問題,然后就卡殼了…
-
redis了解嗎?你說說怎么用redis實現分布式鎖?
-
Redis常用數據結構及底層數據結構實現
-
如何解決 Redis 的并發競爭 Key 問題
-
如何保證緩存與數據庫雙寫時的數據一致性?
剩下的不太記得了…為此面試完回來針Redis專門做了一個面試問題大總結
一、不少培訓班候選人的簡歷中,缺乏足夠的商業項目年限
不少同學會有這樣得感受:投出去不少簡歷,但就沒有面試機會,對培訓班出身的朋友來說,可能這種情況更甚,原因是,這些簡歷沒過篩選。
沒過篩選的原因無非有兩個
- 第一,關鍵技術的項目實踐經驗沒達到該職位的規定年限
- 第二,簡歷上描述的技術和該職位的需求嚴重不符。
比如本崗位需要一個有3年Java開發經驗的人,某簡歷上寫,雖然有3年經驗,但不是做Java,只是最近3個月在某培訓學校里呆過,雖然這三個月的經歷寫得花團錦簇,但抱歉,頂天也只能算3個月學習經驗,甚至還沒法算成是商業項目經驗,可能我所在的是大公司,所以這類簡歷一定沒法通過篩選,更沒有面試機會。
我看過不少此類簡歷,相關商業項目年限缺乏到不值得面試。相反,我也見過不少錦上添花型的培訓經歷,比如某人一直在做Java,最近參加某個培訓班,上了大數據或機器學習或云等高端技術,那么此類簡歷是憑足夠的項目年限過篩選,而在面試中,如果從培訓班里學到的技能也講得很好,那么絕對是優先考慮。
這部分能給出的建議是,不論是否參加培訓班,首先得挖掘相應的商業項目經驗,如果你的項目經驗介于學習和商業項目之間,那么盡量往商業項目上靠。
1.兼職類項目,比如你本職干c#,但幫朋友干了私活用java,而公司職位介紹需要java,那么可以著重挖掘你的java經驗。
2.我知道有些培訓班有實訓項目,就從外面公司里接了項目讓老師帶領著做,這塊,一定得寫成商業項目。
3.你之前在公司主要是做測試,但好歹也用過java,那么在申請java工作時,一定得重點寫java。
- 什么叫商業項目?你做的項目能掙錢就叫商業項目。如何在簡歷中區分商業項目和學習項目?突出客戶,上線部署過程,項目管理和使用情況這些要素。
二、直接描述培訓班學習經歷會帶來的負面影響
我拿到一份最近幾個月脫產在培訓班學習的簡歷,我首先會想:為什么他要上培訓班,是不是之前沒有相關經歷?相信很多面試官都有相關顧慮。如果候選人剛從學校里出來,公司對他的期望不高,那還不要緊。但如果需要的是個有3年經驗的崗位,那么就要著重看簡歷乃至重點面試了。
比如簡歷上,除了培訓班有相關經驗外其它沒,那么估計連面試機會都沒。有些培訓班會幫忙優化簡歷,之前的項目經驗描述雖然匹配職位介紹,但這類候選人會被非常仔細地盤問。
而且,去培訓班一般會導致若干月的空檔期,這對下份工作來說,不是好事,畢竟拳不離手曲不離口,而且這在背景調查時能通過看社保等看出來,無法作假。
換句話說,你在培訓班學習脫產的學習經歷會給你帶來兩大不利因素,第一暗示面試官你缺乏相關經驗,第二會有“未被雇傭”的時間段。如果某些同學確實不得不通過培訓班來改變自己,別無他法。但如果你目前工作還算穩定,是想通過培訓班來提升自己,那么如下的建議或許對你有用。
1.有條件的話,盡量別脫產學,如果有必要,報一個周末班。
2.或者,你可以找些視頻資料,邊上機邊學,不過這就需要一定的毅力。學什么,怎么學?找份大綱和系列的課程資料。
3.還是這句話,首先要做的是,在平時工作中挖掘相關經驗。比如你在做測試,想轉java,那么在學習之余,一定得在公司里找個java實踐機會,怎么找?多觀察,多動腿跑,多動手實踐,外帶多動嘴請教人。要知道,接下來換工作,更看重得是直接的項目經驗。
- 那么是否要在簡歷上寫明培訓班經歷呢?其實這不是問題。當你已經在脫產學了,那么你不寫,這段經歷又該如何描述呢?如果你是自學,那么公司工作的經歷絕對要比培訓班經歷好看。所以這里的問題還是會歸結為:要不要報脫產的培訓班,而不是簡歷該怎么寫。
三、大齡轉行Vs年輕的初級程序員,公司一般會如何選擇?
如果大齡IT人要轉行,去培訓班咨詢,我不知道相關人員會怎么說,但我就從面試官角度來說明。可能我一直在大公司,就站在這個角度來分析。
兩份簡歷
- 一份是28歲,本科,最近1年是java,之前是其它
- 另一份是24歲,全部工作經驗是1年,都在做java。
首先看技能,比如基礎,對框架的理解,對數據庫等優化的技能,如果兩者差不多,年輕人很占優勢,畢竟錢一般能少給,而且精力充沛。而大齡程序員的經驗不對口,本職位用不到。
確實,培訓班能提升學習效率,相當于用錢買時間,而有些大齡程序員缺的就是時間。但對這些人而言,更缺乏相關技能的實踐經驗,如果要報培訓班,這是你自己的事情,但同時還得想辦法補充相關經驗。這點在本文里已經有過描述,在本人的其它博文里,也有相關描述。
四、經過培訓班突擊后,可以先面試小公司
在上文里,培訓班出身的同學可能看到的是比較悲觀的描述,這里要說明,因為我所在的公司規模不小,而且給出的工資不算低,所以要求也相對高些。
但大家也可以想下,更多的是中等規模或人數較少的公司,這類公司可能更需要的是能直接動手的人,所以大齡轉行或通過培訓班突擊經驗的同學,或者因為相關經驗比較少,剛開始可以考慮這類公司。
又如,當我有時候招外包員工時,同等職位的要求也會大大降低。什么叫外包員工呢?
- 比如某大公司A,出于預算的考慮,針對工作3年的初級崗,會開放若干正式員工崗和外包崗。外包崗是,這類員工和某外派公司B簽合同,但和正式員工一起上班,這類員工的面試要求會低不少,也經常招些剛從培訓班里出來的同學。
此類外包崗,由于要求不高,而且能獲取大公司的工作經驗,同時若干年后還有可能轉成正式員工,可以是相關同學的首選。如果培訓班推薦就業的老師沒相關渠道,你可以自己通過朋友或獵頭找。
五、面試官怎么面試有培訓班經歷的人?論培訓班同學如何準備面試?
上文的主要內容是,如何規劃自己的學習和如何挖掘項目經驗。哪怕是培訓班的學生,簡歷上只要稍微用心點,通過篩選并不難,但面試前更得準備。
1.如上所述,我首先得考察商業項目經驗的真實性,會問:項目幾個人做?做了多久?用什么管理方式?(比如敏捷方式)多久發布一次?部署在哪類服務上?如何部署?打包部署流程是什么樣的?目前有哪些客戶在用?諸如此類問題,確認的是項目真實性。
我聽到的不大好的回答有,項目直接部署在windows系統上,直接打成jar包然后手動放到服務器上,沒有日志監控等手段,說不清項目的管理方式和發布周期等一定會經歷過的要素。有人還會說,做完了,但過了很久,還沒客戶用,所以沒部署,產品網站沒流量。至于該怎么說,項目是大家做的,自己得想好。 在我其它博文里,也有相關說辭的介紹。
2.問全棧流程,比如前端用什么,后端用什么,數據庫用什么?更重要的是,部署相關的分布式組件大致用什么。我不求候選人講清楚業務,但要候選人用一個需求點講清楚全棧流程。培訓班出來的同學,往往會某塊講比較清楚,而缺乏整體流程。這塊其實也未必要講非常仔細,比如nginx如何配置負載均衡,我不要求你結合底層代碼講清楚實現機制,你通過配置文件簡單說明即可。同時,每塊你至少能通過簡單的配置和代碼講清楚流程。
3.隨后再問技術點。這里的建議是,先刷題,再精通,最好結合需求,通過底層代碼說明。
比如考察Java核心知識點,你先通過刷題,了解些基本說辭,先讓面試官感覺你全都會。然后深挖一塊,比如線程并發,你可以結合你業務需求,說這塊你用到線程池,具體參數怎么配,如何同業務整合,這里你可以背一些底層代碼,說下線程如何回收,超時時如何處理,這樣面試官就會認為你很精通。
4.再問優化點和組件。其實這塊已經屬于加分項了。比如數據庫調優你有哪些經驗?框架層面Spring Cloud你用過哪些組件。這里的回答要求是,不求多,但要結合業務說清楚一塊。比如數據庫調優方面,你說你知道索引,執行計劃,分庫分表,但都是理論經驗。這還不如你就結合一個業務點,本來sql語句怎么樣,但我通過加索引,讓這句話優化到10秒執行完。類似的,你結合業務說清楚幾點,就一定能證明自己的能力。
以上可以說是培訓班出身同學面試時的通病,大家如果注意,就可以超越不少對手。
六、簡歷和面試過程中要不要回避培訓經驗
可能不同的人有不同的觀點,我的建議如下。
-
第一,如果你這個時間段除了寫培訓班經歷沒其它好寫,與其寫待業中,還不如寫在培訓班里學習。或者你剛從學校里出來,或者剛畢業,本身經驗少,那么可以寫上培訓班經歷。
-
第二,剛才我已經給出了寫明培訓經歷的后果,大家如果感覺能在面試中用技術或經驗說服面試官,那你可以寫上。或者說難聽點,債多不愁,你找相關工作時的不利因素也夠多了,不差這一條,而又得靠培訓班經歷來撐臺面,那么可以寫上。
-
第三,再啰嗦一句,不管如何,更多得是挖掘相關項目經驗,而培訓經驗可以落實到商業項目經驗里。比如你報了個周末班,在其中學到了netty等分布式組件的知識。同時你在平時上班的項目里也在用,也遇到半包粘包或零拷貝等問題,但在上培訓班前你沒重視,那么你就可以把培訓班學到的技能優化這部分的簡歷。
七、總結:進階道路可以曲折,但別小富即安
培訓班出身的同學后面的發展得靠自己,剛出來后,可以找個能提供實踐機會的公司。比如我在上海,經常聽說有公司招不到人,對他們來說,不在乎候選人的出身,甚至不在乎學歷,只要能干活久行,而培訓班出身的同學能證明這點還是綽綽有余的。
另外,我經常到培訓班網站去了解我的對手,在看完他們項目描述之余,每次都會看他們學生的就業情況,具體我不多說,大家也可以自己觀察思考,不過大家可以從中看到不少積極的因素:進小公司應該是沒太大問題的。
總之,要不要進培訓班大家自己考慮,自己發心看資料也是一種選項。不過話說回來,**培訓班出身的程序員找到工作并不難,至少在上海是這樣,就工資和工作時間的問題。**但穩定后絕不能沾沾自喜,更得繼續掌握高級開發乃至架構師的知識,從而力圖進大的好的公司,力求更高工資的職位。
最后
以上分享的全部分布式技術專題+面試解析+相關的手寫和學習的筆記pdf,高清完整版戳這里免費領取
還有更多Java筆記分享如下:
以上分享的全部分布式技術專題+面試解析+相關的手寫和學習的筆記pdf,高清完整版戳這里免費領取
還有更多Java筆記分享如下: