1. 程式人生 > >從篩選簡歷和麵試流程講起,再給培訓班出身的程式設計師一些建議

從篩選簡歷和麵試流程講起,再給培訓班出身的程式設計師一些建議

    本人最近幾年一直在外企和網際網路公司承擔Java技術面試官的職責,大多面試的是Java初級和高階開發,其中有不少是培訓班出身的候選人。

     在我之前的博文裡,從面試官的角度聊聊培訓班對程式設計師的幫助,同時給培訓班出身的程式設計師一些建議,我已經說明了,我對培訓班候選人沒有偏見,而且我的面試官同事大多也是這樣認為的。在這篇文章裡,我將直接從篩選簡歷和麵試這兩個流程講起,不僅會分析培訓班候選人落選的原因,更將給出若干建議。

     同樣,在本文裡,本人不會為任何培訓班站臺,同時也談不上拆臺任何培訓班。

1 不少培訓班候選人的簡歷中,缺乏足夠的商業專案年限

    不少同學會有這樣得感受:投出去不少簡歷,但就沒有面試機會,對培訓班出身的朋友來說,可能這種情況更甚,原因是,這些簡歷沒過篩選。沒過篩選的原因無非有兩個,第一,關鍵技術的專案實踐經驗沒達到該職位的規定年限,第二,簡歷上描述的技術和該職位的需求嚴重不符。

    比如本崗位需要一個有3年Java開發經驗的人,某簡歷上寫,雖然有3年經驗,但不是做Java,只是最近3個月在某培訓學校裡呆過,雖然這三個月的經歷寫得花團錦簇,但抱歉,頂天也只能算3個月學習經驗,甚至還沒法算成是商業專案經驗,可能我所在的是大公司,所以這類簡歷一定沒法通過篩選,更沒有面試機會。

    我看過不少此類簡歷,相關商業專案年限缺乏到不值得面試。相反,我也見過不少錦上添花型的培訓經歷,比如某人一直在做Java,最近參加某個培訓班,上了大資料或機器學習或雲等高階技術,那麼此類簡歷是憑足夠的專案年限過篩選,而在面試中,如果從培訓班裡學到的技能也講得很好,那麼絕對是優先考慮。

    這部分能給出的建議是,不論是否參加培訓班,首先得挖掘相應的商業專案經驗,如果你的專案經驗介於學習和商業專案之間,那麼儘量往商業專案上靠。 

    1 兼職類專案,比如你本職幹c#,但幫朋友幹了私活用java,而公司職位介紹需要java,那麼可以著重挖掘你的java經驗。

    2 我知道有些培訓班有實訓專案,就從外面公司裡接了專案讓老師帶領著做,這塊,一定得寫成商業專案。

    3 你之前在公司主要是做測試,但好歹也用過java,那麼在申請java工作時,一定得重點寫java。

    什麼叫商業專案?你做的專案能掙錢就叫商業專案。如何在簡歷中區分商業專案和學習專案?突出客戶,上線部署過程,專案管理和使用情況這些要素。 

2 直接描述培訓班學習經歷會帶來的負面影響

    我拿到一份最近幾個月脫產在培訓班學習的簡歷,我首先會想:為什麼他要上培訓班,是不是之前沒有相關經歷?相信很多面試官都有相關顧慮。如果候選人剛從學校裡出來,公司對他的期望不高,那還不要緊。但如果需要的是個有3年經驗的崗位,那麼就要著重看簡歷乃至重點面試了。

    比如簡歷上,除了培訓班有相關經驗外其它沒,那麼估計連面試機會都沒。有些培訓班會幫忙優化簡歷,之前的專案經驗描述雖然匹配職位介紹,但這類候選人會被非常仔細地盤問。

    而且,去培訓班一般會導致若干月的空檔期,這對下份工作來說,不是好事,畢竟拳不離手曲不離口,而且這在背景調查時能通過看社保等看出來,無法作假。      換句話說,你在培訓班學習脫產的學習經歷會給你帶來兩大不利因素,第一暗示面試官你缺乏相關經驗,第二會有“未被僱傭”的時間段。如果某些同學確實不得不通過培訓班來改變自己,別無他法。但如果你目前工作還算穩定,是想通過培訓班來提升自己,那麼如下的建議或許對你有用。

    1 有條件的話,儘量別脫產學,如果有必要,報一個週末班。

    2 或者,你可以找些視訊資料,邊上機邊學,不過這就需要一定的毅力。學什麼,怎麼學?找份大綱和系列的課程資料。(我不推薦任何資料)

    3 還是這句話,首先要做的是,在平時工作中挖掘相關經驗。比如你在做測試,想轉java,那麼在學習之餘,一定得在公司裡找個java實踐機會,怎麼找?多觀察,多動腿跑,多動手實踐,外帶多動嘴請教人。要知道,接下來換工作,更看重得是直接的專案經驗。

    那麼是否要在簡歷上寫明培訓班經歷呢?其實這不是問題。當你已經在脫產學了,那麼你不寫,這段經歷又該如何描述呢?如果你是自學,那麼公司工作的經歷絕對要比培訓班經歷好看。所以這裡的問題還是會歸結為:要不要報脫產的培訓班,而不是簡歷該怎麼寫。 

