【個人思考系列】美團點評 Java 後端新人第一年總結&面試經驗 | 掘金技術徵文...

weixin_33830216發表於2017-09-08

image.png

伴隨著公司的推送,在2017年7月12日,我迎來了在公司中的第一年。
在公司的第一年,遇到了一些困難,學習到了很多知識,得到了很多人的幫助。
文字是可以傳承下去的,總結一下自己過去的正式工作的第一年,給自己,也給需要的人。

我的第一年

畢業在即,逃不開的話題就是校園招聘,在校園招聘中斬獲了多少,能夠讓你擁有更多的選擇的權利。
我的第一年回顧的第一個主題就是。

校招廝殺

image.png

我本身是一個航海院校計算機相關專業的學生,在近幾年,某些計算機的專業被提拔到了一本的級別,但在綜合的實力上還是和一些老牌院校的計算機專業有著不小的差距,很大程度上,我們是計算機校招隊伍中的弱勢群體。

在本科階段,我沒有意識到這一點,雖然說也沒有浪費本科的時光,但讀研和工作後才發現,自己錯過了很多儲備知識的好時光以及關鍵的找工作的時間節點。

好在成績還算可以,順利保研。在大四的暑假,告訴自己,畢業的時候一定要去一線網際網路大廠做後端工程師,當時鎖定的主要語言是Java方向的。(確定目標)

確定了目標後,開始瞭解幾個網際網路主流廠商的後端Java工程師崗位的一些JD,主要關注了美團點評、阿里、愛奇藝等公司,瞭解到他們對於應屆生大多有以下幾點要求。(瞭解崗位需求)

  • 基礎計算機知識紮實
  • 和目標崗位匹配的若干優質實習和專案
  • 一定的技術視野
    根據以上幾點要求,我在研一階段就主要做了三件事情。 複習基礎知識,找實習,拓寬技術視野。(根據崗位需求定向準備)
  • 基礎知識方面,通過搜尋引擎和一些問答社群,向前輩取經,把Java相關的基礎書籍以及本科的一些當時覺得聽著很枯燥的課比如計算機網路、作業系統、資料結構又複習了一遍,通過做題,看視訊等手段。見我的知乎提問:

image.png

後面的故事就是,校招拿到了好幾個Offer,最終因為個人的喜好和綜合因素來到了大眾點評。


我的第一年回顧的第二個主題是

初入職場的適應期

image.png

我校招剛加入的一個團隊是閃惠,是做大眾點評商戶的優惠買單業務的一個團隊。業務量在整個公司來說也是很大的,我加入的時候業務正趨於穩定。不過剛進去的那段時間,還是挺自我否定的。

需求會議聽不懂。我們是走迭代的,一般兩週一個迭代,每一次開始前,產品經理會召開需求會議,講一下之後要做哪些東西, 涉及到哪些業務。在剛開始的需求會議上,我遇到了需求聽不懂、分配到任務沒辦法很好的拆解到哪些模組,每次都是靠會後去問導師,才具體明白一個看似簡單的需求到底是需要做什麼工作,看著組長寫的wiki,對每一個迭代要做的東西,需要涉及哪些系統、每一個需求可能需要多少人力,都預估的很清楚,我對自己是有點否定的。因為覺得在自己之前實習的時候,功能完成的也很好呀,怎麼正式入職,連需求都聽不懂,需求拆解都做不好呢。

技術知識出現不足。因為業務量比較大,線上一些小問題都會被無限的放大,某一天線上突然出現某一個後臺專案的所有機器的老年代增長都較快,同事排查後定位是接入的外部包有問題,然後寫下了一篇故障分析報告,如何從原始碼的角度定位了問題,我看了幾遍才看懂。

程式碼被吐槽。我們一般都會有Code Review,會請高階別的工程師過來幫你看你的程式碼,看是否能夠提交上去,在我剛開始寫的程式碼,因為一些不好的習慣和對業務思考的不夠,出現了類如NPE、程式碼複用不夠、程式碼層次不清晰以及命名不太合理等問題,也是經常被打回去修改。

剛進去的這段時間還挺鬱悶,覺得哪哪都做不好,有些自我否定。

