非科班渣碩如何逆襲,拿到BAT等大廠offer?

前言

在下本是跨專業渣考研的985渣碩一枚,經歷研究生兩年的學習積累,有幸於2019秋季招聘中拿到幾個公司的研發崗offer,包括百度,阿里,騰訊,今日頭條,網易,華爲等。

一路走來也遇到很多困難,也踩了很多坑,同時我自己也探索了很多的學習方法,總結了很多心得體會,並且,我對校園招聘也做了一些研究和相應的準備。在今年的秋季招聘結束以後,我也決定把這些東西全部都寫成文字,做成專題,以便分享給更多未來將要參加校招的同學。


大學時期的迷茫與堅定

我的本科專業是電子信息工程,基本沒有接觸過計算機專業的課程,只學過c語言,然後在大三的時候接觸過java,Android,以及前端開發。這時候我只是一個剛剛入門的菜鳥,還不知道軟件開發的水有多深,抱着試一試的態度去應聘了很多公司。結果可想而知,連簡歷篩選都沒有通過。

當年我對遊戲開發很有興趣,特別是對網易遊戲情有獨鍾,但是當我看到網易遊戲研發工程師的招聘要求時,我只能望而卻步,因爲它要求學歷至少是985的碩士。

也因爲這個契機,我在大三的暑假開始準備考研,花了一個月的時間深思熟慮之後,選擇了華科作爲我的目標院校。

於是,2016年的下半年,我成爲了“兩耳不聞窗外事,一心只讀聖賢書”的考研黨,回想起來那確實是玩命學習的半年時間,每天穩定泡在圖書館8個小時以上,有時候學到宿舍都能學到晚上12點,那時候感覺自己完全變了一個人似的,可能當一個人爲了某個目標而努力時,真的會變得不一樣。最終我順利地考上了,令我意外的是,成績還挺不錯。

研究生時期的方向選擇

對於即將讀研的同學來說,一般有兩件事很重要,一件事是選擇導師,一件事是選擇方向。

我在剛讀研的時候最頭疼的也是這兩件事情。我當時本着想要找實習的想法選擇了我現在的導師,事實證明我的選擇還是很正確的,我在研二有大段時間去參加實習,讓我在大廠裏有足夠的時間去鍛鍊和學習。

而選擇方向這件事,我倒是折騰了好久。研一期間我做的最多的事情就是看書了,當時自己的方向還不明確,所以找了很多書來看。當別人都在專研數據挖掘和機器學習時,我還在各種方向之間搖擺不定。

我在讀研之前想做遊戲開發和Android開發,但我以前也學過Java Web開發。於是我在網上了解對應方向的資訊,發現遊戲研發的就業面比較窄。

最後,我綜合公司的崗位情況,個人興趣,以及我之前的學習經歷等因素,選定了Java開發方向。

於是,我在學校的實訓項目中選擇了Java Web項目,從此也真正意義上地踏上了Java的學習之路。

笨鳥先飛,勤能補拙

儘管我的入學成績是全學院的top3,但是,我發現,作爲非科班出身的我,和很多科班同學相比,差距非常大,不論是在技術還是項目履歷上,都和大牛同學們有很大差距。

於是我痛定思痛,決定好好彌補我的不足,平時一有空就去圖書館找些書來看,上課的時候也會忙裏偷閒補一補基礎課程。甚至有時候我還會偷偷去旁聽有一些本科生的課程。

除此之外,我還在各種視頻網站上看網課,比如看慕課網的Java課程,亦或是看中國MOOC的計算機基礎課程,裏面的操作系統,數據庫等課程也讓我印象深刻。

就這樣,每天我都把自己的時間填滿,愣是在研一上學期看了好幾本書,把一些計算機基礎課程勉強補上來了一些。雖然現在看來有些學習方法可能還是不夠成熟,但是不得不說這期間的努力也給我自己一些底氣。

歷盡艱辛,終得實習

時間來到研一下半頁,這時候我剛剛結束了Java Web的項目實訓,在做這個項目期間,我發現自己暴露出了很多問題,項目實踐能力不足,Java基礎不紮實。這件事情也給我自己敲響了警鐘,因爲我計劃在春招期間找一份實習,目前的水平還遠遠不夠。