3 大齡轉行Vs年輕的初級程式設計師,公司一般會如何選擇?

    如果大齡IT人要轉行,去培訓班諮詢,我不知道相關人員會怎麼說,但我就從面試官角度來說明。可能我一直在大公司,就站在這個角度來分析。

    兩份簡歷,一份是28歲,本科,最近1年是java,之前是其它,另一份是24歲,全部工作經驗是1年,都在做java。

    首先看技能,比如基礎,對框架的理解,對資料庫等優化的技能,這個在我的博文最近面了不少java開發,據此來說下我的感受:哪怕事先只准備1小時,成功概率也能大大提升裡,已經有相關描述。如果兩者差不多,年輕人很佔優勢,畢竟錢一般能少給,而且精力充沛。而大齡程式設計師的經驗不對口,本職位用不到。

    確實,培訓班能提升學習效率,相當於用錢買時間,而有些大齡程式設計師缺的就是時間。但對這些人而言,更缺乏相關技能的實踐經驗,如果要報培訓班,這是你自己的事情,但同時還得想辦法補充相關經驗。這點在本文裡已經有過描述,在本人的其它博文裡,也有相關描述。 

4 經過培訓班突擊後,可以先面試小公司

    在上文裡,培訓班出身的同學可能看到的是比較悲觀的描述,這裡要說明,因為我所在的公司規模不小,而且給出的工資不算低,所以要求也相對高些。但大家也可以想下,更多的是中等規模或人數較少的公司,這類公司可能更需要的是能直接動手的人,所以大齡轉行或通過培訓班突擊經驗的同學,或者因為相關經驗比較少,剛開始可以考慮這類公司。

    又如,當我有時候招外包員工時,同等職位的要求也會大大降低。什麼叫外包員工呢?比如某大公司A,出於預算的考慮,針對工作3年的初級崗,會開放若干正式員工崗和外包崗。外包崗是,這類員工和某外派公司B籤合同,但和正式員工一起上班,這類員工的面試要求會低不少,也經常招些剛從培訓班裡出來的同學。

     此類外包崗,由於要求不高,而且能獲取大公司的工作經驗,同時若干年後還有可能轉成正式員工,可以是相關同學的首選。如果培訓班推薦就業的老師沒相關渠道,你可以自己通過朋友或獵頭找。

