【阿里內推】浙大師兄這樣說: 多看經驗,少走彎路

我是陽蘇,來自於浙江大學光電學院。因為本專業就業前景不佳,轉行互聯網,目前就職於阿里巴巴。


目前已入職阿里,需要內推的同學可以發送簡歷到這個郵箱:[email protected]


崗位:Java後端開發


秋招目前已經拿了一些滿意的offer,包含阿里巴巴/微軟/美團/拼多多/vivo等,這裡就不寫面經了,牛客上很多。


因為我也是非科班轉互聯網的,所以我想分享一下我的轉行經驗,希望對有這個打算的同學們有幫助。少走彎路,順利拿到大廠offer。


確定方向,儘早準備


對於大部分轉行的人來說,就像當初高考選專業一樣,開始的時候我們基本都是通過名字和熱度去挑選,這樣很容易進坑(因為坑太多orz)。

如果你已經選錯了一次專業,那麼就業方向一定不要再選錯了。畢竟專業方向也就讀書的幾年受影響,就業方向影響的是你以後的整個人生。


如何去選擇方向呢?去大廠校招網站搜一下招聘職位你就會有一個大概的瞭解。非技術崗我不太瞭解,簡單說一下技術崗,技術崗主要分為算法/開發/測試三類(數據分析之類可以併為開發),每一類下面又會有細分,比如算法有計算機視覺/自然語言處理/自動駕駛等,開發有前端/客戶端開發/後端開發/大數據開發等,測試不會太細分。


難度:算法>開發>測試

薪資:算法>開發>測試

熱度:算法>開發>測試


以上排名都是在其它條件相同時的平均情況比較,如果拿小廠的算法和大廠的開發比較是沒有意義的。


對於21屆的同學來說,現在還有時間,如果你很糾結,我建議你可以花一週的時間去搜索一下各個崗位需要掌握的技能棧/目前市面上對這些崗位的需求量/崗位的平均薪資/工作強度等,就是你未來在做職業選擇時在乎的條件,你完全可以花時間先調研好。


總之,無論選什麼大方向,只要儘早做充分準備,拿一份大廠offer的可能性還是很大的。


編程語言


選好了大方向後,作為程序員肯定要選擇一種“本命語言”來入門,以後工作過程中你可能需要學習其它語言,但是你必須至少精通一門語言。建議轉行的入門語言還是選當下的熱門語言,因為工作機會更多。


所以,選擇基本就變成了在Python/C++/Java中選其一,算法選Python居多,開發三種語言都有,按就業機會排名:Java開發>C++開發>Python開發;按語言本身學習難度排名:C++>Java>Python


對於工科同學,本科應該都學過C或C++,有一定的基礎,學起來會很快,但是語言是基礎,學習的時候一定要認真對待,把握語言的特性。如果完全沒有基礎,Python學習推薦廖雪峰的博客,Java學習推薦how2J,C++我不太熟悉,同學們可以自己去搜索入門資源。最好買一本書,在網上學習有疑惑的時候,書可以作為“權威版本”拿來參考。


學習路線


選定了大方向,再選定小方向,選定了小方向後,需要花時間去調研,這個崗位需要掌握哪些技術棧。最簡單的方法還是通過去各個大廠的招聘網站,查看崗位的技能需求。另外,如果你有師兄師姐已經入職的,直接去問師兄師姐更好。


Java後端開發的技術棧


  • 計算機基礎:操作系統/計算機網絡/數據結構與算法/設計模式
  • 語言:Java基礎/Java容器/Java併發/JVM
  • 數據庫:MySQL
  • 框架:Spring家族(Spring/SpringMVC/MyBatis/SpringBoot/SpringCloud)
  • 中間件:Redis/Dubbo/消息隊列(RocketMQ/RabbitMQ等)/ElasticSearch
  • 其它:Zookeeper/Netty/Tomcat/系統設計(分佈式/高併發)

以上列舉的應該涵蓋了大部分公司在後端開發時,需要用到的技術棧,當然還有不少我目前不瞭解的,對於應屆生而言,如果以上部分都掌握的很好,就已經達到了絕大多數公司的要求。


刷題


至於學習順序,個人建議:首先學習好語言基礎,然後開始學習數據結構與算法,通過自己去實現一些數據結構和寫算法題目,來鞏固語言基礎。這裡的算法題,並不是指機器學習/深度學習的那些算法,而是一些初級算法題,可以參考leetcode。刷題與找工作的關係就像八股文和科舉考試的關係,並不是說你八股文寫的好,你以後就是個好官,但是八股文寫不好,你連當官的機會都沒有。


所以大家一定要重視刷題,零基礎的同學建議去牛客網上看左神(左程雲)的算法入門課,北郵人等資源網上能找到相關視頻(也鼓勵大家能夠在牛客網上學習,支持正版233)。老老實實看完基礎班和進階班的視頻,對於左神講的每一道題,一定要自己coding做一次,刷完了左神的課程,你就有了獨立刷題的能力。後面建議先刷完劍指offer上面的所有題目,再去刷leetcode的top。建議刷題的時候,按類別做一下筆記,方便日後複習,類似於這種。


刷題是比較耗時間的,剛開始可能一上午只能做2道題,所以不要求多,但是要堅持,每天刷一兩道,長期積累下來你的刷題能力自然上去了。一定要重視刷題!!不然你可能連大廠面試的機會都沒有。


PS:@HW真香同學的建議


如果先刷完leetcode再去回顧一遍劍指offer的話,效果可能會更好,實際上這本書最大的用處不是讓人入門,而是衝破初級碼農的門檻,一開始就直接上劍指可能很難領悟他的精髓和價值,純粹把這些題刷過就完了那就沒意思了。


