當(dāng)前位置:首頁 > 公眾號精選 > 小林coding
[導(dǎo)讀]大家好,我是小林哥。之前分享過很多讀者校招拿到大廠offer的經(jīng)歷,他們都有一個共同的特點。就是在大學(xué)期間對于計算機基礎(chǔ)準備的很充分,比如數(shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)、計算機網(wǎng)絡(luò)、數(shù)據(jù)庫、Linux這些。然后期間就有很多讀者問我,對于社招或者轉(zhuǎn)行又應(yīng)該怎么準備呢?前段時間,就有位在機...

大家好,我是小林哥。之前分享過很多讀者校招拿到大廠 offer 的經(jīng)歷,他們都有一個共同的特點。

就是在大學(xué)期間對于計算機基礎(chǔ)準備的很充分,比如數(shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)、計算機網(wǎng)絡(luò)、數(shù)據(jù)庫、Linux 這些。

然后期間就有很多讀者問我,對于社招或者轉(zhuǎn)行又應(yīng)該怎么準備呢?

前段時間,就有位在機械行業(yè)工作了 2 年的讀者,成功轉(zhuǎn)行了程序員,而且還進了騰訊

我知道大家肯定會很好奇他的經(jīng)歷,所以小林已經(jīng)邀請這位讀者來分享他的轉(zhuǎn)行的經(jīng)歷。

當(dāng)時我看完后挺震撼的。

震撼在于他之前的機械工作,竟然晚上 10 點才下班,每天工作 14 個小時,這工作強度不比互聯(lián)網(wǎng)大廠少,而薪資卻不及互聯(lián)網(wǎng)一半。

這個工作強度,使得他在上班期間根本沒時間自學(xué)編程,都是利用周末的時間從早學(xué)到晚。

而且還是持續(xù)自學(xué)了 2 年,我開始以為他是自學(xué)了半年后轉(zhuǎn)行的,沒想到一直堅持那么久,點個贊~

而且這位讀者說他自己挺幸運的,他最開始轉(zhuǎn)行找工作的時候,目標(biāo)并不是想去大廠,只是想去小廠,結(jié)果事與愿違,非常滴魔幻!

相信這位讀者的轉(zhuǎn)行經(jīng)歷,能鼓舞到那些也有此想法的朋友。

前言

大家好,很感謝林哥給我這次機會分享,介紹一下我自己。

我 19 年畢業(yè)于武漢理工大學(xué),畢業(yè)后一直在做機械研發(fā)的工作,自學(xué)了兩年 Linux C 編程。

如今在武漢找到了一份編程開發(fā)的工作,現(xiàn)在我將我的經(jīng)歷寫出來,希望能給大家一些幫助。

為什么要轉(zhuǎn)行?

轉(zhuǎn)行的主要原因是因為畢業(yè)設(shè)計要做一個串口播放器。

當(dāng)時做了播放器和串口通信的實現(xiàn)分別花了一個星期,怎么將二者打通折磨了我很久。

這期間我借了很多書,看了很多博客,看了很多視頻,完全沒有相關(guān)內(nèi)容。最后論文指導(dǎo)老師都勸我放棄了,不然畢業(yè)論文就寫不完了。

沒法子,只能先放棄。

雖然口口聲聲說放棄了,但我的內(nèi)心還是不想放棄,有好幾晚都失眠了。直到一個周四的晚上,我依舊失眠到兩點。

不過這一晚不同,我翻來覆去睡不著,腦海中突然閃過一個很好的 idea,害怕這個 idea 飛走,我悄咪咪的爬下床,打開我的電腦,順著思路敲下代碼,越寫越興奮,心里不斷傳來聲音說「對的,這是對的,哈哈哈~」。

當(dāng)我點擊編譯,一個一個功能進行測試,和預(yù)期功能完全一樣,那一瞬間成就感填滿了我的內(nèi)心。

這時一道陽光透過窗照在我臉上(武漢夏天太陽出來早),原來已經(jīng)天亮了,這是我第一次對一件事這么著迷,就想著以后做這方面的工作。

下面這張圖就是我當(dāng)時做的串口播放器。

可以通過右側(cè)的按鈕進行控制,也可以連接串口后,接收相應(yīng)的串口信號,進行視頻的播放、暫停、全屏之類的操作,同時還可以發(fā)送和顯示接收到的串口數(shù)據(jù)。

雖然現(xiàn)在現(xiàn)在這個播放器看起來很簡陋,但當(dāng)時足足花了我一個月的時間,是我的第一個可以直接體會到的程序,我一直將它放在我的桌面上。

當(dāng)學(xué)到厭倦的時候,都會打開它,提醒自己走到這一步的初心。

選擇什么方向?

因為我是機械出身的,我最初的想法是轉(zhuǎn)到與機械關(guān)聯(lián)性大一點的崗位 -- 嵌入式。

