努力學計算機四年,終于進騰訊了!
大家好,我是魚皮,20 屆本科畢業(yè),目前是鵝廠的一名全棧應(yīng)用開發(fā)。
前幾天在某乎上看到一個問題:大學計算機系最努力的同學都是如何學習的?

看了幾個高贊回答后,真的是感同身受,也想和大家分享一下自己大學的學習經(jīng)歷,算是給自己一個繼續(xù)前行的動力吧。
與君共勉!
我的大學四年
論努力,我不會輸給任何人。
認識我的朋友都知道,即使目前在鵝廠的高壓下工作,我也依然堅持利用午休和下班后的時間創(chuàng)作,每晚都是接近 2 點才上床休息。
朋友們總勸我,你別肝了,我說:大學的時候,可比這累多了。
下面分享一下我通過自學,最終拿到大廠 offer 的故事。
前言
我是上海一所 211 學校的本科生,網(wǎng)絡(luò)工程專業(yè),雖然學校不算太差,但在各種 985 面前,是沒有競爭力的,只能說學歷不拖后腿。
我從小就對計算機很感興趣(主要是喜歡打游戲),由于高考時失利嚴重,所以在進入大學前,就給自己定下了一定要進大廠的目標,決定要好好努力,不輸其他名校的同學,我要證明自己不比他們差。
不過現(xiàn)在回想起來,當時確實是年少輕狂啊,也沒有想到零基礎(chǔ)學習計算機,竟然需要那么漫長的努力。
還好,雖然在追求目標時走了一些彎路,但總體還算順利。
下面分享我大學四年的學習和求職經(jīng)歷、方法、技巧經(jīng)驗,在最后精心總結(jié),建議大家收藏,并定期和自己的現(xiàn)狀來對比,按照我的經(jīng)歷,每位同學都可以進大廠!
大一
其實,我的大一比較滑水,新鮮的事物太多,讓我漸漸忘了入學前的目標,忽略了學習的重要性,不過這也應(yīng)該是大多數(shù)同學的真實寫照吧。剛?cè)雽W時我加了很多社團,每天就是和兄弟姐妹們開心滴玩耍,完全不在意自己的成績。但幸運的是,我加入了一個給學校開發(fā)網(wǎng)站的工作室,老大給我布置了一些學習網(wǎng)站開發(fā)的任務(wù),因此上學期也學到了一點課本之外的知識,但專業(yè)課的成績著實一般。
寒假回家跟名校的朋友交流后,我意識到自己忘記了曾經(jīng)的目標,于是決定洗心革面,發(fā)奮圖強。和朋友的交流中,我意識到想要學好編程,僅通過學校的計算機課程是遠遠不夠的。于是,我買了幾本書,在大學的第一個寒假,學完了 Java 這門編程語言、數(shù)據(jù)庫理論和 MySQL 數(shù)據(jù)庫的使用。剛開始自學的確比較困難,所以整個寒假 每天早上 8 點鐘爬起來就是學習,一直學到晚上,那段時間幾乎是 閉門不出,所以感覺時間過的很快。自己對這個寒假也沒有什么深刻的記憶了,有時 因為一個 bug 熬到半夜 的郁悶心情。
在剛開始學 Java 時,我看書上的例子是看一遍忘一遍,看了半天啥也沒學會。于是,我就跟著書本敲代碼,把每一個例子,每一行代碼都理解、啃頭,認真完成課后練習,并且將練習的代碼結(jié)合自己的想法做了些修改,試著自己開發(fā)了一些小軟件,比如整人兒程序,打開軟件后就會在屏幕上出現(xiàn)無數(shù)個關(guān)不掉的窗口。自己開發(fā)和設(shè)計程序的過程是非常爽的,沒有課本和作業(yè)的束縛,讓我漸漸對編程產(chǎn)生了興趣,也為后面持續(xù)努力自主學習埋下了種子。
在大一下學期,我首先端正態(tài)度,開始認真學習學校的計算機專業(yè)課程,希望能得到一個好的成績。除了學校教的基礎(chǔ)課外,我在網(wǎng)站開發(fā)工作室中學習了更多網(wǎng)站開發(fā)知識,主動承擔校園網(wǎng)站建設(shè)任務(wù),并且用學到的技術(shù)手動為自己開發(fā)了個人博客,來記錄自己的學習過程。
隨著前端學習的逐漸深入,我開始好奇前端頁面背后的請求邏輯,于是開始自主學習 Java 后端的知識,剛開始接觸后端,感覺像是打開了新世界的大門,我意識到, 握草,編程真的是這輩子都學不完啊,然后開始更努力地學習。
與此同時,在這學期,我抓住了兩個機會,首先是作為隊長申報了國家級大學生創(chuàng)新創(chuàng)業(yè)項目,這個項目的申報屬實不易,我被老師拒絕了好幾次,他每拒絕一次,我就重新提一個想法、設(shè)計一個方案,最終終于成功抓住了機會,帶領(lǐng)團隊開發(fā)了一個一站式校園信息整合系統(tǒng)。做這個項目的時候,正是課程最繁忙的時候,那段時間,光是做課程 oj,就讓我很頭疼了,但還好有責任心驅(qū)使我前進,每天晚上肝到 2 - 3 點,我也能夠?qū)㈨椖孔龊谩?/p>
第二個機會是,我加入了導師的研究生團隊一起做項目,機會是靠自己爭取的,簡單的說就是毛遂自薦,雖然當時我只學了簡單的 Spring 后端開發(fā),但我相信自己能夠通過爆肝,雖不奢望追上師兄們的步伐,也要不拖大家的后腿,為項目多做貢獻。
光通過做項目,我就賺到了幾萬塊錢,做到了經(jīng)濟獨立,同時也積累了一些經(jīng)驗,在專業(yè)課上取得了不錯的成績。
當時的我,天真的以為,照這個節(jié)奏努力下去,已經(jīng)足夠了。
但隨著我看到了身邊更多優(yōu)秀的人(比如我表哥,在清華,大一發(fā)論文,他是我最優(yōu)秀的榜樣),學到了更多的知識,我發(fā)現(xiàn),自己還是太嫩了,那個時候的自己,根本談不上努力,只是個沉迷學習的傻子。
大二
大二這一年,除了擔任班長,我還當了學生會部長、社團部長、網(wǎng)站開發(fā)工作室的負責人,因此,除了專業(yè)課學習外,還有非常非常多其他的事情要處理。但是,不論其他事情要處理到多晚,我都始終堅持每天留給自己幾個小時用來自學技術(shù),哪怕熬夜到凌晨三四點,然后第二天 8 點接著醒來上課。課上犯困的時候,我會做一些相對不用動腦的工作,比如記錄一些實驗課的報告。然后等回了寢室,躺在床上,把電腦放被子上,我便會打起精神,開始自主學習編程。
雖然此前我已經(jīng)學了很多編程語言,但是,從大二開始,我堅定地選擇 Java 作為自己的主語言。
大二上學期,我?guī)缀趺刻於际窃诮虒W樓、學院樓或是圖書館度過的。為了鞏固自己的 Java 基礎(chǔ),我不僅上網(wǎng)看了一套完整的 Java 視頻教程,還讀了《 Java 核心技術(shù)卷》這一經(jīng)典書籍。為了檢驗自己的學習成果,我自主報考了國外的 Java 等級認證,特地辦了張跨境銀行卡來支付報名費,還好通過努力復習,高分通過。Java 基礎(chǔ)打扎實后,我開始學習主流的 Java 開發(fā)框架、微服務(wù)技術(shù)等。我的記性比較差,但還好學編程不靠死記硬背,背代碼的肯定是比不過自己做項目、多寫代碼的。因此我學編程知識時有個特點,就是邊學、邊敲代碼做項目,每學完一個技術(shù),我都會獨立開發(fā)一個項目,比如團隊協(xié)作系統(tǒng)、CRM 管理系統(tǒng)、校園通訊系統(tǒng)、即時聊天系統(tǒng)等。
哦對了,那會兒,之前的網(wǎng)站工作室負責人畢業(yè)了,臨走時,把工作室托付給了我,當時工作室成員不多,光我自己,就獨立做了 5 個以上的網(wǎng)站。在老師的推薦下,我還去給其他學院的老師開發(fā)系統(tǒng),而且那段時間,在上數(shù)據(jù)結(jié)構(gòu)和算法這門課,我還在研究 ACM 方面的題目,所以有時會忙到連中午吃飯的時間都沒有,直接待在其他學院的老師辦公室吃盒飯。
我會整理自己做過的項目,慢慢地竟也積累了不少,有一些項目改造改造,拿去完成課程大作業(yè),或者參加比賽,都非常不錯。
我也經(jīng)常在自己寫作的地方分享自己做過的項目和經(jīng)驗,歡迎大家看一下。
大二寒假,我參加了一個計算機作品競賽,有幸找到一位很優(yōu)秀的學長,他做后端,我做前端,我們一起開發(fā)了一個大學二手置換平臺。在這個過程中,我學到了很多團隊開發(fā)的技巧,也從學長身上學到了很多編程小姿勢。學長校招拿到了阿里的 offer,也是給我?guī)砹瞬簧俚墓膭畎伞?/p>
這個寒假,除了開發(fā)作品外,我看了一些計算機網(wǎng)絡(luò)方面的書籍,補充自己的理論知識,基本也是全天都在學習,只有晚上跟朋友出去玩玩桌游,即使在玩時,可能抽空還會想想白天遇到的難題,痛并快樂著吧。
通過不斷開發(fā)作品,我意識到自己的前端網(wǎng)站開發(fā)效率好像不太高,于是在大二下學期,我開始學習前端框架 Vue,比 jQuery 更加高效地開發(fā)體驗帶給我極大的學習興趣,一口氣學了一個多月,看完了 2 套 Vue 完整教學視頻,并且自己動手寫了幾個 Vue 完整項目,同時還學到了很多打包工具,自己也實踐了他們的配置方式。
當時覺得大二暑假好像沒什么事做,就計劃要不用技術(shù)賺點錢吧,因此我沒有選擇去做兼職,而是想找一份和自己職業(yè)目標相關(guān)的實習,于是我開始跑到大公司的官網(wǎng)去投遞簡歷,即使簡歷上什么內(nèi)容都沒有。結(jié)果可想而知,像阿里巴巴這種一線大廠根本就不鳥我,朋友們覺得真實么?
沒辦法一次進大廠實習,那就一步一步往上爬吧。那我就在各種求職網(wǎng)站去海投簡歷,終于有幸在實習僧上收到了幾家公司的面試邀約,基本都是要坐幾個小時地鐵的公司,但肯定也都要去試試吧。當時自己雖然做了不少網(wǎng)站,但由于面試準備不充分,屢戰(zhàn)屢敗,結(jié)果只有一家公司肯要了我,崗位正好是 Java 后端開發(fā)。
于是那年暑假,我每天早上 6 點就要起床趕高鐵去上班,學校在郊區(qū),我要先騎著我的小、小電動車去地鐵站,然后坐地鐵,換乘 2 次,再走老長一段路,來回四個小時的車程。后來,為了省時間,我發(fā)現(xiàn)了一條更精妙的路線,公司在高鐵站附近,那我干脆就坐高鐵去!于是,每天可以節(jié)省近一個小時的時間來學習。
當然,在車上的時間我并沒有浪費,而是利用這些零碎時間用手機刷 Java 等知識的練習題、看其他同學的面經(jīng)、或者閱讀公眾號上的技術(shù)文章。我給自己定了一個每日任務(wù),每天讀 4 篇文章,刷 30 道???Java 題目,經(jīng)過兩個月的時間,題目刷通了兩遍,也學到了很多技術(shù)知識。
那段時間,我白天在公司上班,晚上還要回到學校去接著跟老師做項目或者自主學習,彌補面試時發(fā)現(xiàn)的自身的不足。
即使在工作中沒什么活的時候,我也會刷算法題,帶薪刷算法題,絕對不讓自己閑下來,因為我怕我一放松,就會懈怠。等我走的那天,刷了估計也有幾十題了。不過有一說一,那會兒網(wǎng)上的算法教程和經(jīng)驗分享都不多,所以我也走了很多彎路吧。給大家整理了一些學算法的資源,希望大家不要像我剛開始一樣,隨緣刷題,低效又無趣。
還好,整個實習真的非常愉快,雖然只有兩個月,但我真的收獲爆表。
學到了很多技術(shù)和業(yè)務(wù)知識,開拓了眼界,也明確了我今后的職業(yè)發(fā)展方向;學會了團隊溝通和協(xié)作,懂得了誠信的重要,也收獲了人脈。當然,最重要的是收獲了人生一段難忘的回憶。
這也是為啥我建議大家在學了一些技術(shù)后,趁早去找一份實習,不用擔心自己的經(jīng)驗不足,通過面試和企業(yè)工作的磨練才能讓你積累更多的經(jīng)驗和技術(shù),也能幫助你明確自己的目標。
不過遺憾的是,到最后也沒賺多少錢,飯錢自己掏,高鐵費齁貴,哈哈。
在今年,為了解決學了就忘的問題,我開始使用一種新的學習方法 —— 費曼學習法。每次學到一些知識,我會嘗試用自己的方式進行復述,并和其他同學進行分享。只有能清晰地講述所學知識,并讓他人能夠理解,才算是真正學會了。用這種方法,我不僅加深了對知識的印象,語言表達能力也得到了很大的提升,還有了更多給學院同學分享的機會,開過幾場講座,而這些都對我今后的面試非常有幫助!
讓我欣慰的是,自主學習課外技術(shù)竟也幫助我理解了一些學校的課程,因為很多理論知識之間是有關(guān)聯(lián)的吧,所以今年的成績還算不錯,拿到了國家獎學金。我用獎學金的錢,再加上之前做項目的錢,買了配置更高的電腦和設(shè)備,激勵自己學習。
大三
在之前的幾次面試失利中,我感覺自己的編程知識是缺斤少兩的。一方面我要學習更多且更深層的后端知識,不能僅停留于 “會用”,而是要 “活用”。因此在大三這一年,我又學了像消息隊列、搜索引擎等企業(yè)后端必備的技術(shù),以及 MySQL 優(yōu)化、虛擬機調(diào)優(yōu)、Redis 底層,并且通過閱讀源碼,自己搞了一些框架。另一方面,我意識到了數(shù)據(jù)結(jié)構(gòu)和算法的重要性,開始刷算法題目,每天早上花 2 - 3 個小時搞幾道題,堅持了近一年,總共搞了 1000 道題吧,也順便考了一些算法類證書。
學的技術(shù)越多,我越發(fā)現(xiàn)啊,學編程還真是得靠敲的!光說不練假把式,其實很多視頻教程中的小 Demo 都蠻不錯的,要注重積累,并試著將重復的代碼進行抽象,避免重復造輪子。很多技術(shù)都是因為有實際應(yīng)用需求,才被人創(chuàng)造,才需要你去學習,比如你要做一個支持用戶登錄的 APP,你就要學習登錄機制;要做即時通訊,你就要了解 RTC、Socket;性能低了,你就要去優(yōu)化;擔心網(wǎng)站被黑了,你就要做安全措施;懶得寫重復代碼,你就要學低代碼、大前端等等。
直到現(xiàn)在,我依然是一名興趣驅(qū)動型 coder,會經(jīng)常帶著小伙伴們一起做一些好玩輕松的項目,提升興趣的同時學到不少編程小技巧,歡迎朋友們來看看。
正因為明白興趣和實踐的重要性,所以我大三一整年都沉迷于做項目、找實習、參加競賽,樂此不疲。
上學期先是在實驗室跟著老師研究區(qū)塊鏈技術(shù),不得不說,實驗室的環(huán)境更適合學習,從早上起床就來實驗室,直到晚上十點多甚至是十一點才走,感覺真是很充實!幾個月過去,終于開發(fā)出了落地應(yīng)用并出版了一本教材(個人編寫占比超過 50%),也是這段時間的研究讓我浮躁的內(nèi)心漸漸變得平靜。
在寒假前我向字節(jié)跳動投遞了簡歷,在一份實習經(jīng)歷和堅持刷算法題的加成下,我很順利地成功通過了面試,開始了日常實習生活,在不敲任何一節(jié)課的情況下,每周上班 3 ~ 4 天。(好奇為啥沒翹課還能一周上這么多天班么?后面詳細給大家分享,歡迎關(guān)注我呀?。?/p>
實習部門是個新部門,地鐵每趟要近 2 個小時。雖然使用的是自己不太擅長的 Php 和 Go,但學習起來很容易,導師和上級非常好,給我絕對的發(fā)揮空間,從入職起就參與項目的需求評審,甚至后來是自己一個人負責了一個項目的后端,和其他部門的同事打交道也非常多,成長非常非常非常快!而且字節(jié)跳動的待遇真的沒話說,全員 Macbook +免費三餐零食下午茶。
后來快離職了,導師和上級也沒給我安排什么任務(wù),除了解決下之前寫的 Bug 外,我不會閑著,有空就堅持刷算法,LeetCode、交大 OJ、浙大 OJ、???、PAT、北大 OJ,我都刷了幾十道題,其中 LeetCode 刷了 600 多道!順帶一提,在來回四個小時的車程中我依然會看技術(shù)文章、背單詞、看面經(jīng)、或者刷刷面試題目。不得不說,字節(jié)跳動真的是一家很好的公司,他的價值觀(字節(jié)范兒)也帶給了我很大的激勵吧,共勉。
實習四個月后,我跑路了,原因是自己還在糾結(jié)到底是保研還是就業(yè),不妨兩者都試試,到時候再選擇一個更優(yōu)解。所以回到學校后,為了豐富簡歷、給上海落戶湊一些積分,我參與了一些大型競賽,像挑戰(zhàn)杯、互聯(lián)網(wǎng)+、三創(chuàng)賽,在所有團隊成員共同努力并讓我抱大腿的情況下,也獲得了一些獎項。
后來,某天在校溜達時,我突然收到了騰訊的電話面試邀請,總共只有兩輪面試,都是些后端問題,還好我每天都在看面試題,有備而來,所以答得還行,也就順利搞到了暑期實習的 offer。
大三這一年,我專門搞新技術(shù)的時間并不多,但是通過不斷做項目、刷算法、不斷發(fā)現(xiàn)和解決問題,我的基礎(chǔ)和技術(shù)能力都有了很大的進步。有了更多的知識積累,在學新技術(shù)時,我可以將一些新知識和以前的知識對照和串聯(lián),從而理解的飛快!比如學過前端 Vue 框架后,再學習 React 框架就輕而易舉,我的技術(shù)棧也越來越豐富了。
大四
大三暑假,我開始了在騰訊的實習生活,剛開始還是挺不適應(yīng)的,總是在簡單的工作上翻車,但后來多花了些時間學習,也漸漸能獨立完成工作了。后來,我在實習轉(zhuǎn)正答辯中取得了同組第一的成績,順利搞到了不錯的 offer,并成功簽約。不知道小伙伴們是否需要我出一期實習轉(zhuǎn)正的視頻呢?
整個大四,我基本都在騰訊實習,每天依然是坐地鐵往返學校和公司,在路上堅持學習。疫情期間,我就在家里遠程實習,下班的時間除了做畢業(yè)設(shè)計、寫論文之外,我還獨立開發(fā)和上線了一個完整的小程序【面試君主】。
等畢業(yè)證搞到手,我已經(jīng)在騰訊實習了近一年,后面的轉(zhuǎn)正也都非常自然。
不過轉(zhuǎn)正之后,激動的同時,身上的責任和壓力也大了許多。想了解我轉(zhuǎn)正經(jīng)歷的朋友,請點贊后在評論區(qū)告訴我吧,讓我知道有人看了幾千個字后,來到了這里~
這就是我的大學生活,一段平凡的奮斗史。
當然,想要進大廠,只靠努力還是不夠的(但不能不努力),我認為進大廠還需要以下要點:
興趣,學自己喜歡的,這是你前進的主要動力
目標,有目標才有規(guī)劃,才能避免像我一樣走了彎路浪費了些時間
自學,只有持續(xù)自學,你才能看到更大的世界。其實現(xiàn)在網(wǎng)上好的學習資源非常多,為了幫助大家發(fā)現(xiàn)優(yōu)質(zhì)編程資源,我花了 200 個小時開發(fā)了編程導航,還整理了免費編程資源大全。
實踐,紙上得來終覺淺,對編程來說更是如此,必須要多加練習
機會,在我的故事中看似有很多的幸運,但其實每一個機會都是要自己爭取來的,你變強了,更多機會和幸運才會眷顧你。而每個機會都可能會改變你的命運。
突破,打破自己的舒適圈,這樣才能給自己多一點選擇,多一點成功的可能性。
時間,珍惜你大學的時間,這段時間的努力會在未來,給你帶來更大的價值
生活,保持健康規(guī)律的生活,不要像我一樣因為常年熬夜,記性越來越差,頭發(fā)掉的越來越快。
最后再給在校的同學們一些建議。
建議
給目標直接就業(yè)同學的建議:如果時間還多,那么就按照自己的節(jié)奏和興趣去學習技術(shù)并實踐,心無旁騖。你要知道研究生也才多一年多的做項目和研究時間,如果本科你把別人準備考研的一年用于學習技術(shù),那么技術(shù)實力完全不輸于研究生!
給考研同學的建議:提前了解目標院??疾斓膶I(yè)課,并在該門課初學時就多下功夫。所有的實踐課要好好學,平時有空也多上牛客等平臺認識更多的朋友,了解找工作常用技術(shù)和其他同學的情況,避免考研失敗后春招完全小白。
給保研同學的建議:如果 一心決定讀研,擔心保不到好的學校,也可以準備下考研,順便也能復習到一些面試知識。
總之,給自己 多一個選擇,多一條后路。
我的座右銘:相信自己有能力,那么你就真的會有!
希望這句話可以鼓舞到更多的同學吧。
另外,很多同學對知識博主的生活可能比較好奇,我是怎么做到 連續(xù)日更不中斷、同時維護兩個公眾號、又做視頻、又寫文章、又做直播,又能作為項目主負責人,和小伙伴們一起持續(xù)開發(fā)自己的網(wǎng)站【編程導航】的呢?
我工作之后的日常,可以看這篇文章:聊聊最近的生活
因為熱愛,所以堅持!
我是魚皮,大家有問題可以聯(lián)系我,一起加油吧!