劍指offer中題目雖然大多是medium或simple的題目,但是提供了很多很棒的解題方法,並且對編程規範和問題分析能力也有一定的幫助,這本書值得多刷幾遍。至於每天的刷題量,還得根據同學們自己的時間來,剛開始刷題很容易有挫敗感,可以從leetcode的simple刷起,有了自信再刷medium,偶爾刷一些hard。


項目


語言/數據結構與算法都學好了後,就可以開始找項目做了,做項目就會涉及到數據庫以及框架的學習,對於Java後端的同學,可以將how2j中的項目作為入門學習,也可以在github上去尋找一些合適的項目,自己clone下來研究和學習。


做項目的時候,一定要記得目的!!因為一個項目會涉及很多方面的知識,比如web應用項目中肯定會有前端部分,如果你目的是學習後端部分開發,那麼對於項目中前端的開發過程和細節,大概瀏覽一下,知道大概原理就可以了,不用深究。我之前就踩過一個坑,學習how2j中“一本糊塗賬“的時候,我將JSwing相關組件的都學習了一遍,後面才知道這些組件web開發根本不會用,浪費了很多不必要的精力。另外,過於老舊的技術可以瞭解,也不必深入學習,比如web開發用的SSH框架,互聯網公司基本都已經淘汰掉了。


做項目可以學習框架和數據庫。至於中間件的學習,建議首先去查找一些入門學習資料,知道它是幹什麼的,然後找一些demo自己實現玩一下,最後可以考慮怎麼將中間件融入到你的項目之中。關於操作系統/計算機網絡這兩門面試常問的計算機基礎,時間充足的同學建議看看書學習,時間不夠的話可以多刷面經,遇到相關問題就自己去網上搜索答案整理下來,面試常問的問題也就那些。


PS:@HW真香同學的建議


項目最好直接上大型項目先跟著敲下來一遍,再去慢慢研究其中用到的技術,尤其是比如遇到併發瓶頸怎麼辦,數據庫緩存怎麼優化,直接研究的話可能會覺得不知道到底怎麼把這個和自己的project結合起來。


首先去了解項目的各個模塊,然後將每一個模塊自己敲一遍,思考作者的代碼邏輯以及用到了哪些技術,甚至有時候可以自己做一些改進。最後,再思考和查閱資料,找出項目中值得改進的地方進行實踐。


PS:@渴望0206同學的建議


關於項目,現在回頭來看,除了網上爛大街的電商項目,其實還可以做一些其他。比如如何自己實現mini-SpringBoot,mini-Tomcat,mini-Nginx,mini-....,就是自己手寫一個框架或工具。這樣的嘗試其實在github上也能找到不少參考的。

項目除了做電商系統之外,可以嘗試自己去實現中間件的mini版。我有一個項目就是類似Dubbo的RPC框架,在實現一個框架時會涉及很多技術,面試問的也非常多。這是我做的RPC框架倉庫,有興趣的同學可以研究一下,其實還可以做很多改進的工作,如果有什麼問題歡迎和我討論。


實習


實習對於秋招而言非常重要。一方面,大廠實習經歷本身就是一個加分項;更重要的是,實習時候你做的項目含金量更高,遇到不會的,還有很多同事可以問,可以更快地學到更多的東西。另外,還可以瞭解到公司的開發流程和技術棧。


所以,要儘早準備,春招實習生招聘積極去找實習,把它當作正式秋招的試煉,積攢面試經驗。如果找到一份不錯的實習,實習的時候要多看多學多問,為秋招做準備。如果學校實驗室處於放養狀態,也可以提早找一些日常實習。


當然,如果老闆不允許實習,或者最終沒找到滿意的實習也沒關係,也有很多同學沒有實習經歷,但是憑藉紮實的基本功以及項目,秋招面試的時候也能拿到很多大廠offer。沒有實習,就好好利用秋招前的時間,補充學習秋招需要的技術棧,夯實基本功。


秋招相關


關注時間


今年新浪和京東在9.1前就關閉了網申通道,我簡歷都沒投上。所以大家一定要儘早關注公司的校招流程,可以記一下各公司的簡歷截止投遞時間以及筆試時間,如果準備好了就可以投了,沒有準備好就在截止時間之前投。


提前批or正式批


提前批早的公司可能6月就開始了,大部分公司7月開始提前批,提前批一般都免筆試直通面試,並且HC很多,所以準備好了就可以投了。提前批的面試難度並不會比秋招大,因為提前批人少HC多,正式秋招筆試+面試難度很可能會大於提前批。


有些公司提前批不通過會影響正式秋招,比如華為;有的不影響,比如拼多多,這個需要提前瞭解。如果覺得準備不充分,可以不投提前批,或者投一些自己不會去的公司提前批積攢面試經驗。


投遞方式


主要是官網投遞和內推,牆裂推薦大家內推,秋招剛開始的時候很多內推是免筆試的,而且還可以讓內推人幫你查面試進度和評級,內推主要在98或牛客上找。


面試技巧


  • 簡歷上的技術方向與項目一定要非常熟悉
  • 多刷牛客上的面經
  • 每次面試後覆盤自己回答不好的問題
  • 回答問題時有意將話題引向你熟悉的技術

最後

今年的就業形勢比去年更差,去年是中興受影響,今年華為受影響縮招,互聯網寒冬也導致大廠hc大幅減少。但是無論就業環境如何,只要同學們提前準備,一定能斬獲心儀的offer,加油!


分享到:


相關文章: