背景:
有很多小伙伴找老刘讨论大数据开发相关内容,第一句往往是:”大数据内容太多了,我到底应该怎么学习大数据开发“。
有这种困惑是很正常的一个情况,尚硅谷它免费分享出来的大数据学习视频有109.60G,有18个文件夹,很多人看到这么多技术直接懵了,脑子里冒出无数个问题:
我是应该全部学习呢?还是挑部分学习?
如果全部学习,时间够吗?来得及复习吗?
挑部分学习,挑哪部分学习呢?
大数据开发不知道怎么学,不知道哪些是重点?
学了后不知道企业中怎么开发?怎么用?这点很让人烦恼!
……
老刘当初作为一个初学者,和这些小伙伴想的一样,天天愁眉苦脸,到底该怎么学,能不能学好找到工作,企业中怎么应用学的知识,脑子里全是乱七八糟的东西!
现在快毕业了,回想起这段时光,真想给自己几下,在没用的事情上浪费了太多时间,所以老刘趁着这段空闲时间给应届生好好讲讲如何高效准备大数据开发,如何不让自己迷茫!
正文
面对这么多的大数据组件如何学习?把每一个都掌握吗?
这个想法有点疯狂,一个组件花费一个星期学习,那18个组件就需要花4个半月。
但我们能保证一个星期内掌握一个组件吗?
老刘感觉一个星期的时间对大多数组件来说只是接触了一个皮毛,不能保证有应用能力。我们到企业中是要干活的,要有输出,要有应用能力,没有应用能力,是很危险的一件事!
(如果有人能在4个半月完全掌握,就当我没说哈,特殊情况特殊对待)
那我们应届生如何破局,在一定的时间内高效学习大数据开发技术呢?
应届生的秋招面试关注点更多在于基础,有扎实的基础,才能说明自己的学习能力和可塑的空间。
企业招我们进去工作,可以给我们安排这个岗位,也可以给我们安排另一个岗位,是因为他们觉得我们学习能力强,基础好,有着可塑空间,学这个学的也快,学那个学的也快!
所以我们要有扎实的基础,包括:Java编程基础知识、计算机网络知识、操作系统知识、大数据部分组件基础知识,甚至我们都可以不具有大数据部分组件知识,有一些公司招聘大数据开发岗位都不问大数据问题,只问Java基础知识、计算机网络知识、操作系统知识,因为这些公司基础平台做得好,已经不需要我们了解底层大数据知识,我们只需知道我们的岗位是什么,在企业中怎么干,加上扎实的基础就OK了。
有些公司在面试过程中不问大数据相关问题是真的,大家看看字节、网易、华为、阿里的实习招聘要求,如图所示:
它们都有一个共同点,熟练掌握Java、SQL,大数据组件算做加分项,也就是我们最起码要有扎实的Java基础。
在Java基础中,面试官一般会问一些常见的原理性问题,例如:
这是某位大数据开发大佬给我说的内容,我希望大家能够通过这张图明白基础的重要性!
挑部分学习,挑哪部分学习呢?
如果我们具备了扎实的Java基础,还有多余的时间,那完完全全可以去挑部分大数据组件学习,但大数据组件实在是太多了,挑哪部分学习最好?
由于网上能搜到的免费大数据项目大多数都是数据仓库项目,我们完完全全可以根据数据仓库涉及到的组件进行学习!
数据仓库分为离线数据仓库和实时数据仓库,离线数据仓库的难度比实时数据仓库小,掌握花费的时间也比实时数据仓库少,所以老刘先从离线数据仓库讲解一下学习内容。
离线数据仓库的学习路线如下:
Java基础、Linux系统、shell编程
MySQL的用法和原理
Hadoop基础系列(HDFS、MapReduce、Yarn、Zookeeper)
Hive的原理、用法、相关调优
Spark/Scala的原理、用法、相关调优
数据仓库建模管理的相关概念
离线数据仓库练习
大家可以从网络上找到这些组件的免费学习资料,根据这些学习资料掌握这些组件!
老刘去年也是根据这个学习路线学完了离线数据仓库,相关组件并不是很多,每天早起晚睡疯狂背原理很快就能掌握!
接下来是实时数据仓库内容,实时数据仓库组件较多,难度较大,学习时间有点长,如果大家学习完离线数据仓库相关内容,还有多余的时间,可以学习一些实时数据仓库组件,不一定非要做一个实时数据仓库项目!
实时数据仓库的学习路线如下:
Java基础、Linux系统、shell编程
MySQL的用法和原理
Hadoop基础系列(HDFS、MapReduce、Yarn、Zookeeper)
Hive的原理、用法、相关调优
Spark/Scala的原理、用法、相关调优
数据仓库建模管理相关概念
离线数据仓库练习
SparkStreaming的原理、用法、练习
Kafka的原理、用法、调优
Flink的原理、用法、练习
HBase的原理、用法、调优
实时数据仓库练习
很明显,实时数据仓库的学习内容是在离线数据仓库的基础上进行了扩展。根据这个学习路线,如果有足够的时间,完完全全可以学习完,但没有足够的时间,老刘建议学学Kafka、Flink这几个就行了。需要补充的是这些学习资料都可以在网上找到免费的,大家不要担心学习资料的问题。
学了后不知道企业中怎么开发?怎么用?
总是担心这个问题是非常正常的一个情况,大部分人没有经历过实习,只是学了一身本领,还没地方施展自己的抱负,害怕自己的本领无法发挥出来!
但对于应届生来说,基础最重要,基础不牢地动山摇,而且在实习期,在别人的带领下,我们可以凭借扎实的基础,快速学习快速上手快速掌握。
举个例子,老刘所在的华为部门,今年组织了一个提前学习小组,给我们分享了Java基础学习视频、华为Java编程规范、开发者测试快速入门等良心学习资源,老刘最后获得了学习之星、优秀学员、优秀学习小组三个奖励,全是靠自己平时的积累加快速学习的能力,所以老刘希望大家不必过于担心,该学的学该吃的吃该喝的喝该玩的玩!
总结
本文全篇就强调了一点:基础,只要我们牢牢掌握了基础知识(Java基础、计算机网络、操作系统、大数据基础这几个),我们压根不用担心找不到工作,希望大家明白基础的重要性,把基础打牢!(老刘已经强调无数遍了)
老刘为了这篇文章准备了很久,但因为毕业相关事情一直拖着,今天终于能发出来了,希望可以帮助到同样想找大数据开发的应届生或者大学生!
最后,请给老刘点个赞!(有问题直接留言)