前言
在下本是跨專業渣考研的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選擇,入職準備,畢業旅行等事項也要提上日程了。
不知道明年我們看待學弟學妹的秋招時,會是怎樣的一種心境呢。
-
工程師
+關注
關注
59文章
1571瀏覽量
68562 -
JAVA
+關注
關注
19文章
2972瀏覽量
104867
發布評論請先 登錄
相關推薦
評論