0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一名Java工程師的成長之路

工程師人生 ? 來源:工程師吳畏 ? 2019-05-31 16:30 ? 次閱讀

前言

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

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

大學時期的迷茫與堅定

我的本科專業(yè)是電子信息工程,基本沒有接觸過計算機專業(yè)的課程,只學過c語言,然后在大三的時候接觸過javaAndroid,以及前端開發(fā)。

那時候我還不知道軟件開發(fā)的水有多深,抱著試一試的態(tài)度去應聘了很多公司。結(jié)果可想而知。

當年我對游戲開發(fā)很有興趣,特別是對網(wǎng)易游戲情有獨鐘,但是當我看到網(wǎng)易游戲研發(fā)工程師的招聘要求時,我只能望而卻步,因為它要求學歷至少是985的碩士。

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

畢竟是跨專業(yè),在復習過程還是有點吃力的,但是就靠著一股毅力和執(zhí)著,半年之后,順利地考上了,成績還意外地非常好。

研究生時期的探索和規(guī)劃

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

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

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

我在讀研之前想做游戲開發(fā)和Android開發(fā),但我以前也學過Java Web開發(fā)。于是我在網(wǎng)上了解對應方向的資訊,發(fā)現(xiàn)游戲研發(fā)的就業(yè)面比較窄,并且基于我之前的學習經(jīng)歷,java開發(fā)可能更加適合我。最終在學校的實訓項目中我選擇了Java Web項目,從此也真正意義上地踏上了Java的學習之路。

我的Java入門之路

之前說過,在研一期間看了很多計算機專業(yè)的書籍,比如計算機網(wǎng)絡(luò),操作系統(tǒng),數(shù)據(jù)庫等等,雖然吸收得都不太好,但也算是看過了。

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

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

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

現(xiàn)在回頭想想,此時的我也只不過是剛剛?cè)腴T了Java以及web開發(fā)。然而那時候不知道天高地厚的我,就開始xjb投各大公司的Java實習崗位了。結(jié)果可想而知,那叫一個慘啊。

我的Java進階之路

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

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

在準備面試的過程中,我看了很多面經(jīng),也看了很多技術(shù)博客,發(fā)現(xiàn)自己的基礎(chǔ)很薄弱,需要系統(tǒng)性的學習。并且這些東西是視頻和入門書籍給不了我的。于是我又踏上了找書的道路。

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

這里面不得不提幾本書,對學習Java的同學非常重要,一本是《深入理解JVM虛擬機》,一本是《深入分析Java技術(shù)內(nèi)幕》,以及《Java并發(fā)編程藝術(shù)》。

再后來,憑著一股不到黃河心不死的精神,終于拿到了網(wǎng)易游戲的實習offer。于是,第一次在大廠實習的機會終于來了,我懷著即期待又憂慮的心情來到了杭州。

我的Java實習之路

在豬場實習的時間并不長,也就持續(xù)了三個月不到,當時我們部門在做數(shù)據(jù)倉庫,于是我這邊主要負責Java Web應用的開發(fā),其實也就是寫一些簡單的后臺接口

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

由于在網(wǎng)易實習的時間比較短,我也留下了一些遺憾,比如對整個項目的架構(gòu)不夠熟悉,并且很多相關(guān)技術(shù)棧也來不及學習。后來我去熊廠實習的時候,盡量避免了這些問題。

熊廠實習的時間長達半年,部門當時做的是私有云,emmm完全是全新的技術(shù)棧啊,于是我基本上又是從零開始學習云計算,但是由于之前的操作系統(tǒng)和網(wǎng)絡(luò)基礎(chǔ)不扎實,在學習相關(guān)技術(shù)時,基本是兩眼一抹黑,學啥啥不會。

這也導致我在上班期間看了很多計算機基礎(chǔ)方面的書籍,包括《計算機網(wǎng)絡(luò):自頂向下》,《深入理解計算機系統(tǒng)》等等。當然,這也是因為我的工作內(nèi)容很簡單。CRUD你懂的。