後來和導師以及領導聊,結合我現在的一些理解的話,我想對當時的自己說:
Relax,公司其實並不期望剛剛進來的你,能夠創造多少價值。新人是要成長的,在成長期難免會遇到各種各樣的小問題,這可能是大多數人的必經之路,因為你所看到的同事,他們都比你在工作領域待的時間更久,有更多的經驗,可以把他們作為目標,但不要把他們作為現在自己的標準,那樣會壓力太大。
從學校到職場切換的前幾個月,難免是不適應的,但在這幾個月中,我是通過做到以下幾點,幫助自己完成適應。

  • 翻閱團隊過往的資料和程式碼,瞭解團隊的業務現狀、核心系統以及主流程,從大方向上入手,再進一步瞭解業務中的細節。
  • 請教導師和身邊的同事,身邊的同事是最好的學習資源,他們可以告訴從更高的層面看你現在所處的位置以及遇到的問題,勇於請教,多交流。
  • 多多總結回顧,每週都回顧下自己做了什麼,學到了什麼。

我的第一年回顧的第三個主題是

不同型別團隊下的成長

image.png

從剛開始的自我否定中走出來,慢慢融入團隊後,會迎來一個成長期。

成熟業務
我剛進來時,團隊在做的是一個流量很大的業務,系統架構已經趨向於成熟,作為一個新人,更多的是在修修補補,針對子系統中的某一個模組進行一些開發,很少有機會從頭開始做一個專案。在一個成熟的團隊,有以下的優點和缺點。

優點: 經過長時間的大流量的業務考證的系統架構和業務設計,能從中收穫很多養分,讓你之後站在一個更高的視角去看待問題。其二是因為成熟業務流量一般都有一定的量級了,成立至今可能遇到了很多千奇百怪的線上問題,在排查這些問題的過程中,技術能力和溝通能力能得到很大的鍛鍊。
缺點: 相對的缺點就是,難以參加一個專案完整的開發過程,因為業務架構已經基本定型,新人在這裡大多是針對系統具體的子模組進行一些功能上的開發。

創新業務
在我的第一年的後半段,隨著團隊業務的切換,去做了一個從0到1的業務,主要是依託我們公司積累的資料,為商家提供諮詢和資料的一個平臺。
優點: 在一個新業務中,有機會從頭到尾去設計一個專案,定義和外部系統的互動介面,底層的資料儲存設計,系統內部的流程等等。在這個新業務中,我參加了App站內信、使用者中心、後臺推送中心的完整開發過程,從之前的簡單的和後端同事之間的對接,到需要跨團隊和客戶端、前端、測試打交道,在個人的溝通技巧上得到了很大的成長。在這個從0-1的過程中,對於如何親手設計一個系統有了經驗,同時可以借鑑過去在成熟業務當中學習到的一些準則。如果在一個業務快速發展的新業務中,隨著新業務的不斷演進,原有的架構會不斷得到挑戰,進一步提升自己系統設計的功底。
缺點: 並不是每一個新業務都會快速增長,讓你不斷的遇到新的挑戰。在業務的緩慢成長中,可能只是在重複過去學到的技能,得不到足夠的挑戰,也就錯失了進一步成長的空間。

成熟業務和創新業務都有自己的可取之處,不管身處哪個業務,都要像海綿一樣汲取其中能夠被吸收的營養。


我的第一年回顧的第四個主題是

積極嘗試

image.png

在我的第一年,還做到了勇於嘗試。
在切換到新業務後,前端和資料開發的資源相對比較緊張。
一半是領導的安排,一半是自己覺得我其實是一名軟體工程師,目前的職位雖然是後端工程師,但不代表要把自己侷限在後端,需要用技術的手段解決問題的,都可以有我的出現。
在業務的演進過程中,我接觸了前端的開發,做了一會會全棧工程師,雖然是很簡單的頁面開發,配上自己的後端介面哈哈。還接觸了資料開發,從完全不知道資料開發應該幹什麼,到對集團資料平臺的使用駕輕就熟,從底層資料的提供到後端介面的開發一條龍服務,不僅複習了之前學過的Hive,還學了新技能ElasticSearch,同時把在接觸新東西的過程中遇到的問題,總結了下來,幫助別人一起成長。

不侷限自己,職業生涯的早期可以多多嘗試,軟體工程師是解決問題的,至於前面的Title只是說你更擅長哪個方面,當需要你的時候,其實你都可以勇於嘗試。

總結

總的來說,我對我過去正式的工作一年還算滿意吧。如果讓我現在對過去剛入職的自己送上幾句建議的話,那麼應該是。
積極提問
保持謙遜
多總結多思考
心態要穩
我的第一年回顧完了,你呢,如果你也想講講你的故事,歡迎投稿~

juejin.im/post/59aa74…

相關文章