零基礎一年拿下BAT三家offer

背景

  • 1、本人本科一本雙非墊底的那種,碩士211。本碩電子通信,完全0基礎,轉行一年。
  • 2、研一上第一學期上課+外派到老師合作公司寫MATLAB。去年4月開始學習Java。

起步

1、實話說,剛決定轉行的時候完全零基礎一開始真的啥也不會,甚至不知道怎麼去學習。的確,計算機資源很多,自學足夠的但是完全不知道怎麼去用去學習啊!

  • 啥是leetcode?
  • 啥是github?
  • 啥是IDEA?
  • 啥是牛客網?

各種疑問,怎麼操作啊?點哪個啊?身邊沒有人教啊。

有時候真的只是懂的人點兩下的事情,自己搞要一下午。媽個雞,第一個月真是完全浪費時間,差點原地放棄。

過程

  • 1、戰略上堅定信心: 既然那麼多人都可以做程序員,甚至高中生都可以,別人可以我肯定也可以。
  • 2、戰術上制定計劃: 培訓班看視頻我也看視頻咯,對,就是各種視頻。(現在想想自己甚至就是培訓班出來的)

視頻的好處是快速入門,猶如身邊有老師手把手教,一步一步操作給你看。很重要一點,培訓班老師上課非常認真,真的是面向高中生水平講課。完全不用擔心有卡頓,看不懂。記得某門課老師還在講啥是二進制和排列組合。。

Java入門(4-7月):

我在 阿里雲大學 上找了 李興華老師 的Java就業班,看了部分,走完了Java SE,Java EE,MYSQL,SSM,Git的使用,跟著敲一遍,耗時大概3個月時間。學會了Java基本語法,懂得了什麼是編輯器和Git,第一次知道了還有github這玩意,不容易啊。。

感覺入門視頻選哪個老師的都可以,有推薦黑馬和尚硅谷,我覺得看視頻的主要好處是快準狠,把握重點。比自己啃完Java編程思想快多了。

狠補基礎階段(7-12月):

這一階段,我覺得對於牛客人均本科的大家沒啥大問題,主要是時間問題。就當作本科期末考試來就行,有緊迫感,十天一門課過一遍非常足夠了,然後看公開課視頻,再做一下練習題(我做的是王道)。七 ***三個月我過完了 計算機網絡,操作系統,數據庫原理,數據結構。(過完,有個大概印象,相當於期末考60分水平吧)。

其中,我覺得幫助很大的是七八月的時候,關注了github:https://github.com/gzc426/Java-Interview,然後就沒啥方法,直接硬核地從頭開始看。後面證明半年其實也就能看完github的所有內容了。 可以算是新手入門的最佳指南了。

下面就是我這一階段的學習步驟和對應的資料:

  • 大綱:
  • https://github.com/gzc426/Java-Interview(說實話看了半年多才看完)
  • 計算機網絡:
  • 教材:謝希仁老師 的 計算機網絡, 圖解HTTP協議
  • 視頻:韓立剛老師 的 計算機網絡原理視頻,
  • 習題:王道
  • 操作系統:
  • 教材: 湯小丹老師 的 計算機操作系統
  • 視頻: 陳向群老師 的 操作系統原理
  • 習題: 王道
  • 數據庫原理:
  • 教材: 薩師煊老師 的 數據庫原理與應用
  • 視頻: 薩師煊老師 的 數據庫原理與應用
  • 習題: 王道
  • 數據結構:
  • 教材: 大話數據結構、劍指offer
  • 視頻: liuyubobobo 老師,三門算法課視頻(吹爆)。
  • 習題: 牛客網 + leetcode。九月份才註冊leetcode的我。。
  • MySQL:
  • 教材: 高性能MySQL(吹爆)
  • 視頻: 打造扛得住的MySQL架構
  • Java高併發:
  • 教材: Java編程思想
  • 視頻: Java併發編程入門與高併發面試
  • Java虛擬機
  • 教材: 深入理解Java虛擬機(吹爆)
  • 突擊效果不明顯,但是好書推薦(沒看完)
  • 書籍: 碼農翻身,數學之美,編程珠璣,深入分析Java Web, 深入理解計算機系統

項目(10月):