于是花時間自學成為了我那時候的主旋律,看書,看內(nèi)網(wǎng)資源,參加技術(shù)分享,倒也非常充實。當然,有空我也會看看項目代碼,了解一下技術(shù)架構(gòu),以便讓自己對整個項目有一個更好的理解。

再后來,2018年來了。

抉擇時刻:實習轉(zhuǎn)正還是秋招

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

過年后我就回到學校了,當時我本不打算參加春招,想要潛心修煉準備秋招,但是架不住春招宣傳力度大,并且?guī)讉€大廠都標榜著“轉(zhuǎn)正容易,hc多多”等口號。于是我沒忍住,上牛客投了幾次簡歷,打算面幾家大廠,心想萬一過了就去吧。

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

春招我投的公司不多,也就at,網(wǎng)易游戲和京東。最后阿里和京東都給了offer。但是當時阿里的流程走得特別慢,直到內(nèi)推截止前一天才給我發(fā)offer,并且自己也感覺之前面試表現(xiàn)一般,心想我要是去了也是B+,很有可能成為擁抱變化的犧牲品,于是我咬咬牙放棄了,大不了秋招再來。

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

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

Java修仙之路

平時經(jīng)常逛牛客,我也經(jīng)常發(fā)些面經(jīng)啥的,于是很多牛油喜歡調(diào)侃說“看神仙”。這時候我只能尷尬又不失禮貌的微笑了0。0

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

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

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

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

一:首先,便是對Java后端技術(shù)棧的復習,這也是最重要的一部分,因為面試永遠都是考基礎(chǔ)考得最多。

這部分內(nèi)容又可以細分為多個方面:

1 Java知識體系:包括了Java基礎(chǔ),集合類,設(shè)計模式,Java并發(fā)技術(shù),Java網(wǎng)絡(luò)編程,JVM,JavaWeb,Spring框架等等。

2 計算機基礎(chǔ):包括了操作系統(tǒng),計算機網(wǎng)絡(luò),數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫,緩存等內(nèi)容。

3 后端進階:包括了分布式理論,以及常見分布式技術(shù)比如負載均衡,zookeeper,消息隊列,分布式緩存等等。當然,這里面也包括系統(tǒng)架構(gòu)方面的知識,以及RPC,微服務(wù)等內(nèi)容。

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

我在復習這部分內(nèi)容的時候,一般先看優(yōu)質(zhì)博客,然后自己整理總結(jié)對應寫一些博客,最后把能夠?qū)崿F(xiàn)的東西實現(xiàn)一下,這樣一來一個知識點就搞定了。剩下的事情就是重復這個步驟。

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

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

1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)與算法:主要是復習之前學過的數(shù)據(jù)結(jié)構(gòu)和算法,額外再看一些算法書籍,譬如《圖解算法》,以了解常見算法。

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

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

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

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

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

1 為什么這時候我還要做項目呢:一來是我覺得實習過程自己接觸的東西太細碎,沒有對全局做把控,二來是因為想給GitHub加點東西,順便學點新的技術(shù)。于是我選擇了當時??途W(wǎng)上的兩個項目來自己做做看。

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

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

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

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

秋招回憶錄

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

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

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

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

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

具體的面經(jīng)都比較長,這里大概介紹一下面試的情況,然后我會放上面經(jīng)的鏈接供大家查閱。

1 阿里面經(jīng)

阿里中間件研發(fā)面經(jīng)

螞蟻金服研發(fā)面經(jīng)

崗位是研發(fā)工程師,直接找螞蟻金服的大佬進行內(nèi)推。

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

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

最后我走的是螞蟻金服財富事業(yè)群的流程,經(jīng)歷了四次面試,包括一次交叉面,最終拿到了螞蟻金服的意向書,評級為A。

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

2 騰訊面經(jīng)

騰訊研發(fā)面經(jīng)

崗位是后臺開發(fā)工程師,我沒有選擇意向事業(yè)群。

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

一共經(jīng)歷了四次技術(shù)面試和一次HR面試,目前正在等待結(jié)果。

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

3 百度面經(jīng)

百度研發(fā)面經(jīng)

