赞
踩
Linux:无论你做的是后端还是大数据,Linux
已经成为企业筛选人才的一个标准。我极力推荐观看尚硅谷韩顺平老师的Linux入门视频教程,清华大学的学霸,课程逻辑清晰,讲解透彻。
国内入门Linux
课程几乎选择该门课程。这也是我学习印象最深刻的一门课,看完后,只能一句卧槽,居然还能讲的的这么清晰!
尚硅谷韩顺平Linux链接:
https://www.bilibili.com/video/av21303002
可以结合《Linux就该这么学》这本术一起学习,加深对
Linux
理解!
Hadoop(重点):Hadoop
是大数据技术中最重要的框架之一,是学习大数据的第一课。
目前,Hadoop
已经从1.x
版本发展到现在的3.x
版本。Hadoop
一共包含3个组件:分别是最强的分步式文件系统HDFS
,海量数据并行计算框架MapReduce
,流行的资源管理系统Yarn
。
任何框架的学习,先搭建好环境,线上跑一个测试案例,之后再深入其原理。
HDFS有伪分布式、完全分步式以及高可用架构模型,重点了解HA架构模型以及各个角色的职责。
HDFS的架构模型主要包括以下角色:Namenode
(Active、Standyby
),Datanode
,JournalNode
,DFSZKFailoverController
(ZKFC
),SecondNamenode
。
虽SecondNamenode
应用较少,但还是要了解其工作机制。
MapReduce
的核心思想、详细工作流程,Shuffle机制也要重点掌握,面试会问。
Yarn
资源管理系统不仅适用于MapReduce
计算框架,同时也会被用于Spark
计算框架,所以它的工作机制也非常重要。
我推荐大家学习尚硅谷的Hadoop
教程,从原理到生产实践调优,再深入源码,非常透彻。
尚硅谷Hadoop
链接:
https://www.bilibili.com/video/av21303002
可以结合《Hadoop权威指南》第四版学习。
如果对 Hadoop 源码感兴趣,可以参考《Hadoop技术内幕》(董西成)和《Hadoop2.x HDFS源码剖析》这两本书。
ZooKeeper:ZooKeeper
是一个分步式协调管理组件,主要的典型应用场景是数据发布/订阅、分步式协调/通知、集群管理等。
你可以结合《从Paxos到ZooKeeper》这本书结合一起学,这本书不仅阐述了CAP
理论,把ZooKeeper
的核心原理讲的很透。小白可以从下面这个视频入门。
尚硅谷ZooKeeper链接:
https://space.bilibili.com/302417610/video?keyword=ZooKeeper
注:视频仅作为初学者入门,要深入学习还需要看书和研究官方文档。
Hive:Hive
是一款开源数据仓库工具,它可以将结构型数据映射成一张表,但其底层使用的是MapReduce
,提供类SQL
查询,一般称之为HQL
。
初学者入门Hive
,可以从视频开始,重点需要了解内部表与外部表的区别,以及分区分桶等。
如果你要深入学习其内部原理及调优,可以去读一读《Hive编程指南》和Apache
官方文档,对企业级的调优有详细的阐述。
尚硅谷Hive链接:
https://www.bilibili.com/video/BV1EZ4y1G7iL
HBase:HBase
是一个结构化数据的分步式存储系统,可扩展也支持海量数据存储的NoSQL
数据库,是每一个大数据从业者应该要掌握的基本框架。重点要掌握其架构原理,各个角色职责,Compact
流程和Region
流程。下面是入门 HBase
的视频教程。
尚硅谷HBase链接:
https://www.bilibili.com/video/BV1Y4411B7jy
注:可以结合《HBase权威指南》和《HBase实战中文版》两本书,加深对 HBase 的理解。
Redis(重点!):Redis
是一个开源的 key-value
存储系统,支持存储的 value
类型相对更多,并且支持各种不同方式的排序,为了保存效率,数据都是缓存在内存中。
该组件无论是后端还是大数据,都是必会的一个框架。我学习一个新技术,先是通过视频入门,之后再去看相关书籍和官方文档,深入理解技术细节。
Redis
推荐大家看尚硅谷周阳老师讲的,就是该课程有点老,很多新的特性可能无法了解。我贴出了两个Redis
课程入门学习链接:
尚硅谷周阳老师Redis
链接:
https://www.bilibili.com/video/BV1oW411u75R
2021最新入门到精通Redis
链接:
https://www.bilibili.com/video/BV1Rv41177Af?p=4
推荐书籍:《Redis设计与实现》和《Redis 深度历险:核心原理与应用实践》
Kafka(重点!): 作为高吞吐量的分步式发布订阅消息系统,Kafka 可以处理消费者规模的网站中所有动作流数据。
这里建议:先了解 Kafka 是解决什么问题的而产生的,再了解其基本架构,最后深入理解核心实现原理。
下面是 Kafka 入门视频链接:
尚硅谷Kafka入门链接:
https://www.bilibili.com/video/BV1a4411B7V9
推荐书籍:首推《深入理解 Kafka:核心设计与实践原理》,想要深入了解 Kafka 源码的,你可以跟着《Apache Kafka 源码剖析》一起看,可以让你顿悟!
Spark(重点!重点!重点!):Spark
支持了 Streaming
、SQL
、GraphX
、MLLib
等应用。但相较于 Hadoop
中的 MapReduce
计算框架,Spark
速度快10到100倍左右
另外,计算过程中,如果某一节点出现问题,事件重演的代价远低于 MapReduce
。Spark SQL
可以对结构化数据进行处理
Spark Streaming
主要用于实时流数据处理场景,支持多种数据源,DStream
是 Spark Streaming
的基础抽象
Spark MLlib
提供了常见的机器学习功能的程序库,GraphX
主要用于图计算。下面是我为大家筛选的 Spark 入门学习链接,这个视频主要是基于Scala 2.12
版本讲解,对最新的 Spark3.0
作了详细的介绍,是一套小白入门学习的好资料。
2021Spark
从入门到精通链接:
https://www.bilibili.com/video/BV11A411L7CK
注:学习 Spark 之前,一定要先学习 Scala 语言。在编程语言基础中,已经给出了 Scala 的详细学习推荐!
推荐书籍:《learning Spark》、《深入理解Spark 核心思想与源码分析》
Flink(重点!重点!重点!):Flink
是一个分步式处理引擎,用于对无界和有界数据流进行状态计算。Flink 计算具有快速、灵巧、结果准确以及良好的容错性等一系列优点,被广泛用于各行各业的流式数据场景。
目前,国内形成以阿里为首的企业,腾讯,京东,滴滴,携程,美团等,都在使用 Flink
框架。Flink 在大数据的流式计算占据着非常重要的地位,每一个大数据人都应该要掌握这门技术。
Flink
给大家推荐的是尚硅谷武老师的课,清华毕业的武老师把技术知识点剖析得非常透彻,该课程主要包含两个模块:Flink 理论基础和基于 Flink 得电商用户行为分析项目实战。
尚硅谷Flink链接:
https://www.bilibili.com/video/BV1Qp4y1Y7YN
推荐书籍:《Flink原理、实战与性能优化》
数据挖掘和机器学习这部分内容,我目前还没有学习,等后续我学完后,再整理这部分内容给大家作个参考。
关于项目,这是咱们非科班同学在面试时最薄弱的一环。在学校,你几乎很难去做一个实实在在的落地项目,因为基本接触不到相关的项目。
因此,我建议大家要提前计划实习,通过实习让自己获得项目经验。我是从研二上学期开始自学编程的,本科粗浅的学过一点 C++,算是有一点点基础。
当时,我一边帮导师做自己专业相关的课题项目,一边学习大数据技术。下图是我自学时做的部分笔记。
如果你现在处在大二、研一这个阶段,你可以提前计划实习,在实习公司主动去了解一些相关的落地项目;但如果你即将面临找工作,并且各个技术栈还没有学完,你可以先把基础技术框架过一遍,然后参照我给你推荐的下面几个项目。
尚硅谷大数据电商数仓项目链接:
https://www.bilibili.com/video/BV1Hp4y1z7aZ
技术选型:Hadoop+ZooKeeper+Hive+Flume+Sqoop+Kafka+Azkaban+Kylin+Spark
这个项目主要是讲解了数据仓库的架构模型,实现了数仓项目的闭环,从数据采集到数仓建模,再到数仓应用等。项目中还涉及到一些其它技术,中间可以穿插着学习。
在面试过程中,首先要把项目架构说清楚以及技术选型的原因,是否有其它替代方案;其次说明你在项目中碰到了什么问题,你用什么方法解决该问题的;最后要清晰的能表述出你负责的部分的代码逻辑。
虽然说,电商数仓项目比较普遍,但在没有项目的情况下,可以作为基础项目。
尚硅谷大数据实时处理(SparkStreaming
)项目链接:
https://www.bilibili.com/video/BV1tp4y1B7qd?spm_id_from=333.788.b_636f6d6d656e74.27
该项目基于SparkStreaming对电商平台的用户行为以及订单业务,通过不同的指标和维度,进行实时的分析和计算。主要包括数据产生,数据传输,数据计算以及最终的数据可视化。
可以掌握SparkStreaming实时计算的流程,还可以掌握大数据采集框架、高并发的分步式消息队列、基于内存的高吞吐的实时计算技术、以及海量存储毫秒级查询的数据库。
Flink实时项目:这个项目是我自己私藏的项目,你可以添加我的微信,给你发 Flink 项目资料。
声明:上述提及的所有书籍和学习资料小林大部分都亲自学过,均为小林友情推荐,绝不含任何广告性质!
找工作对于每个人来说都是一项浩大的工程,我还记得第一次面试时,心中的不安感。我是在研二下学期开始着手准备秋招的,当时因为疫情原因还没有返校。
如果你在实习且不能转正的,你可以在7月份左右准备各个公司的提前批招聘,但要注意该公司的提前批对秋招应聘是否有影响,因为提前批基本都是神仙打架,我当时只是为了积攒面试经验。
对于大部分人来说,最重要的是秋招,或者年初的春招,我给大家从获取招聘信息的途径和面试经验两个方面去分享下我的经历。
基本上,小林秋招主要通过上述方式投递自己的简历,但还需要要注意以下几点:
我整个秋招投递了100多家公司,见识了各种各样的面试现场。这里强烈建议大家,在面试后的第一时间,去做下面试总结,以提高自己在某些技术上的不足。
通过不断的总结,你会了解到,每个公司技术面试的问题都相差不大,特别对于应届生,要求你计算机的基础知识特别扎实。
当然,还有一个最重要环节,就是自我介绍,需要你自己提前根据自身情况去写好,切忌去念简历上已经存在的信息
多去表达一些你自己的经历以及能证明自己能力的事情。要求语言简练,突出你自己最擅长的技术领域。
例如:以下是我秋招面试时的自我介绍
面试官,您好!我叫XXX,首先感谢您在百忙之中,抽出时间来给我面试!
在研究生期间,我在完成自己的学业任务以外,主要利用课外时间自学了计算机基础知识(数据结构与算法、计算机网络基础)、JavaSE(如集合、多线程,JVM)、Hadoop、Spark。我曾经参与过 XXXX 项目研发,主要负责了 XXXXX 设计和 XXXXX 分析两个模块。此外,在学习之余,我比较喜欢通过博客、知乎等各种平台分享自己所学的知识。在生活中,我是一个乐观开朗的人,我会通过摄影和篮球给自己释放压力。我特别喜欢贵公司的 XXX 文化(要主动提前去了解),期待能与你共事!
在面试中,一般需要注意以下几个点:
上述给大家分享的学习路线以及学习资料大部分都是我亲自学过一遍的,对于新技术,我基本都是以视频入门,之后再通过书籍和 Google去查漏补缺,深入技术原理
遇到相关问题推荐大家去 Google
、StackOverFlow
寻找答案。此外,大家在学习的过程中,要记得去博客或者知乎分享自己的知识,没有输出,你的输入会大打折扣!
回首研究生三年,其中一边帮导师做项目,一边学习,这段时间过得非常充实且充满着压力。不仅要顶着导师布置的项目任务压力,一边还要为自己找工作做准备,属实不易。最后,希望每一位小伙伴,能够早日收割自己满意的 offer
。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
三年,其中一边帮导师做项目,一边学习,这段时间过得非常充实且充满着压力。不仅要顶着导师布置的项目任务压力,一边还要为自己找工作做准备,属实不易。最后,希望每一位小伙伴,能够早日收割自己满意的 offer
。
[外链图片转存中…(img-t6vuC8FS-1714694738776)]
[外链图片转存中…(img-cyPpruTv-1714694738777)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。