壓力之下,只有努力一條出路。於是,從那時候起,我開始了“留守“實驗室的學習生活。爲什麼要在實驗室學習,一是因爲學習氣氛好,而是平時大家也可以互相交流問題。

每天早上9點到實驗室打開電腦,晚上9點背電腦回寢室。在將近10小時的時間裏,我會看Java相關的書籍,看一些技術博客,有時候看到一些重點難點也會自己寫一些博客。在面試前幾天我會花時間去看這家公司的面經,搞懂每一個面經上的知識點,並且記錄在我的筆記上。

慢慢的,筆記越來越多,我參加面試的公司也越來越多,於是我開始不斷完善自己的簡歷,總結自己的面試技巧,選擇合適的網申時機。這樣的日子持續了好幾個月,直到我們中的一些人拿到了offer,到最後,每個人都拿到了心儀的實習offer,我們在實驗室的使命終於結束了。

實習路上,我明白了很多

踏出學校大門,我的實習之路纔剛剛開始。8個月左右的實習時間,說長也長,說短也短。但經歷過這段實習之後,我才明白了很多事情。

在豬場實習的日子裏,我第一次瞭解大公司的開發流程,親自參與項目代碼的開發,我的導師會和我提需求,會指導我怎麼做得更好。在這裏的成長無疑是非常快速的,但我很快意識到我的問題所在,不熟悉部門技術棧,甚至對很多Java Web基礎技術都不太瞭解。總的來說我意識到了,我的知識深度和廣度都還沒有達標。

離開豬場後我來到了熊廠。部門給我的需求依舊不難,簡單的crud會使人麻木,但我很快就意識到了問題所在,我不熟悉部門技術棧,也導致我看不懂別人的代碼,再這樣下去,我不僅沒有提高的機會,甚至會忘光基礎知識。

終於,我找到了新的目標,我要搞懂項目架構,瞭解相關技術棧(我們部門做的是私有云),於是我花大量時間看這方面的書,有時候很多內容我看不懂,是因爲我的操作系統和網絡知識不紮實,因此我會重新去看這方面的書籍。

到後來,我工位上的書越來越多,我對部門的技術棧也越來越熟悉,有時候我還會去聽技術分享,看看內網的課程,真正地實現了自己在技術廣度上的拓展。

有時候我覺得,實習生活是會騙人的,你佩戴着和正式員工一樣的工牌,和他們做着類似的事情,會讓你覺得你的水平已經和他們差不多了,但事實上是,在轉正之前,你和他們還差得遠,所以不要停下自己前進的腳步。

秋招前的積累與沉澱

研究生期間我有一件事情一直在堅持,那就是做筆記和寫博客。

做筆記,就是記錄學習中大大小小的事情,可能是面試問題,可能是一週的學習計劃,也可能知識一個知識點,總歸都是值得記錄的東西,對我來說,就是一種積累。而對於博客,我從一開始只用於記錄項目,到後來做轉載,再到後來寫原創,整理系列文章,則更像是一種沉澱。

但是在春招剛剛結束的這段時間,我發現一個問題,之前學過的東西忘記了很多,特別是那些理解的不夠深的知識點,總是特別容易忘記。另外我發現,雖然我在筆記中記錄了很多的知識點和麪試題,但是往往我只看過一次,不會再去看第二次。

這也意味着,雖然記錄的內容很多,但是真正消化吸收的內容很少,腦子裏充斥着總是那些零碎的知識點和麪試問題,對於完整的知識體系知之甚少。這些問題在春招期間也不斷地暴露出來,讓我思考了很久。

面對如此窘境,我想做出改變,趁着現在時間充裕,我想要爲這些內容做一次減法,並且藉此機會,推翻自己原有的知識體系,重建新的知識框架。簡單說來,就是重新開始學習Java後端,這次我要用一種更高效的方式。由於我之前已經有基礎,所以我對完成這一目標有信心,相應地我也爲此做出了明確且詳細的學習計劃。