學到九月份多還是虛的很,啥也不會啊,沒做過東西。。於是去慕課網找了一個秒殺的免費項目:https://www.imooc.com/u/2145618/courses?sort=publish (其實這個項目根本沒有秒殺。。也沒有高併發),就跟著大概過了一遍,敲了一敲代碼。就當作自己的項目好了。當時跟著敲完也不知道幹啥,也不知道啥是DTO,怎麼就想到這麼處理的,一臉懵逼。稀裡糊塗就做完了。。。

實際上,後來去面試的時候,這個項目基本就沒問過我,面試官一看就知道很水。

第一次實習

12月的時候內心OS:當時真的是非常虛,感覺學的都是屠龍之術,也沒怎麼寫過代碼。真的菜到自己發慌。。

11月底,12月初的時候就開始嘗試找日常實習了。感謝北郵人論壇,裡面有非常多的實習機會。過程不表了,面經大同小異。最終入職了百度實習。一直實習到四月多。

剛進去實習的時候,Linux不會,Spring Boot不會,RPC不會,Redis不會,消息隊列不會,微服務架構都沒聽過,Docker部署啥意思。。。

反正就是壓力很大,還好一開始讓看了一個月代碼和熟悉環境。每天瘋狂查看資料,買書看書看視頻。回家過年的時候還把Zookeeper和Dubbo刷了一下。。

煽情段:只想說說找實習很看和麵試官的緣分,遇到好人真的很難得。我有過一面就被面試官鄙視離場的心酸(新浪微博問了兩個問題就讓走了),也有過碰到師兄耐心指導(頭條一面是師兄,很和善,但是三面主管掛了),也有過幾個offer。很感激百度面試的兩位面試官,有些問題都是他們自問自答就讓我過了(後面進去實習的時候是說彷彿看到了他們當年自己很菜的樣子。。。後面也是亦師亦友,非常感激!)

實習過程中的補充內容:

  • Redis:
  • 教材: Redis實戰
  • 視頻: 一站式學習Redis 從入門到高可用分佈式實踐
  • Zookeeper:
  • 教材: 從Paxos到zookeeper分佈式一致性原理與實踐
  • 視頻: 尚硅谷大數據之Zookeeper
  • Dubbo:
  • 教材: 無
  • 視頻: 尚硅谷dubbo
  • Spring Boot:
  • 教材: Spring Boot實戰
  • 視頻: 尚硅谷Spring Boot
  • 消息隊列:
  • 最近在看kafka,還沒看完不好推薦。

春招

實習了三個月左右,年後回到學校就三月多了,各大廠也開始了暑期實習,我也跟隨大流一起投簡歷。

  • 薄弱點:前面可以看到因為基礎太差,花費了大量時間看書和看視頻,導致算法比較薄弱,只會一些非常基礎的(200題不到,而且刷兩題,忘一題)。所以春招開始的時候也是很緊張的,鞏固基礎和兼顧實習的工作,還有實驗室要發小論文非常焦慮。
  • 後悔點:實在是沒有辦法,算法真的不是一下子就能學會的,而且也有一些懶惰,期間經常玩樂,如果能把每天休息玩耍的時間用來刷算法題。。
  • 結果:最終春招只投了騰訊和阿里,也運氣比較好的拿到了offer,沒有考太難的算法題。

一些補充

學習錯覺:

  • 上述感覺每一塊內容我就列了一兩行,實際上要吃透非常困難,比如高性能MySQL和Java虛擬機相關的內容我就看了好幾遍。而且需要好多博客內容加以輔助理解。
  • 我列的不可能覆蓋所有的面試點,還需要保持好奇心多學習。比如大數據題思路,智力題,架構設計題等等,這些要說的內容太多了。保持好奇&互相學習!

學習方式:

  • 我比較喜歡視頻快速入門-->書籍慢慢深入-->再動手實操。
  • 個人認為,學習不分方式,適合自己的就是好的,有些人比較歧視培訓班出來的,我關注的某畫倉鼠漫畫的技術大佬就是培訓班出來的,感覺非常強。
  • 為什麼考研看張宇視頻和肖秀榮視頻就不會受歧視呢?

搜索資源:

  • 有些人學的不夠快是找的資源方式不對。
  • 多向師兄師姐打聽
  • 多加技術QQ群討論
  • 常刷牛客

出自:https://blog.csdn.net/WantFlyDaCheng/article/details/100569954

我是百度後臺開發工程師,哈工大計算機本碩,專注分享技術乾貨/編程資源/求職面試/成長感悟等,關注送5000G編程資源和自己整理的一份幫助不少人拿下java的offer的面經附答案,免費下載CSDN資源。


分享到:


相關文章: