怎麼一口氣拿到百度,阿里,騰訊,今日頭條,網易,華爲Offer

前言

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

一路走來也遇到很多困難,也踩了很多坑,同時我自己也探索了很多的學習方法,總結了很多心得體會,並且,我對校園招聘也做了一些研究和相應的準備。

在今年的秋季招聘結束以後,我也決定把這些東西全部都寫成文字,做成專題,以便分享給更多未來將要參加校招的同學。

大學時期的迷茫與堅定

我的本科專業是電子信息工程,基本沒有接觸過計算機專業的課程,只學過c語言,然後在大三的時候接觸過java,Android,以及前端開發。

那時候我還不知道軟件開發的水有多深,抱着試一試的態度去應聘了很多公司。結果可想而知。

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

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

畢竟是跨專業,在複習過程還是有點吃力的,但是就靠着一股毅力和執着,半年之後,順利地考上了,成績還意外地非常好。

研究生時期的探索和規劃

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

我當時本着想要找實習的想法選擇了我現在的導師,事實證明我的選擇還是很正確的。

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

我在讀研之前想做遊戲開發和Android開發,但我以前也學過Java Web開發。於是我在網上了解對應方向的資訊,發現遊戲研發的就業面比較窄,並且基於我之前的學習經歷,java開發可能更加適合我。最終在學校的實訓項目中我選擇了Java Web項目,從此也真正意義上地踏上了Java的學習之路。

我的Java入門之路

之前說過,在研一期間看了很多計算機專業的書籍,比如計算機網絡,操作系統,數據庫等等,雖然吸收得都不太好,但也算是看過了。

於是我開始踏上學習Java的道路。最開始我找了一些Java的書單,然後買了一些比較基礎的書籍,先啃爲敬。那時候我看過《Java從入門到精通》這種爛大街的書,也看過《Java編程思想》這種很難懂的書。

一段時間後我感覺吸收效果不好,於是開始把目光轉向視頻課程了。那時候聽舍友力神的建議,到極客學院上看一些視頻課程,我當時就覺得這個講的比書上要好懂一些。後來我又接觸到了慕課網,中國MOOC等網站,逐漸地把相關的技術課程都看完了。

那時候正好我們的項目實訓還在進行,於是我就把趁熱打鐵把這些東西用在了項目當中,並且第一次用博客記錄下我的實踐經驗。

現在回頭想想,此時的我也只不過是剛剛入門了Java以及web開發。然而那時候不知道天高地厚的我,就開始xjb投各大公司的Java實習崗位了。結果可想而知,那叫一個慘啊。

我的Java進階之路

上文說到我剛剛開始投遞實習崗位,是在研一的下學期。當時整天躲在實驗室,一邊看書一邊看視頻,接到面試時趕緊刷面經,忙的不亦樂乎。那段時間感覺自己的複習狀態和考研差不多。

然而,由於水平確實不咋地,當時我被各大公司的面試官吊打。比如我第一家面的就是百度,三個很簡單的問題一個都不會,人家面試官都不好意思打擊我了。後來我又面了一些大大小小的互聯網公司,雖然情況有所好轉,但是總的來說,我要學習的東西還很多。

在準備面試的過程中,我看了很多面經,也看了很多技術博客,發現自己的基礎很薄弱,需要系統性的學習。並且這些東西是視頻和入門書籍給不了我的。於是我又踏上了找書的道路。

那時候Java書單氾濫,有的書單質量低下,買來的書看兩眼就看不下去了。直到我看到了“江南白衣的後端書架”這一文章,才發現Java後端書架原來應該是這樣的。於是我照葫蘆畫瓢把相關書籍都買了,這個階段,也算是剛剛踏上Java進階之路吧。

這裏面不得不提幾本書,對學習Java的同學非常重要,一本是《深入理解JVM虛擬機》,一本是《深入分析Java技術內幕》,以及《Java併發編程藝術》。

再後來,憑着一股不到黃河心不死的精神,終於拿到了網易遊戲的實習offer。於是,第一次在大廠實習的機會終於來了,我懷着即期待又憂慮的心情來到了杭州。

我的Java實習之路

在豬場實習的時間並不長,也就持續了三個月不到,當時我們部門在做數據倉庫,於是我這邊主要負責Java Web應用的開發,其實也就是寫一些簡單的後臺接口。

在熟悉了工作流程以後,我很快就適應了工作的節奏,畢竟做的東西也不難,導師也會經常指導,就這樣我完成了一個又一個需求,直到後來家裏有事,我才臨時選擇辭職回家。

由於在網易實習的時間比較短,我也留下了一些遺憾,比如對整個項目的架構不夠熟悉,並且很多相關技術棧也來不及學習。後來我去熊廠實習的時候,儘量避免了這些問題。

熊廠實習的時間長達半年,部門當時做的是私有云,emmm完全是全新的技術棧啊,於是我基本上又是從零開始學習雲計算,但是由於之前的操作系統和網絡基礎不紮實,在學習相關技術時,基本是兩眼一抹黑,學啥啥不會。