三個月的時間裏,我首先按照Java後端路線圖安排好複習計劃,每天覆習一到兩部分內容,主要通過看高質量博客,並且結合代碼實踐的方式鞏固這部分知識點,每完成一部分內容,我就會對應地整理出一篇博客出來,發在我的個人博客上。

當我完成了一整個專題的複習之後,我會把這些文章整理成一個專題,這樣一來這部分內容就複習完畢了。我吸取了之前的教訓,寧願花半小時看一篇高質量文章,也不花10分鐘看5篇爛文章。深度閱讀的好處,就是可以讓這部分內容更好地融入你腦內的知識體系。

當我完成所有內容的複習時,提前批已經開始了。終於要上戰場了,因爲戰前準備比較充分,所以我對秋招還是比較樂觀的,但事實上,秋招不僅是攻堅戰,而且是持久戰,要笑到最後,確實也不是那麼容易的事情。

秋招之路,砥礪前行

不管前期做了多少準備,到秋招的時候也不能掉以輕心,從七月底第一次面試到9月基本佛系,中間經歷了大大小小的面試。

在完成知識體系重建以後,我把重點轉向了另外幾件事,一是完善和熟悉我的簡歷,以便在面試中能夠自圓其說,二是持續刷題,保持對算法題和筆試真題的手感和熟練度,三則是看面經查缺補漏,我一直認爲看面經是很重要的一項複習內容。

就這樣,我一邊繼續複習,以便開始了一場接一場的面試接力。

起初,我面了幾家小公司練手,接着阿里的提前批接踵而至,我戰戰兢兢地參加了阿里中間件部門的面試,面難難度還算適中,一共四輪面試,當時我的表現也還不錯,問題基本都答上來了。面完不到一週以後我就收到了通過的消息,當時還有點懵。沒想到第一個offer這麼快就來了。

這段時間內,螞蟻金服的兩個部門也給了我面試機會,我都參加了它們的面試,並且順利地拿到了其中一個部門的offer。由於我對螞蟻這邊的業務比較感興趣,最終選擇了螞蟻金服的offer。

阿里提前批的勝利確實是意外之喜,但也大大地鼓舞了我,於是我又參加了百度和騰訊的提前批面試,由於百度的提前批不走流程,一共有四個部門面試了我,每個部門都有2到3輪面試,總計約爲12次面試,到後來我已經快暈了,看到百度的電話就害怕,由於面試次數太多,有時候發揮確實也不是很好,我也沒有特別在意,只當是在鍛鍊自己了。

百度的面試難度每個部門不一樣,但是每次面試必寫算法題,一寫算法題,時間至少就是一個小時以上,每次面試完都有一種身體被掏空的感覺。

經歷了百度面試的摧殘以後,我手寫算法的速度也變快了,很多坑也被我填上了。接下來面對騰訊的面試,我也是既激動又擔心,騰訊的面試難度比較大,對於操作系統和網絡的知識喜歡深挖,問的東西也很有深度,面完前三面以後,第四面拖了3周才進行。當時三面面試官對我的評價比較好,也讓我信心爆棚了好久。

在等待騰訊終面的期間,我參加了今日頭條的面試,當時有幸拿到了一個白金碼,免去筆試,事實證明白金碼作用真的很大。頭條的面試難度和騰訊差不多,三輪面試,同樣需要寫各種算法,由於是視頻面試,我可以清楚地看到,頭條的面試官真的非常高冷啊。面完頭條我的第一感覺就是應該掛了吧。沒想到最後還是給了offer。

結束這幾家大廠的面試之後,我覺得我的秋招已經接近尾聲了,不過由於之前投的比較多,所以我又面了幾家大公司,如網易,華爲,快手等。到9月上旬的時候,我接連收到了bat和頭條,網易的意向書,阿里最早,騰訊最晚,每收到一封意向書我都激動萬分,沒想到最後我真的可以集齊bat等大廠的offer。

9月以後,除了偶爾和同學做幾場大廠的筆試,我基本就佛繫了。直到後來一些外企例如亞馬遜,微軟等公司開始招人,我才重新回到狀態,繼續刷題看面經的複習生活,至於結果,現在還未知,有興趣知道的小夥伴可以來交流哈。

相关文章