5 面試官怎麼面試有培訓班經歷的人?論培訓班同學如何準備面試?

    上文的主要內容是,如何規劃自己的學習和如何挖掘專案經驗。哪怕是培訓班的學生,簡歷上只要稍微用心點,通過篩選並不難,但面試前更得準備。

    1 如上所述,我首先得考察商業專案經驗的真實性,會問:專案幾個人做?做了多久?用什麼管理方式?(比如敏捷方式)多久釋出一次?部署在哪類服務上?如何部署?打包部署流程是什麼樣的?目前有哪些客戶在用?諸如此類問題,確認的是專案真實性。

     我聽到的不大好的回答有,專案直接部署在windows系統上,直接打成jar包然後手動放到伺服器上,沒有日誌監控等手段,說不清專案的管理方式和釋出週期等一定會經歷過的要素。有人還會說,做晚了,但過了很久,還沒客戶用,所以沒部署,產品網站沒流量。至於該怎麼說,專案是大家做的,自己得想好。 在我其它博文裡,也有相關說辭的介紹。

    2  問全棧流程,比如前端用什麼,後端用什麼,資料庫用什麼?更重要的是,部署相關的分散式元件大致用什麼。我不求候選人講清楚業務,但要候選人用一個需求點講清楚全棧流程。培訓班出來的同學,往往會某塊講比較清楚,而缺乏整體流程。這塊其實也未必要講非常仔細,比如nginx如何配置負載均衡,我不要求你結合底層程式碼講清楚實現機制,你通過配置檔案簡單說明即可。同時,每塊你至少能通過簡單的配置和程式碼講清楚流程。

    3 隨後再問技術點。這裡的建議是,先刷題,再精通,最好結合需求,通過底層程式碼說明。

    比如考察Java核心知識點,你先通過刷題,瞭解些基本說辭,先讓面試官感覺你全都會。然後深挖一塊,比如執行緒併發,你可以結合你業務需求,說這塊你用到執行緒池,具體引數怎麼配,如何同業務整合,這裡你可以背一些底層程式碼,說下執行緒如何回收,超時時如何處理,這樣面試官就會認為你很精通。

    4 再問優化點和元件。其實這塊已經屬於加分項了。比如資料庫調優你有哪些經驗?框架層面Spring Cloud你用過哪些元件。這裡的回答要求是,不求多,但要結合業務說清楚一塊。比如資料庫調優方面,你說你知道索引,執行計劃,分庫分表,但都是理論經驗。這還不如你就結合一個業務點,本來sql語句怎麼樣,但我通過加索引,讓這句話優化到10秒執行完。類似的,你結合業務說清楚幾點,就一定能證明自己的能力。

    以上可以說是培訓班出身同學面試時的通病,大家如果注意,就可以超越不少對手。

6 簡歷和麵試過程中要不要回避培訓經驗

    可能不同的人有不同的觀點,我的建議如下。

    第一,如果你這個時間段除了寫培訓班經歷沒其它好寫,與其寫待業中,還不如寫在培訓班裡學習。或者你剛從學校裡出來,或者剛畢業,本身經驗少,那麼可以寫上培訓班經歷。

    第二,剛才我已經給出了寫明培訓經歷的後果,大家如果感覺能在面試中用技術或經驗說服面試官,那你可以寫上。或者說難聽點,債多不愁,你找相關工作時的不利因素也夠多了,不差這一條,而又得靠培訓班經歷來撐檯面,那麼可以寫上。

    第三,再囉嗦一句,不管如何,更多得是挖掘相關專案經驗,而培訓經驗可以落實到商業專案經驗裡。比如你報了個週末班,在其中學到了netty等分散式元件的知識。同時你在平時上班的專案裡也在用,也遇到半包粘包或零拷貝等問題,但在上培訓班前你沒重視,那麼你就可以把培訓班學到的技能優化這部分的簡歷。

7 總結:進階道路可以曲折,但別小富即安

     培訓班出身的同學後面的發展得靠自己,剛出來後,可以找個能提供實踐機會的公司。比如我在上海,經常聽說有公司招不到人,對他們來說,不在乎候選人的出身,甚至不在乎學歷,只要能幹活久行,而培訓班出身的同學能證明這點還是綽綽有餘的。

     另外,我經常到培訓班網站去了解我的對手,在看完他們專案描述之餘,每次都會看他們學生的就業情況,具體我不多說,大家也可以自己觀察思考,不過大家可以從中看到不少積極的因素:進小公司應該是沒太大問題的。

    總之,要不要進培訓班大家自己考慮,自己發心看資料也是一種選項。不過話說回來,培訓班出身的程式設計師找到工作並不難,至少在上海是這樣,就工資和工作時間的問題。但穩定後絕不能沾沾自喜,更得繼續掌握高階開發乃至架構師的知識,從而力圖進大的好的公司,力求更高工資的職位。

   如果大家感覺本文有幫助,請推薦本文,也歡迎大家通過評論來交流。

版權說明:

    有不少網友轉載和想要轉載我的博文,本人感到十分榮幸,這也是本人不斷寫博文的動力。關於本文的版權有如下統一的說明,抱歉就不逐一回復了。

    1 本文可轉載,無需告知,轉載時請用連結的方式,給出原文出處,別簡單地通過文字方式給出,同時寫明原作者是hsm_computer。

    2 在轉載時,請原文轉載 ,謝絕洗稿。否則本人保留追究法律責任的權