這也導致我在上班期間看了很多計算機基礎方面的書籍,包括《計算機網絡:自頂向下》,《深入理解計算機系統》等等。當然,這也是因爲我的工作內容很簡單。CRUD你懂的。

於是花時間自學成爲了我那時候的主旋律,看書,看內網資源,參加技術分享,倒也非常充實。當然,有空我也會看看項目代碼,瞭解一下技術架構,以便讓自己對整個項目有一個更好的理解。

再後來,2018年來了。

抉擇時刻:實習轉正還是秋招

我是2018年1月份離開北京的。當時面臨幾個問題,是否續租房子,是否繼續實習。還有一個小插曲就是當時養的一隻貓也得帶回去。再三思考後我決定回學校準備秋招。

過年後我就回到學校了,當時我本不打算參加春招,想要潛心修煉準備秋招,但是架不住春招宣傳力度大,並且幾個大廠都標榜着“轉正容易,hc多多”等口號。於是我沒忍住,上牛客投了幾次簡歷,打算面幾家大廠,心想萬一過了就去吧。

簡歷都投出去了,那也只好複習了啊,當時我們宿舍跟打了雞血一樣,一整天都在刷題,從早到晚泡着刷LeetCode,一個月後終於刷到100多題,也算是能應付一下筆試了吧。

春招我投的公司不多,也就at,網易遊戲和京東。最後阿里和京東都給了offer。但是當時阿里的流程走得特別慢,直到內推截止前一天才給我發offer,並且自己也感覺之前面試表現一般,心想我要是去了也是B+,很有可能成爲擁抱變化的犧牲品,於是我咬咬牙放棄了,大不了秋招再來。

塞翁失馬,焉知非福,春招的顆粒無收反而讓我可以安心準備秋招,於是我有大把的時間做我想做的事,制定自己的學習計劃,安排自己的生活,不需要去考慮轉正這種麻煩事了。

至此,四月終了,春招告一段落。

Java修仙之路

平時經常逛牛客,我也經常發些面經啥的,於是很多牛油喜歡調侃說“看神仙”。這時候我只能尷尬又不失禮貌的微笑了0。0

在下不才,成不了神仙,最多就是打遊戲的時候能修修仙罷了。

不過你還真別說,網上還真有“Java成神之路”這樣的文章,真的打擾了哈哈。

科普一下修仙梗: 修仙梗的意思是喜歡熬夜的人不睡覺不猝死反而要修仙,然後就被廣大的網友們互相調侃玩壞了,現在熬夜都不叫熬夜了,新潮的說法就是修仙,熬夜不會猝死啊,會增強法力。

不逗你們了,咱們還是進入正題吧。我在五月份的時候做了一個計劃,打算在七月底之前完成複習工作,原因是七月底有阿里的提前批招聘,是我最最重視的一個招聘。這個計劃簡稱三個月計劃,我主要做了三個方面的學習規劃。

一:首先,便是對Java後端技術棧的複習,這也是最重要的一部分,因爲面試永遠都是考基礎考得最多。

這部分內容又可以細分爲多個方面:

1 Java知識體系:包括了Java基礎,集合類,設計模式,Java併發技術,Java網絡編程,JVM,JavaWeb,Spring框架等等。

2 計算機基礎:包括了操作系統,計算機網絡,數據結構,數據庫,緩存等內容。

3 後端進階:包括了分佈式理論,以及常見分佈式技術比如負載均衡,zookeeper,消息隊列,分佈式緩存等等。當然,這裏面也包括系統架構方面的知識,以及RPC,微服務等內容。

4 額外內容:這部分內容因人而異,我主要是因爲實習的時候項目涉及了hadoop以及私有云技術棧,所以自己看了很多這方面的東西,譬如Hadoop生態,OpenStack生態,以及docker生態。

我在複習這部分內容的時候,一般先看優質博客,然後自己整理總結對應寫一些博客,最後把能夠實現的東西實現一下,這樣一來一個知識點就搞定了。剩下的事情就是重複這個步驟。

下面放上我的博客:https://blog.csdn.net/a724888

二:其次,便是對算法的學習了。我也把算法的學習分爲了幾個部分。

1 基礎數據結構與算法:主要是複習之前學過的數據結構和算法,額外再看一些算法書籍,譬如《圖解算法》,以瞭解常見算法。

2 劍指offer:劍指offer基本上是面試必考的,所以把它刷個兩三遍是很有必要的。

3 LeetCode:搞定前面兩項之後,刷LeetCode也會有些底氣了,我當時就刷了150題左右,主要也是刷經典的題目。

4 筆試真題:這個就不用多說了,真題是一定要刷的。畢竟各個公司出題的路子都花裏胡哨。

刷題多了,就會遇到很多原題和類似題目,所以,儘早開刷,做好準備吧。

三、最後一部分,則是做項目。大概說下我做項目的幾個要點吧

1 爲什麼這時候我還要做項目呢:一來是我覺得實習過程自己接觸的東西太細碎,沒有對全局做把控,二來是因爲想給GitHub加點東西,順便學點新的技術。於是我選擇了當時牛客網上的兩個項目來自己做做看。

