我是一名的大数据讲师,入行多年,见过有太多累死累活学习大数据开发的同学了!!!
作为老师,我能够理解每一位即将转行和正在转行的同学,你们可能焦虑自己是否能够学好这么多的大数据知识,如果坚持不下去怎么办?
今天我一定用我的经验告诉你,即使是非科班出身的人,一样可以在数据行业混的风生水起。首先我先给零基础学习的人先打个定心剂。我带过的学生里,学校一般,成绩一般,非计算机专业毕业的,大学数学挂科是常态的孩子比比皆是。
很多人一开始想转行大数据行业,都是受找工作的影响。毕业之后应聘一直不是很顺利,自己学校没有竞争力,符合本身专业的工作薪资待遇都一般。看了很多别人转行的经验分享,后转行了大数据行业。
为什么大家都会想转行大数据开发呢?因为这个行业相对来讲竞争是稍低的,而且很多互联网大厂都急需大数据开发的人才。
后来一大部分人就通过大数据培训,从学习到实习再到正式工作用短短的时间,就进入了这个行业。
下面我主要是针对有意入门大数据行业的小伙伴,提出一些我的建议,避免大家摸爬滚打走弯路。
一、学习路线总结
1、计算机基础知识
计算机基础知识是不可或缺的,如果你拥有扎实的基础知识,在遇到问题时可以快速认识到问题的本质,从而解决问题。我至今在不断在加强自己计算机基础知识的学习。
- 精通一门语言:Java,C,C++,Python,Go,Scala,等等。(大数据建议选择 Java、Scala或者Python)我的学生学习的是Java、Python、Scala。其实有了Java底子,Python很好学的,有了Java和Python底子Scala也好学。
- 数据结构与算法:链表,队列,堆,二叉树,排序,查找,贪心,回溯等。
- 计算机网络与基础:OSI七层体系,常用的TCP/IP四层体系。
- 操作系统:进程与线程,乐观锁与悲观锁,缓存一致性,CPU时间片调度。
2、大数据框架的技术原理
对于重点框架要重视企业级调优以及源码的学习,整个大数据知识体系学习需要花较长的时间,大数据框架也比较多。
- Java
Java是基础工具,我个人是学完JavaSE,重点对集合、多线程以及JVM进行深入学习,JavaEE没有花时间学。
- Linux
目前企业生产基本使用的是 Linux 系统,掌握 Linux 基本原理是未来必备技能。
- Hadoop
Hadoop是分步式系统基础架构,主要解决海量数据的存储和海量数据分析计算问题,包含HDFS,MapReduce,Yarn 三个组件。其它框架在此不作介绍了。
针对一个技术框架如何学习,我总结了框架学习要按照阶段去学,循序渐近。
不懂得地方直接加老师微信~~戳下面~~
3、项目实战
学习了大量的技术需要结合项目场景去应用,才能加深你对技术的理解。
大部分非科班同学都会遇到的痛点,在学校没有实际的项目。但是找工作的时候,简历上至少需要2~3个项目,并且要有1~2个亮点项目。
项目一般分为四类:
- 看网上视频做的伪实战项目:比如秒杀系统、订单系统、大数据分析项目等等,说白了,只是在功能上进行复现,距离真正的企业实战还有一定差距。但是,可以体现自己的学习内容,对于框架或组件的深入理解,比如你用到了kudu,那么你知道了kudu底层原理或源码,也是非常突出的,项目就得到了升华,建议是少谈业务,多聊底层技术,这样显示你的深度。
- 实习项目:有些同学在实习期间做的项目,这是真正的实战项目,但是人在少数能够有这个经历。如果你有的话,建议朝实战方面封装,比如JVM调优、GC调优、并发量或者实际遇到的并发问题,并发锁的使用等等。
- 比赛项目:做了一些天池中间件比赛,也是非常好的。突出比赛难度和你自己的贡献,用比赛数据说话、描述请比赛流程,如何攻克其中的难点,提高了成绩等等。
- 实验室弱相关的项目:实验室做的项目可能和你的职位不太相关,但是也可以体现能力,比如:我之前实验室用linux做了一个项目,但是和大数据关系不是那么大,但是能够突出linux一些技能和计算机消息队列等方面。
Github、Gitee、慕课⽹、哔哩哔哩、淘宝都可以找到大数据开发实战项目的。
4、面试
- 多刷面经
面经就是考试题,所以就像考试之前刷题一样去刷面经贴。通过刷完许多面经后,基本就可以总结出大多数的面试点,也知道这些面试点是出自于书籍中的哪部分,然后对应总结下。另外,如果之前看书的时候就已经做好相关总结,那么只需要刷一些面经贴作为补充,然后将自己的总结多多复习几遍即可。
- offer选择
决定因素一般是薪资、技术成长和地点,所以,根据这三个因素对不同offer进行打分,自然可以得到比较满意的结果。
三、学习资料
- 编程语言基础:Java基础是所有后续大数据学习的基石。通过看书学习,看完后会没有什么感觉,所以还是要结合网课去学,海牛视频课程里把每一个知识点都讲的非常全面,也会有详细的案例。如果你是零基础,建议看视频入门,代码一定要自己敲一遍,切忌眼高手低!
- 计算机网络与基础:海牛的视频,比较全面透彻,针对非科班同学特别友好!要留大把时间给后面技术框架学习,听完视频,可以去搜一搜相关的面经,可以查漏补缺。
- Linux:无论你做的是后端还是大数据,Linux已经成为企业筛选人才的一个标准。可以看一下海牛的Linux入门视频教程,课程逻辑清晰,讲解透彻。这也是我学习印象深刻的一门课,看完后,只能一句卧槽,居然还能讲的的这么清晰!
- Flink(重点!重点!重点!):Flink 是一个分步式处理引擎,用于对无界和有界数据流进行状态计算。Flink 计算具有快速、灵巧、结果准确以及良好的容错性等一系列优点,被广泛用于各行各业的流式数据场景。
目前,国内形成以阿里为首的企业,腾讯,京东,滴滴,携程,美团等,都在使用 Flink框架。Flink 在大数据的流式计算占据着非常重要的地位,每一个大数据人都应该要掌握这门技术
作为一名大数据开发的引导人,深知一份好的入门学习资料可以给大家节约多少时间。因此,我把自己的教学重点,做了一下复盘,制作成学习资料分享给大家。希望能够给学习大数据开发的同学们一点帮助。
后,祝愿每一位同学,能够早日收割自己满意的 offer。