1. 程式人生 > >通過良好的面試技巧進公司後,怎麼過試用期?

通過良好的面試技巧進公司後,怎麼過試用期?

    我最近在幫助不少同學提升面試技巧,結果不少同學在面試成功之餘會忐忑不安?面試成功以後怎麼過試用期?甚至有同學會因為擔心試用期被辭退,所以在有多種選項的情況下,只挑了工資較低的或要求較低的外派公司。在本文裡,姑且先不談這些同學是怎麼面試成功的,也不說零基礎的同學如何快速提升技能,而是說下面試成以後,如何在試用期裡好好表現,從而能順利地過試用期?

1 先說結論:哪怕試用期被辭退,也得挑戰高階工作

    比如零基礎的Java小白,平時再看技術,再做學習專案,看再多的視訊系列課程,背再多的面試題,但閉門造車學到的技能,一定沒通過真實工作得到的值錢。再如,一個高階開發,在升級到架構師之前,一定得通過真實專案實踐分散式元件等技能。所以哪怕新公司用到的技術你都沒實際專案經驗,或者哪怕你自己感覺你Java基礎很差,哪怕你再預感到你有可能過不了試用期,但一旦面試成功,你應該挑戰更高階的職位。

    否則的話,如果怕擔風險還是在原來的公司裡繼續幹低階的活,那麼就永遠沒機會實踐更值錢的技能點,因為平時學到的和專案裡用到的一定是兩樣的。相反,其實在新公司裡過不了試用期的概率,其實沒你想象那麼大,而且,哪怕你真的沒過,你在這一兩個月裡,好歹有機會實踐到諸如專案開發、專案釋出和分散式等技能,這樣你再換工作時,一定把握更大,再過試用期的時候,通過的機會一定就大大增加了。

2 說下公司重新找一個人的成本,再看下哪些人過不了試用期

    假設試用期是3個月,同時專案組新招來的人實際經驗要比面試中表現差很多,這其實不稀奇,網上一大堆面試資料,基本上新招的人大多會有水份,如果要開掉這個人,公司得付出多少成本呢?

    1 第一是這段時間付出的工資,而且不能光算工資,還得算對應的社保,一般是工資的1.5倍。

    2 第二是員工可能去仲裁,畢竟不是每個公司都能給出證據,證明該員工到了足以能被開掉的地步。這樣員工仲裁成功,給補償金還是次要的,萬一被要求“恢復勞動關係”,就不怎麼好辦了。

    3 如果真給補償金,那麼可能是n+1,估計至少的1.5倍工資(我沒研究過勞動法,有錯的大家指出)

    4 可能還得再費時費力再去招新人,新人未必能短時間到崗,而且招來的新人還可能更水,萬一新人可用,那還得重頭開始教起。

    所以招到的人,能力雖然比較差,但如果態度好,肯加班,肯多做多問,專案經理感覺這位員工還有希望在短時間內教到能幹活的地步,那麼在試用期結束後,頂多就把員工說一頓,說能力不行要努力等等,頂多給個差點的績效,如果再降工資就頂了天了,至少我的學生沒遇到,一般不遇到什麼事情,比如公司近期不景氣,過試用期其實是大概率的事情。

    那麼哪些人過不了試用期呢?

    1 能力態度都不行,比如不僅無法單獨完成任務,而且遇到問題不肯問,總是拖專案組的進度,或者不肯加班,或者出工不出力。

    2 無法和團隊的人有效合作,比如無法溝通,或者性格上有問題。

    3 或者出了很嚴重的bug,比如讓公司伺服器當了半天,或者出現很嚴重的資金損失情況。

    總之,只要公司或專案組執行正常,公司只有在忍無可忍的情況下才會不讓過試用期。但是,能否過試用期和同事間的私人關係無關,有些人可能會想,通過和專案經理搞好關係,然後技術差些也能過試用期,這種想法可能就有些天真了。

