大數(shù)據(jù)開發(fā)該如何學習(附應屆生學習路線)

編者薦語:

一位大廠offer收割機學長的投稿

以下文章來源于大數(shù)據(jù)老劉 ,作者大數(shù)據(jù)老劉

背景:
有很多小伙伴找老劉討論大數(shù)據(jù)開發(fā)相關內容,第一句往往是:”大數(shù)據(jù)內容太多了,我到底應該怎么學習大數(shù)據(jù)開發(fā)“。

有這種困惑是很正常的一個情況,尚硅谷它免費分享出來的大數(shù)據(jù)學習視頻有109.60G,有18個文件夾,很多人看到這么多技術直接懵了,腦子里冒出無數(shù)個問題:

我是應該全部學習呢?還是挑部分學習?
如果全部學習,時間夠嗎?來得及復習嗎?
挑部分學習,挑哪部分學習呢?
大數(shù)據(jù)開發(fā)不知道怎么學,不知道哪些是重點?
學了后不知道企業(yè)中怎么開發(fā)?怎么用?這點很讓人煩惱!
......
老劉當初作為一個初學者,和這些小伙伴想的一樣,天天愁眉苦臉,到底該怎么學,能不能學好找到工作,企業(yè)中怎么應用學的知識,腦子里全是亂七八糟的東西!

現(xiàn)在快畢業(yè)了,回想起這段時光,真想給自己幾下,在沒用的事情上浪費了太多時間,所以老劉趁著這段空閑時間給應屆生好好講講如何高效準備大數(shù)據(jù)開發(fā),如何不讓自己迷茫!

正文
面對這么多的大數(shù)據(jù)組件如何學習?把每一個都掌握嗎?
這個想法有點瘋狂,一個組件花費一個星期學習,那18個組件就需要花4個半月。

但我們能保證一個星期內掌握一個組件嗎?

老劉感覺一個星期的時間對大多數(shù)組件來說只是接觸了一個皮毛,不能保證有應用能力。我們到企業(yè)中是要干活的,要有輸出,要有應用能力,沒有應用能力,是很危險的一件事!

(如果有人能在4個半月完全掌握,就當我沒說哈,特殊情況特殊對待)

那我們應屆生如何破局,在一定的時間內高效學習大數(shù)據(jù)開發(fā)技術呢?

應屆生的秋招面試關注點更多在于基礎,有扎實的基礎,才能說明自己的學習能力和可塑的空間。

企業(yè)招我們進去工作,可以給我們安排這個崗位,也可以給我們安排另一個崗位,是因為他們覺得我們學習能力強,基礎好,有著可塑空間,學這個學的也快,學那個學的也快!

所以我們要有扎實的基礎,包括:Java編程基礎知識、計算機網(wǎng)絡知識、操作系統(tǒng)知識、大數(shù)據(jù)部分組件基礎知識,甚至我們都可以不具有大數(shù)據(jù)部分組件知識,有一些公司招聘大數(shù)據(jù)開發(fā)崗位都不問大數(shù)據(jù)問題,只問Java基礎知識、計算機網(wǎng)絡知識、操作系統(tǒng)知識,因為這些公司基礎平臺做得好,已經(jīng)不需要我們了解底層大數(shù)據(jù)知識,我們只需知道我們的崗位是什么,在企業(yè)中怎么干,加上扎實的基礎就OK了。

有些公司在面試過程中不問大數(shù)據(jù)相關問題是真的,大家看看字節(jié)、網(wǎng)易、華為、阿里的實習招聘要求,如圖所示:







它們都有一個共同點,熟練掌握Java、SQL,大數(shù)據(jù)組件算作加分項,也就是我們最起碼要有扎實的Java基礎。

在Java基礎中,面試官一般會問一些常見的原理性問題,例如:



這是某位大數(shù)據(jù)開發(fā)大佬給我說的內容,我希望大家能夠通過這張圖明白基礎的重要性!

挑部分學習,挑哪部分學習呢?
如果我們具備了扎實的Java基礎,還有多余的時間,那完完全全可以去挑部分大數(shù)據(jù)組件學習,但大數(shù)據(jù)組件實在是太多了,挑哪部分學習最好?






由于網(wǎng)上能搜到的免費大數(shù)據(jù)項目大多數(shù)都是數(shù)據(jù)倉庫項目,我們完完全全可以根據(jù)數(shù)據(jù)倉庫涉及到的組件進行學習!