心里想著悄悄的學(xué)習(xí),然后司內(nèi)轉(zhuǎn)崗,驚艷所有人(很幼稚的想法)。說干就干,我先在網(wǎng)上找了學(xué)習(xí)路線,制定了學(xué)習(xí)計劃。

需要學(xué)習(xí) 51 單片機,就在 B 站找到了郭天祥的 51 單片機教程,還淘寶買了個 51 單片機,照著教程一點一點的敲,有不懂的就看書。

很快就遇到了瓶頸,書上有個電路圖我看不懂,出于「我不僅是想找一份工作,我還想把這份工做好」的想法,我又去網(wǎng)上找學(xué)習(xí)路線。

網(wǎng)上說嵌入式得學(xué)數(shù)電模電,學(xué)數(shù)電模電又得學(xué)電路分析、微機原理等等。

于是我做了一個錯誤示范,在 MOOC 上找了北理工的基礎(chǔ)電路分析課,還淘寶買了對應(yīng)教程。

一學(xué)學(xué)了兩個月,堪堪對著視頻學(xué)完,想著厚厚的數(shù)電模電,還有樹莓派之類的要學(xué),BOSS 直聘又查了一下單片機開發(fā)的工資,得出結(jié)論 --?我不適合嵌入式(學(xué)東西直接一口氣學(xué)完,不要老想著完美主義)。

接著我又開始了尋找學(xué)習(xí)路線的路途,因為限定語言是 C ,找到四個路線嵌入式、音視頻、服務(wù)器、游戲,考慮未來準備發(fā)展城市的互聯(lián)網(wǎng)環(huán)境和房價,最終決定做服務(wù)器開發(fā)。

接著就是在知乎上查找服務(wù)器開發(fā)的路線,看了很多,根據(jù)自己的情況,制定學(xué)習(xí)計劃,再按計劃實施就可以了。

學(xué)習(xí)方法

我一直堅信選擇比努力重要,好的方法可以事半功倍。

我提供一下我自學(xué)期間的方法,或者說是基本原則,雖然不一定適合大家,但希望能給大家一個參考。

  • 睡眠最重要,睡得好,才有精力同時應(yīng)對工作和學(xué)習(xí),每天晚上必須保證七個小時的睡眠,中午也要午休一個小時;

  • 學(xué)習(xí)少便是多。聽懂一個知識點,比略略看了三四個點更重要;

  • 剛開始學(xué)的時候看視頻,快速構(gòu)建知識框架,后續(xù)看書補全知識框架;

  • 做好筆記,以輸出為目的進行學(xué)習(xí),推介用 typora 做學(xué)習(xí)筆記,將自己每天所學(xué)的內(nèi)容記用 typora 記錄下來;

  • 關(guān)注相關(guān)領(lǐng)域的博主,比如說@小林coding,加入他們的技術(shù)交流群,你最后會發(fā)現(xiàn),你即使?jié)撍?,也能學(xué)到很多;

  • 將所需要學(xué)的分為知識和技能,二者相輔相成,但知識偏理論,要記下來,技能偏實踐,一定要親自動手。

一邊工作一邊自學(xué)

背景

我的本專業(yè)是汽車類的,當(dāng)時高考結(jié)束選擇機械專業(yè)的原因就兩個。

第一是認知有限,無人指導(dǎo),只知道程序員禿頭、教師要改作業(yè)、材料要做危險品實驗等等,一眾專業(yè)中唯獨機械萬金油,什么都會,什么都能干,而且越老越吃香,因為是農(nóng)村的,一心求穩(wěn),害怕找不到工作,機械就成了首選專業(yè)。

其二就是這個專業(yè)是我們學(xué)校的王牌專業(yè),本著寧為雞頭,不為鳳尾的原則,就不考慮更好一點學(xué)校的普通專業(yè)。大四找工作時才知道,「什么都會」代表著「什么都不精」,「越老越吃香」代表著「年輕時不吃香」。

當(dāng)時最大的愿望是能找到一份年薪十萬的工作,能拿到年薪十萬的基本上都是學(xué)院里的佼佼者,拿到十五萬到二十萬就是學(xué)院里的 top 同學(xué),再往上我就沒怎么聽說了。

現(xiàn)實卻是,大多是四五千月薪的工作,而且得經(jīng)過層層選拔。印象最深刻的是一個知名汽車廠,面試了三輪,還要寫小作文,最后一問工資四千五。

偶然間參加了一次互聯(lián)網(wǎng)公司的宣講會,聽到 17 萬只是他們公司的白菜價時,我整個人都驚呆了,我只能告訴自己「機械專業(yè)越老越吃香,他們?nèi)逯笥刑蕴C,而我沒有?!?/p>現(xiàn)實往往是慘痛的,我在前一家機械公司呆了一年半。工作節(jié)奏是周一到周四早 8 晚 10,周五早 8 晚 5,遲到要罰款,周六可以晚點去,但一定要去上白班。