百度研發(fā)面經(jīng)整合版

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

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

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

4 網(wǎng)易面經(jīng)

網(wǎng)易研發(fā)面經(jīng)

面試部門是網(wǎng)易云音樂,崗位是Java開發(fā)工程師。

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

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

網(wǎng)易的面試比我想象中的要難,面試官會問的問題都比較深,并且會讓你寫一些結(jié)合實踐的代碼。

5 頭條面經(jīng)

今日頭條研發(fā)面經(jīng)

崗位是后臺研發(fā)工程師,地點選擇了上海。

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

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

如果想看更多公司的面經(jīng),也請移步微信公眾號:程序員江湖。

另外,我上周還面試了一次亞馬遜,因為很多知名外企到十月才開始招人,所以閑了很久之后我又重操舊業(yè)了,可能在面完大摩和微軟之后,秋招才能正式結(jié)束吧

結(jié)束也是開始

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1571

    瀏覽量

    68587
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2973

    瀏覽量

    104933
收藏 人收藏

    評論

    相關(guān)推薦

    電子工程師的電源設(shè)計經(jīng)驗分享

    作為一名電子工程師,電源設(shè)計直是我在工作中重點關(guān)注的領(lǐng)域。電源設(shè)計不僅需要扎實的理論基礎(chǔ),還需要豐富的實踐經(jīng)驗。以下是我多年工作中總結(jié)的些經(jīng)驗:
    的頭像 發(fā)表于 01-21 15:53 ?51次閱讀

    正是拼的年紀|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發(fā)布于 :2024年07月25日 11:31:02

    嵌入式軟件工程師如何提升自己?

    相關(guān)的實驗室項目或參加開源項目以積累寶貴的項目經(jīng)驗。 4.不斷學習與成長 嵌入式軟件領(lǐng)域的技術(shù)更新速度非常快,因此,作為一名嵌入式軟件工程師,需要不斷學習與成長,保持對新技術(shù)的敏感性和
    發(fā)表于 06-12 11:20

    索尼誠邀軟件工程師參與PS免費手游平臺設(shè)計

    據(jù)悉,近日,澳大利亞知名媒體TweakTown發(fā)現(xiàn),索尼互動娛樂正在為其旗下的PlayStation Studios Mobile招募一名資深的軟件工程師,負責設(shè)計PlayStation的免費手機游戲平臺。
    的頭像 發(fā)表于 05-23 17:08 ?760次閱讀

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    嵌入式軟件工程師和硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式軟件工程師是軟件開發(fā)領(lǐng)域中的種專業(yè)工程師
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    個電源工程師成長路徑

    即將走馬上任電源工程師這個崗位,請問各位大佬,這個崗位的職業(yè)路徑般是怎樣的?
    發(fā)表于 04-08 14:19

    位硬件工程師的歷練之路:從入門學習理論到... #搞笑 #硬件工程師 #電子工程師 #揚興科技

    硬件工程師揚興科技
    揚興科技
    發(fā)布于 :2024年03月13日 17:50:21

    單片機如何通過代碼控制硬件:一名工程師的分享

    今天跟大家聊聊單片機是怎樣通過代碼來操控硬件的。作為一名單片機工程師,我們平時的工作就像是給單片機編寫“指令集”,讓它按照我們的意圖去驅(qū)動各種硬件設(shè)備。
    的頭像 發(fā)表于 03-06 14:46 ?1585次閱讀
    單片機如何通過代碼控制硬件:<b class='flag-5'>一名</b><b class='flag-5'>工程師</b>的分享

    如何搞崩個硬件工程師心態(tài)?試試對ta說這幾句

    硬件工程師
    揚興科技
    發(fā)布于 :2024年02月20日 18:05:49

    優(yōu)秀電源工程師需要哪些必備技能?

    隨著電源市場的不斷擴張,開關(guān)電源行業(yè)飛速發(fā)展,企業(yè)對電源工程師的需求日益增加,對電源工程師的技能要求也日漸提高,相信沒有位電源工程師會錯過讓自己變得更優(yōu)秀的機會。作為
    發(fā)表于 01-29 11:29