機械碩士轉(zhuǎn)計算機,我是怎么做的?

大家好,我是Simon郎的學弟Snow坤,我秋招時靠著學長給我分享的學習資源在校招時拿到了許多一線互聯(lián)網(wǎng)大廠的offer,其中包含百度、阿里、美團、攜程、bilibil等。
我本科專業(yè)是機械工程及其自動化,碩士專業(yè)是機械電子工程,從進研究生開始,我就意識到機械行業(yè)發(fā)展緩慢,就業(yè)前景遠不如互聯(lián)網(wǎng)。
思來想去,我最終確定了互聯(lián)網(wǎng)作為我未來的就業(yè)方向,但是互聯(lián)網(wǎng)職業(yè)是個很寬泛的概念,我應(yīng)該主攻那一方面呢?
于是乎,我打開boss直聘、智聯(lián)招聘、獵聘等主流的招聘平臺,結(jié)合我淺顯的認知,最終確定了開發(fā)和算法二選一,
對于這兩個方向,我一直思考著這樣幾個問題:
1、我喜歡算法,但是算法競爭太大了,開發(fā)可能更適合我?
2、我是研究生,如果不走算法崗,讀研的意義在哪里那?
3、我是非科班,7年機械轉(zhuǎn)計算機,我應(yīng)該學些什么?
1、算法 VS 開發(fā)
1.1 自我衡量
根據(jù)自己的調(diào)研,我發(fā)現(xiàn)在大多數(shù)情況下,算法崗需要五大標配:即「論文、比賽、實習、項目、學歷」,一般想進大廠的話,五者至少得有其三。
所以我認真衡量了自己的核心競爭力:
末流985,非名校
機械專業(yè),沒有系統(tǒng)學習計算機的背景
實驗室大多數(shù)是仿真項目,項目拉垮,工程能力差,毫無亮點
沒有比賽,論文較水
經(jīng)過以上的總結(jié),我發(fā)現(xiàn)除了學校是985(末流不知名)以外,可能在簡歷投遞時不至于減分,其它的都是減分項,這樣的我很難達到大廠的門檻。
1.2 認知開發(fā)和算法
我是一名研究生,如果我不搞算法,我心里總是很難受,我覺得研究生白上了,這樣的心理狀態(tài)在我腦海中揮之不去。
最終,我把我的想法和學長徹夜交談,學長說現(xiàn)在的我進入了一個很大的誤區(qū):
做開發(fā)不是做了幾個課設(shè)的小項目,就算入門開發(fā)了的,
「開發(fā)的難度比我們想象的高很多」。
首先,他舉了個最簡單的例子,做算法,用tensorflow或者pytorch,沒有開發(fā)人員寫好這些工具我們用什么呢?寫出這兩個工具比構(gòu)建一個神經(jīng)網(wǎng)絡(luò)難多了。再比如,大數(shù)據(jù)下,我們都在集群上跑訓練數(shù)據(jù),沒有開發(fā)人員創(chuàng)造這些大數(shù)據(jù)平臺,我們用什么跑代碼呢?
不僅如此,「開發(fā)崗的范圍比算法崗大、崗位更多、可研究的點更多」。所以,并不是說碩士或者博士就一定要做算法,開發(fā)也有很多值得研究的東西,難度也非常大。
目前算法和開發(fā)的
「薪水差不多」,所以不存在為了高薪選擇算法的說法算法和開發(fā)從頭學起的
「難度差不多」,所以不要覺得哪個入門快就選哪個就目前的形式來看,
「算法確實比開發(fā)競爭更大,就業(yè)難度更大」算法和開發(fā)都要加班,不存在哪個加班少,加班情況主要看公司和部門
所以,如果你轉(zhuǎn)計算機是為了更容易的就業(yè),你就選開發(fā)。其他所有的考慮,都取決于你的個人興趣。從事一項自己喜歡的工作,真的是非常非常重要的。
經(jīng)過和學長認真交流并結(jié)合自己的實際情況,我確定了開發(fā)作為我的職業(yè)方向。
2、開發(fā)崗的學習路線
選好了就業(yè)方向,下一步就是在學長的幫助下,結(jié)合自己的實際情況一步一個腳印的制定好學習計劃并堅定不移的執(zhí)行下去。
我認為學習路線沒有最好的,只有最適合自己的,關(guān)鍵是堅持下去。
我可以簡單的分享一下我的學習路線:
Java基礎(chǔ)——數(shù)據(jù)庫使用(主要是MySQL)——框架使用(主要是SSM,SpringBoot等)——中間件使用(redis、mq等)——Java深入(并發(fā)、虛擬機)——MySQL深入——源碼(JDK、Netty等)——分布式相關(guān)(一些相關(guān)的概念,框架如SpringCloud、dubbo等)——開源中間件(dubbo、arthas等)。
因為我主攻Java開發(fā),所以是Java相關(guān)的路線。
總的來說,這條路線是由淺入深,從使用到原理,視野也越來越開闊。
當然,如果你想在秋招中披荊斬棘,你還要學習數(shù)據(jù)結(jié)構(gòu)與算法、計算機網(wǎng)絡(luò)、操作系統(tǒng),這幾門是貫穿整個學習路線,并且要反復的學習。比如會了Java的基本語法后,就可以開始看數(shù)據(jù)結(jié)構(gòu)與算法了,差不多有概念了就可以去刷題了。
3、筆試與面試心得
筆試其實沒什么捷徑好走,刷刷刷!但是不能悶頭刷,還得在刷題的時候有自己的總結(jié),相同類型的題做到舉一反三,這樣刷題的效率才高。同時,不大理解或者一知半解的題目,可以收藏下來,隔段時間反復刷。此外,從筆試的角度,可以在刷的過程中選擇一些熱門的題目優(yōu)先去做。
對于應(yīng)屆生而言,技術(shù)面試最多的還是基礎(chǔ)+項目,也有一些開放性的題。
不同的面試公司,可能由于技術(shù)棧、風格的不同,面試內(nèi)容也會有所區(qū)別。比如字節(jié)比較偏計算機基礎(chǔ)和算法,阿里美團比較偏Java基礎(chǔ)和項目,騰訊比較偏計算機基礎(chǔ)等。了解不同公司的面試風格,有利于自己有針對性的復習。
面試的過程中我覺得比較重要的一點是要自信,有時候印象分也很重要,想象一下自己如果是個面試官,想招聘的是什么樣的學生。還有就是要坦誠,不會的不能亂說,面試官都是老江湖了,一眼就能看出來。此外,最好還得為自己準備一點加分項,比如項目亮點、競賽等,在面試的過程中主動引導面試官去提問你的加分項。
4、學習資源分享
在最后部分,我要把我學習的視頻、文章、面經(jīng)、筆記、電子書籍等相關(guān)資料分享給你們,我分享的視頻不僅僅局限于秋招,在日后的工作中也可以進行查漏補缺。
除此之外,我把我收藏的架構(gòu)師、大數(shù)據(jù)的相關(guān)資料也分享給你們,有興趣的可以自取。
Java秋招全套:公眾號回復Java全套
包含Java基礎(chǔ)、微服務(wù)、實戰(zhàn)項目等。
Java架構(gòu):公眾號回復Java架構(gòu)
包含架構(gòu)師基礎(chǔ)階段、中級階段和進階階段的相關(guān)視頻和資料。
大數(shù)據(jù)全套:公眾號回復大數(shù)據(jù)
包含大數(shù)據(jù)必學的框架,大數(shù)據(jù)實戰(zhàn)項目
電子書:公眾號回復電子書
基本上包含開發(fā)中你所需用的電子書
算法和刷題筆記:公眾號回復算法和刷題筆記
包含必學的數(shù)據(jù)結(jié)構(gòu),??途W(wǎng)劍指offer題解筆記,LeetCode題解筆記
面經(jīng):公眾號回復面經(jīng)
好了,今天的文章就到這里了,我是Simon郎,感謝學弟Snow坤的分享,大家不要忘記獲取資料哦,我們下篇文章見!
往期推薦