雖然中午可以休息兩個小時,下午也有一個半小時吃飯,但每次下夜班都是十點了,回到寢室只能簡單洗漱一下就睡了。

雖然每天的在工位上的時間只有「區(qū)區(qū)十小時」,但真正自己能支配的時間只有晚上十點半到第二天七點五十,每次周日的時候,只想睡覺,一覺醒來,發(fā)現(xiàn)明天又要上班了,感覺自己完全沒休息好,馬上又要上班了。

僅僅一年的時間,跟我一起進去的小伙伴體檢都有了大大小小的問題,我也有了脂肪肝、甲狀腺結(jié)節(jié)、糜爛性胃炎,有時候還會心悸、胸痛。

最開始的計劃是一邊上班、一邊自學(xué),轉(zhuǎn)行成功了再辭職。

直到第去年六月份的時候,帶我的同事去年績效打得不好,公司要求末尾淘汰。

他是公司剛成立沒多久就來了的,被公司優(yōu)化了,本來沒什么,拿個 N 1 走人也可以的,惡心人的卻是,公司用了網(wǎng)上各種套路,諸如威脅、調(diào)崗、最低工資等等招式對付我的同事。

最后達成協(xié)議,工資降一半,繼續(xù)留下來,我同事也同意了。

但不到一個月,又說上面政策變了,還是得走人,可以給N,但是是降薪后的N,我的同事徹底心涼了,不愿意在糾纏了。

這件事也讓我徹底心涼了,即使董事長說「發(fā)動機不過是一坨鐵」,我們研發(fā)人員也只是相視一笑,直到這件事發(fā)生,我們才明白----這公司沒什么人情味,我們都可能是下一個「他」,誰知道明年會不會優(yōu)化我們呢?

即使我們努力加班,年紀輕輕就一大堆毛病,也阻止不了被優(yōu)化。但這已經(jīng)是機械行業(yè)里的 top 企業(yè)了,集團還是世界五百強,從業(yè)人員都還是這種待遇。

若是出去,其它機械小廠是不是更糟糕,這更加堅定了我轉(zhuǎn)行的決心。

后來了解到僅僅這個公司這樣,廣豐廣本上汽這樣的明星企業(yè)還是很好的,但進去的條件極其嚴苛。

小鵬、蔚來的互聯(lián)網(wǎng)車企待遇也很好,但需求更大的是「軟件人才」,不是機械。

如果大家有志于汽車行業(yè),也不要因為我的經(jīng)歷而寒心,我的第一家公司代表不了所有的機械行業(yè),只能給大家一個參考。

如果有志于發(fā)展中國的汽車行業(yè),建議大家可以學(xué)計算機、通信、電氣,然后進入車企當(dāng)嵌入式工程師,結(jié)構(gòu)崗我就不推介了,這個坑我已經(jīng)踩了。

言歸正傳,說說學(xué)習(xí)節(jié)奏。

為了保證充足的精力應(yīng)對學(xué)習(xí)和工作,我基本上都是晚上十點下班,回到宿舍洗漱一番,和女朋友聊聊天,十一點就趕緊睡覺了,然后第二天早上 6 點起床看書,看到七點四十就去吃早餐上班(住在廠區(qū),離辦公地點很近)。

這樣的節(jié)奏一般保持六天,周日就睡半天,打打游戲,看看電影,放松自己,下周繼續(xù)上一周的節(jié)奏。

周一到周六除了早上固定的學(xué)習(xí)時間,我也會在中午或下午下班看半小時書,不過效率沒有早上高,故而早上一般學(xué)習(xí)最重要的內(nèi)容,其他時間看博客理解早上學(xué)的內(nèi)容。

在這一年半的時間里,我只學(xué)了 C 、操作系統(tǒng)、計算機網(wǎng)絡(luò)、數(shù)據(jù)結(jié)構(gòu)和算法,基本上都是在 MOOC、B 站上找視頻自學(xué)的,看完視頻再看書進行補充。

C 的學(xué)習(xí)

我在 B 站看黑馬程序員的 C 課程入門的。我基本是先看完一個章節(jié)的內(nèi)容,心中有了大概的理解,就在 VS 上復(fù)現(xiàn)出來。

我對自己的要求就是--一定要復(fù)現(xiàn)出來,因為有種錯覺就是--我以為我會了,一寫代碼就卡殼了,爭取每天學(xué)習(xí)都動手敲代碼。

作為初學(xué)者,我學(xué)了三四個月,在此期間,一直秉承著「少便是多」的原則,甚至?xí)桃夥怕俣?/strong>,如果發(fā)現(xiàn)前面的忘了,就重新再學(xué)一遍,而且第二遍第三遍會快很多,而且還會發(fā)現(xiàn)之前忽略的細節(jié)。