2 關於項目選擇:葉神這兩個項目還是講的非常棒棒的,用的東西也很新,代碼也有提供,避免了自己要寫前端的尷尬,另外,這兩個項目模仿了知乎和頭條,更加接地氣。

3 把項目做到GitHub上:之前對git也比較熟了,所以想把這個項目按照正常開發的流程走一遍,於是我每天都會做一個模塊,然後發佈幾個版本,記錄一下版本更新的細節,寫這些東西的時候,自己其實就已經做了思考和總結,感覺還是不錯的。

下面放上我的GitHub:https://github.com/h2pl

就這麼過了三個月,提前批拉開序幕。

秋招回憶錄

從七月初第一次投遞簡歷,到九月初,整整兩個月的時間,大大小小投了幾十家公司,其中很多都是提前批,內推,也經歷了許多的筆試,面試。

期間也拿了幾個offer,包括百度,騰訊,螞蟻金服,頭條,華爲,網易(網易雲音樂沒給offer,調到了其他部門)。有幾家直接收到拒信的,包括拼多多,深信服。還有幾家在等待結果。包括快手,鬥魚等。

當然也有一些還沒面試完的公司以及待安排面試的公司,這裏就不展開說了。

八月底基本上提前批就已經結束了,所以一般這段時間正式校招也開始了,各種大規模的筆試也很多,所以大家即使沒有拿到offer也不要灰心,畢竟校招是一場持久戰,基本上要到九月十月才能下結論。我之前分享了很多公司的面經,其實大部分都是提前批的,很多都是直接免筆試的,因爲我對算法並不是很在行,所以感覺還是比較幸運的。

從七月底第一次面試到9月基本佛系,中間經歷了大大小小的面試,這裏只進行簡單的記錄哈,要看面經的話請到我的公衆號:程序員江湖。

具體的面經都比較長,這裏大概介紹一下面試的情況,然後我會放上面經的鏈接供大家查閱。

1 阿里面經

阿里中間件研發面經

螞蟻金服研發面經

崗位是研發工程師,直接找螞蟻金服的大佬進行內推。

我參與了阿里巴巴中間件部門的提前批面試,一共經歷了四次面試,拿到了口頭offer。

然後我也參加了螞蟻金服中間件部門的面試,經歷了三次面試,但是沒有走流程,所以面試中止了。

最後我走的是螞蟻金服財富事業羣的流程,經歷了四次面試,包括一次交叉面,最終拿到了螞蟻金服的意向書,評級爲A。

阿里的面試體驗還是比較好的,至少不要求手寫算法,但是非常注重Java基礎,中間件部門還會特別安排Java基礎筆試。

2 騰訊面經

騰訊研發面經

崗位是後臺開發工程師,我沒有選擇意向事業羣。

SNG的部門撈了我的簡歷,開始了面試,他們的技術棧主要是Java,所以比較有的聊。

一共經歷了四次技術面試和一次HR面試,目前正在等待結果。

騰訊的面試一如既往地注重考查網絡和操作系統,並且喜歡問Linux底層的一些知識,在這方面我還是有很多不足的。

3 百度面經

百度研發面經

百度研發面經整合版

崗位是研發工程師崗位,部門包括百度智能雲的三個分部門以及大搜索部門。

百度的提前批面試不走流程,所以可以同時面試好多個部門,所以我參加百度面試的次數大概有12次左右,最終應該是拿了兩個部門的offer。

百度的面試風格非常統一,每次面試基本都要到電腦上寫算法,所以那段時間寫算法寫的頭皮發麻。

4 網易面經

網易研發面經

面試部門是網易雲音樂,崗位是Java開發工程師。

網易是唯一一家我去外地面試的公司,也是我最早去實習的老東家。

一共三輪面試,耗時一個下午。

網易的面試比我想象中的要難,面試官會問的問題都比較深,並且會讓你寫一些結合實踐的代碼。

5 頭條面經

今日頭條研發面經

崗位是後臺研發工程師,地點選擇了上海。

我參加的是字節跳動的內推面試,當時找了一個牛友要到了白金碼,再次感謝這位頭條大佬。

然後就開始了一下午的視頻面試,一共三輪技術面試,每一輪都要寫代碼,問問題的風格有點像騰訊,也喜歡問一些底層知識,讓我有點懵逼。


另外,我上週還面試了一次亞馬遜,因爲很多知名外企到十月纔開始招人,所以閒了很久之後我又重操舊業了,可能在面完大摩和微軟之後,秋招才能正式結束吧

結束也是開始

中秋節剛過,國慶節又要到來了。正如每一年的秋招一樣,年復一年,在時間面前我們也是渺小的塵埃。

秋招結束不代表着結局,而是新的旅程開始,馬上,畢業論文,offer選擇,入職準備,畢業旅行等事項也要提上日程了。

不知道明年我們看待學弟學妹的秋招時,會是怎樣的一種心境呢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章