數(shù)據(jù)倉庫分為離線數(shù)據(jù)倉庫和實時數(shù)據(jù)倉庫,離線數(shù)據(jù)倉庫的難度比實時數(shù)據(jù)倉庫小,掌握花費的時間也比實時數(shù)據(jù)倉庫少,所以老劉先從離線數(shù)據(jù)倉庫講解一下學習內容。

離線數(shù)據(jù)倉庫的學習路線如下:

Java基礎、Linux系統(tǒng)、shell編程
MySQL的用法和原理
Hadoop基礎系列(HDFS、MapReduce、Yarn、Zookeeper)
Hive的原理、用法、相關調優(yōu)
Spark/Scala的原理、用法、相關調優(yōu)
數(shù)據(jù)倉庫建模管理的相關概念
離線數(shù)據(jù)倉庫練習
大家可以從網(wǎng)絡上找到這些組件的免費學習資料,根據(jù)這些學習資料掌握這些組件!

老劉去年也是根據(jù)這個學習路線學完了離線數(shù)據(jù)倉庫,相關組件并不是很多,每天早起晚睡瘋狂背原理很快就能掌握!

接下來是實時數(shù)據(jù)倉庫內容,實時數(shù)據(jù)倉庫組件較多,難度較大,學習時間有點長,如果大家學習完離線數(shù)據(jù)倉庫相關內容,還有多余的時間,可以學習一些實時數(shù)據(jù)倉庫組件,不一定非要做一個實時數(shù)據(jù)倉庫項目!

實時數(shù)據(jù)倉庫的學習路線如下:

Java基礎、Linux系統(tǒng)、shell編程
MySQL的用法和原理
Hadoop基礎系列(HDFS、MapReduce、Yarn、Zookeeper)
Hive的原理、用法、相關調優(yōu)
Spark/Scala的原理、用法、相關調優(yōu)
數(shù)據(jù)倉庫建模管理相關概念
離線數(shù)據(jù)倉庫練習
SparkStreaming的原理、用法、練習
Kafka的原理、用法、調優(yōu)
Flink的原理、用法、練習
HBase的原理、用法、調優(yōu)
實時數(shù)據(jù)倉庫練習
很明顯,實時數(shù)據(jù)倉庫的學習內容是在離線數(shù)據(jù)倉庫的基礎上進行了擴展。根據(jù)這個學習路線,如果有足夠的時間,完完全全可以學習完,但沒有足夠的時間,老劉建議學學Kafka、Flink這幾個就行了。需要補充的是這些學習資料都可以在網(wǎng)上找到免費的,大家不要擔心學習資料的問題。

學了后不知道企業(yè)中怎么開發(fā)?怎么用?
總是擔心這個問題是非常正常的一個情況,大部分人沒有經(jīng)歷過實習,只是學了一身本領,還沒地方施展自己的抱負,害怕自己的本領無法發(fā)揮出來!

但對于應屆生來說,基礎最重要,基礎不牢地動山搖,而且在實習期,在別人的帶領下,我們可以憑借扎實的基礎,快速學習快速上手快速掌握。

舉個例子,老劉所在的華為部門,今年組織了一個提前學習小組,給我們分享了Java基礎學習視頻、華為Java編程規(guī)范、開發(fā)者測試快速入門等良心學習資源,老劉最后獲得了學習之星、優(yōu)秀學員、優(yōu)秀學習小組三個獎勵,全是靠自己平時的積累加快速學習的能力,所以老劉希望大家不必過于擔心,該學的學該吃的吃該喝的喝該玩的玩!

總結
本文全篇就強調了一點:基礎,只要我們牢牢掌握了基礎知識(Java基礎、計算機網(wǎng)絡、操作系統(tǒng)、大數(shù)據(jù)基礎這幾個),我們壓根不用擔心找不到工作,希望大家明白基礎的重要性,把基礎打牢!(老劉已經(jīng)強調無數(shù)遍了)

老劉為了這篇文章準備了很久,但因為畢業(yè)相關事情一直拖著,今天終于能發(fā)出來了,希望可以幫助到同樣想找大數(shù)據(jù)開發(fā)的應屆生或者大學生!

好啦!今天的內容就分享到此了!希望能夠幫助到大家!動動手點擊一下點贊和在看吧!更多精彩內容歡迎訪問我的大數(shù)據(jù)內容網(wǎng)站 dreamdataer.com






作者:大數(shù)據(jù)老劉

歡迎關注:大數(shù)據(jù)夢想家