3 首先要做的,一定是山寨現成程式碼

    不管你在面試中被問多高階的問題,新員工到崗以後,大概率是做增刪改查的業務模組,這其實是有現成程式碼可以參照的。所以新員工的到崗以後,可以按照如下的步驟熟悉開發步驟。

    1 一定得先熟悉開發環境,以java開發為例,具體是,裝好Idea,jdk等開發環境,熟悉GIT(或其它版本管理工具),能通過git拉下現有的程式碼,並配置好資料庫的客戶端,做到能在本機連到mysql或oracle資料庫。

    2 儘快通過git等,把現有程式碼拉到本地,並且儘快能跑通專案程式碼,以及對應的junit等。如果可以,再配置好jenkins或jira等專案管理工具。其實,當你在本地(或通過其它渠道)執行通程式碼,並看到效果時,你就一半的概率能過試用期了。

    在這個時間段裡,萬一你真什麼都不會,比如Git以前沒用過,或者jenkins以前都沒聽說,那麼一定別自己瞎折騰,一定得多問問別人,當然別人也有自己的事情,未必也能幫你,那麼你可以通過請吃飯給些小恩小惠的方法,讓別人幫你,畢竟這對懂的人來說,屬於舉手之勞。

    3 當你執行通現成程式碼以後,你可以向專案經理要求活幹了,爭取在入職後的第一週裡,提交第一行程式碼,或者完成第一個任務。

    當你完成任務時,一定別什麼都自己做,一定得通過觀察或問別人(大多數情況是問人),瞭解下有哪些模組是做類似功能的,比如要你做個提交訂單的模組,你就直接問,我可以照什麼流程做?然後可以照著同類的“提交評價”的流程依樣畫葫蘆,照抄spring boot控制器端,業務端或其它全棧流程,如果遇到事務或日誌程式碼時,也可以照現有程式碼做。

    這時你別多發揮,因為現有的程式碼是經過多輪測試驗證過的,你照著做總不會錯,而且你做好以後,一定得考慮多種情況,多測測,甚至得問些技術大牛,請他們幫忙看看有哪裡要改進。

    對新員工而言,第一個任務一定不會太難,專案組也不敢把容易出錯的任務讓新人幹。而且通過第一個任務,專案組更多的是觀察新人的態度和處事方式,所以哪怕新人能力再差,只要態度端正,完成第一個任務一定不是難事。這樣至少你能初步證明能“達到崗位所需的要求”。

4 能力可以慢慢提升,但態度一定要積極

    其實在完成第一個任務,或者後繼任務時,如果新人能力實在不行,估計也是會有些難度,比如之前只調通過Spring boot學習專案,要在真實專案裡使用過濾器或者日誌元件或者安全元件,這似乎也是有些難度的,但你不會做,不等於你沒法完成任務。不過如果你因為不會做,所以用如下的方式幹活,還是有可能無法過試用期。

    1 比如一個模組開發截止日是3天后,這3天裡,你通過查資料熟悉了各種技術,但功能模組沒完成,或者即使完成但一大堆bug。

    2 或者別人問你有什麼問題,你怕丟臉什麼也不說,就自己琢磨,到時候完不成任務。

    3 或者你因為什麼也不懂,所以到處問人,問太多很低階的問題。

    4 或者雖然你勉強能完成任務,但平時上班晚到晚上不多加班,上班時吊兒郎當,這樣也有可能被開。

    那麼正確的做事方式是怎樣的?

    1 至少看上去要比誰都積極,比如公司9點上班,老員工一般9點半來,你一定得8點45到公司。下班時,你至少別第一個走,至少等人走差不多再走。上班時,儘量少看手機,儘量讓人家感覺你是在敲程式碼或者查資料。

    2 遇到問題先網上查,多照抄現成程式碼,但如果你感覺這個問題你在一個小時之內搞不定,那麼一定得問。問人時別盯著一個人問,多問問不同的人,而且問之前一定要提出具體的問題,比如怎麼連資料庫,怎麼傳引數,別直接問“這事情該怎麼做”,同時請吃飯或小恩小惠不能少。

    3 開會或領導佈置任務時,遇到不清楚一定問,在做新任務前不懂很正常,多問很正常,在任務前,最好能問到,這個任務可以照著什麼程式碼抄,或者具體該通過哪些步驟實現。

    4 你開發好程式碼以後,自己一定得多測,而且提交程式碼請人家測的時候,多和測試人員溝通問進度,遇到問題積極解決。

    5 當你做好手頭事情以後,一定得主動要新活幹,別因為有空閒而洋洋得意,畢竟這個時候很多人都關注著你。

    我的幾個學生,以前是做運維的,通過培訓會了java,可以說Java基礎很薄弱,但人家態度好,就照著上述要點做了,後來聽說也過試用期,其實有些同學能過試用期,也是出乎我的意料的。 