得益于這階段 C 學(xué)得很慢,對基礎(chǔ)知識記住得比較多,后來面試看看面經(jīng),C 相關(guān)的問題基本能回答出來。

我學(xué)完后沒看書,因為《C primer》太厚了,直至面試,我也只是略讀了一次。

操作系統(tǒng)的學(xué)習(xí)

操作系統(tǒng)我是在 MOOC 上看北京大學(xué)陳向群老師的現(xiàn)代操作系統(tǒng)學(xué)的。

不過現(xiàn)在 B 站也有視頻,操作系統(tǒng)還有其他很優(yōu)秀的課,比如華科的、哈工大的、清華大學(xué)的,我選擇北京大學(xué)老師的課是因為我買了《現(xiàn)代操作系統(tǒng)》這本書,課程剛好對應(yīng)上。

學(xué)習(xí)過程中,操作系統(tǒng)給我的感覺就是非常的抽象,這一階段學(xué)得非常慢,進程線程我都是看書才看懂的,不過這一階段要學(xué)的基本可以分為四個部分:進程線程、內(nèi)存、文件系統(tǒng)、I/O(面試問得很少,理解即可),其他的部分可以后續(xù)遇到再學(xué)。

學(xué)習(xí)節(jié)奏基本保持著每個星期只學(xué)一章,多了不學(xué),也不能少。

計算機網(wǎng)絡(luò)的學(xué)習(xí)

計網(wǎng)我是通過哈工大的計算機網(wǎng)絡(luò)學(xué)的,配套書籍是《計算機網(wǎng)絡(luò)自頂向下》,我只看了視頻的應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、鏈路層、物理層。

到傳輸層的時候我就感覺有些吃力了,還好當(dāng)時我遇到了寶藏博主@小林coding,小林的圖解讓我有一種醍醐灌頂?shù)母杏X,原來課上理解不清的概念都被小林圖解得明明白白,衷心推介大家關(guān)注。

數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)

我的數(shù)據(jù)結(jié)構(gòu)是通過浙大陳越姥姥的課學(xué)的,B站有視頻,大家可以去搜。

這一課程需要達到的目標(biāo)是,知道什么是數(shù)組、鏈表、棧、隊列、堆、樹、哈希表、圖這些數(shù)據(jù)結(jié)構(gòu)。

最好能照著視頻實現(xiàn)自己的數(shù)據(jù)結(jié)構(gòu)。只要能將這些實現(xiàn)出來,基本就可以進入下一階段了。

在家自學(xué)半年

在家這半年主要做了兩件事:

  • 第一是將之前學(xué)的操作系統(tǒng)、計算機網(wǎng)絡(luò)、數(shù)據(jù)結(jié)構(gòu)和算法、C 進行總結(jié),用 xmind 將每一個內(nèi)容的知識點脈絡(luò)整理出來,用 typora 將比較難得知識點記錄下來。

  • 第二就是進行實戰(zhàn)訓(xùn)練,學(xué)習(xí)編程技能,比如 linux 的基礎(chǔ) shell 命令、vim、gdb、gcc、make、git 的使用,學(xué)完這些后,開始跟著 acwing 刷題,刷完算法基礎(chǔ)課后,學(xué)習(xí) linux 系統(tǒng)編程和 linux 網(wǎng)絡(luò)編程。

編程基礎(chǔ)技能

刷題

我加入了很多博主的技術(shù)交流群,在里面一直潛水,但依舊學(xué)到了很多。

有一次就知道了?acwing 的算法基礎(chǔ)課,B站試看了一下,發(fā)現(xiàn)正是自己所缺的刷題套路。淘寶買了正版碼,就開始了學(xué)習(xí)刷題套路之旅。

最開始的時候,我想著把課程看完,再回來做練習(xí)題。實行了一個星期,發(fā)現(xiàn)自己還是什么都不知道。

復(fù)盤了一下,還是自己太急躁來了,就給自己定下了少就是多的原則,一定要把題目刷出來才進入下一 階段。

我開始以寫出來為目的進行學(xué)習(xí),如果今天寫不出來,就看題解,去理解,理解后自己寫兩三遍,直到能隨手寫出來。

不出意料,我的進度慢得出奇,一個下午只理解了一個題,不過我還是堅定這個方法是可行的。

皇天不負有心人,一星期后我發(fā)現(xiàn)自己慢慢地摸索到了刷題的節(jié)奏。漸漸的能跟上視頻進度了,學(xué)了兩個月,終于把 acwing 的算法基礎(chǔ)課學(xué)完,雖然花的時間比較長,但還是值得的。

在我遇到的面試中,但凡是要求手撕算法的,都能在算法基礎(chǔ)課里找到一個類型的題。

linux系統(tǒng)編程

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