5 多除錯,多查資料,問之前應嘗試各種方法

    如果你當前能力有些欠缺,靠自己的能力未必能幹完整個任務,但可以通過如下的辦法獲取一定的進展。就好比以前考試做10分的大題,可能當前雖然拿不了10分,但總能完成開始的一些步驟拿個3,4分。工作時也是,比如在試用期間,你先拿到3分,再此基礎上再去問別人,效果要比一開始就問要好很多。 

    第一,在幹活前,先通過各種手段執行通當前的程式碼,比如在本地啟Spring Boot後,能在本地看效果,或者你輸入某些命令後,能在遠端url上看到效果。你一旦看到效果了,就能嘗試著做些事情,通過執行結果一步步推進了。

    第二,在理解任務需求的基礎上,通過問人,搞清楚這個任務可以參考其他什麼模組,比如處理請求部分可以參考訂單模組,獲取資料和異常處理部分可以參考風控模組,事務處理和非同步通訊模組可以參考會員模組。這樣你好歹就能仿照著現有程式碼,大致寫好程式碼。可以這樣說,除非是新專案(這種概率不多),很多專案都有一大堆可以參考的程式碼,甚至你都無需到網上查新技術的實現方式,你東抄西抄,就能用較短的時間寫好程式碼。

    第三,然後是除錯,除錯無非就是本地debug,或者加關鍵列印資訊看引數和結果,或者看異常輸出情況,這樣就能通過對比你的輸出和期望結果,一點點改進你的程式碼。

    第四,再考慮下邊緣業務情況和出異常時你該怎麼處理,這也可以參考現有程式碼。

    如果新人能根據現有程式碼實現新功能,哪怕程式碼寫得很難看,或者沒有考慮高併發等場景,專案經理一般也就認了。或者新人哪怕能力差,但經過稍許指點,告訴他怎麼去抄程式碼實現新功能,專案經理一般也能忍。但如果新人都不知道完成任務的具體步驟,或者什麼都不先思考什麼都問,而且到試用期結束還這樣,讓專案經理看不到任何希望,估計專案經理就可能考慮換人了。

    當我的學生照著上述步驟一步步推進時,就會把“如何實現新功能”這個大問題,拆分成若干個技術小問題,比如Spring Boot前端如何傳post引數,或者是如何通過JPA返回List型別資料,以及如何用事務等等,這樣很多問題就可以通過除錯或者抄現成程式碼解決。在這過程中,哪怕是問別人,你由於有一定的基礎,好歹也嘗試過,所以也不會讓別人(尤其是專案經理)有“什麼都不懂”之類的感受。  

6 多和人溝通,遇到問題積極參與

    在試用期裡,公司不僅會考察新人的寫程式碼問題,更會綜合考察新人解決問題的能力。

    比如在開發功能時,需要和其它組溝通介面,你就得主動多跑跑腿,多去問別人。

    又如你業務需求不熟悉,而專案經理也吃不準,那麼你可以主動找產品或者提需求的人問清楚細節。

    或者你在寫程式碼或測試或幹任何事情時遇到問題,更得積極問別人,爭取早日解決問題。

    或者測試人員發現了問題,你得主動和測試溝通,瞭解問題的重現步驟,修好以後還得主動讓測試人員再測一遍。

    尤其當出現問題時,是你的問題就不說了,哪怕不是你的問題,而且哪怕以你當前的能力解決不了,但你一定得表現積極,比如看到報alert趕緊和相關人說,或者一起看日誌分析,或者別人在加班解決時,你至少也陪著加班,當問題解決後你也幫著一起測。

    其實這樣做,對個人提升幫助很大。姑且就不說技術方面,你這樣上班時東奔西走,別人不願做的活你幹了,有時候甚至和別人溝通時還得看人家臉色,你的領導,尤其是能決定你是否能過試用期的專案經理一般都會看在眼裡,退一步說,哪怕你試用期結束時可能還真沒達到公司的預期,但就單憑你解決問題的態度和能力,也會幫助你留下來。因為之前也說了,公司要找個合適的人也不是件容易的事,而你態度積極,又能讓公司看到希望,所以相比之下還真能繼續幹。

7 總結:可能評價未必高,但大概率能過試用期

    如果你在面試時能說會道,掌握了介紹專案經驗等方法,那麼你確認能給面試官較高的期望,這樣當你入職後,這種期望真有可能轉換成失望。

    但是,如果你按照本文給出的建議,第一在做任務時多參考現成程式碼,第二態度一定積極,第三姿態一定放低,這樣可能在試用期結束時,你的領導哪怕感覺你的能力比預想要低,但會認為你好歹能幹活,而且能積極主動地幹活,所以往往會在你的轉正報告上寫上“能力有待提升,但態度端正,有潛力,勉強建議過試用期”等評價。 

    這樣你在之後若干月乃至當年的考核中,評價未必會高,但好歹你會有專案實踐的機會,要知道,你之前通過看書通過執行學習專案掌握的(Java基礎或資料庫或框架或分散式元件等)技能,一定得通過實際的專案才能轉換成值錢的專案經驗,而你未來通過跳槽進大廠爭取高工資,一定得靠這些專案經驗。

    但相反,如果你通過學習掌握了一些Java技能,但因為怕過不了試用期從而不敢去嘗試,或者你看明白了一些分散式元件等值錢技能,但出於同樣的原因而不敢去挑戰資深開發或架構師的崗位,那麼隨著你年齡的增大,之後的競爭力可能就越來越小了。

    在文章的最後,祝願大家在跳槽到新公司之後,在拿到更高工資的同時,都能順利地過試用期。同時,也請大家對本文多多點贊支援。

    最後請大家關注我的公眾號:一起進步,一起掙錢,在本公眾號裡,會有更多精彩的面試和技術相關的文章。