校招数据开发知识体系 |
您所在的位置:网站首页 › 大数据算法技术包括了什么 › 校招数据开发知识体系 |
校招数据开发必知 今天跟大家分享一下校招数据开发知识体系。很多校招同学都会有这样的困惑“大数据内容太多了,到底应该怎么学习?”。 我从实际出发,基于大数据相关岗位要求及面试构成来看一看校招数据开发都需要学习哪些内容,如何高效备战校招。 1.大数据相关岗位及要求 下图给出了应用领域大数据所处的位置及相关的岗位信息。由于大数据涉及到的知识比较广泛,全部精通是非常具有难度的,因此企业进行招聘时,往往会细分大数据岗位,对大数据相关岗位有一个整体认识,可以帮助我们聚焦大数据技术的中间环节,划定学习重点。 数仓开发工程师 日常工作以写SQL为主,搭建离线和实时数仓。 数据仓库分为离线数仓和实时数仓,就目前来说,大多数企业还是以离线数仓为主。不管是离线数仓还是实时数仓,SQL都是重中之重。以下是某公司数仓开发工程师JD,强调了coding及SQL能力。 1.离线数仓重点掌握技能: —Hadoop:掌握HDFS基本原理、熟悉MapReduce计算流程、掌握Yarn架构,熟悉任务提交流程 —Hive:掌握底层原理,熟练使用HiveQL,并掌握基本调优 —Spark:掌握底层原理,熟练使用 —数仓理论:掌握基本概念,了解数仓基本架构,掌握数仓建模方法 2.实时数仓重点掌握技能: —Hadoop:大数据基础,实时离线都要掌握; —Kafka:消息队列,重点掌握 —Flink:实时计算框架,重中之重 —HBase:会使用,了解底层原理 —实时数仓架构 大数据开发工程师 大数据开发工程师是大数据领域公司招聘最多的岗位*,可以分为两类: 1.第一类即数据开发,与数仓开发工程师职能类似,要求技能基本相同,通常两个岗位不做明确区分; 2.第二类进行大数据平台开发,如开源框架扩展开发、数据中台开发等。相较于数据开发,平台开发对知识的深度要求更高,需理解组件底层原理并对源码有一定的了解。 某大数据开发工程师-平台开发方向JD平台开发方向重点掌握技能: —编程语言:重点掌握Java、Scala —Linux:对Linux有一定的了解,并可以进行简单shell脚本开发 —Hadoop:理解底层原理,看懂源码 —Hive:熟练使用,可以进行二次开发 —Spark:熟练使用,并了解源码 —Kafka:熟练使用,理解底层原理 —Flink:熟练使用,并了解源码 —HBase:熟练使用,理解底层原理 [注*]:后续章节将以数据开发工程师岗位为主进行阐述 ETL工程师 ETL即英文单词抽取、转换、加载的首字母。ETL工程师是对接业务和数据的交接点,需要处理上下游的关系,对于上游,需熟悉业务系统,对于下游,需要对数据进行清洗、整理、融合,交给下游的数据开发人员。 某ETL工程师JD重点掌握技能: —语言:Java、Python:掌握基本用法,能够进行开发 —Linux:了解Linux系统,掌握基本命令,可以进行shell脚本开发 —MySQL:熟悉MySQL,具有较强的SQL开发能力 —Hive:熟悉Hive,具有较强的HiveQL开发能力 —HDFS:熟悉底层原理,掌握基本操作 数据分析工程师 数据分析工程师主要工作内容是:根据数据和业务情况,分析得出结论、制定业务策略或者建立模型,创造新的业务价值并支持业务高效运转。 某数据分析工程师JD重点掌握技能: —数学知识:数学知识是数据分析师的基础知识,需要具有统计学、线性代数等课程基础 —编程语言:掌握Python、R语言 —分析工具:Excel是必须的,还需要掌握Tableau等可视化工具 —数据敏感性:对数据要有一定的敏感性,看见数据就能想到它的用处,能带来哪些 —SQL能力:大部分公司需要有一定的SQL功底(Mysql、HQL、SparkSQL等) 2.校招面试构成 校招技术面试一般分为以下五个环节: 面试的五个环节中,至少两个环节围绕项目或实习展开,首先需要候选人进行项目或实习的整体介绍,面试官根据简历及介绍内容进行深挖。针对数据开发岗位,深入项目或实习时,重点内容在于:数仓理论、相关优化及问题解决。 针对数仓理论,需要重点掌握的内容包括: —掌握数据仓库基本概念、特点,熟悉数仓中的基本概念 —了解数仓基本架构,掌握数仓建模方法,理解两种建模方法的区别及特点 —理解关系数据模型,掌握三范式(可以举例说明) —掌握维度数据模型,熟悉建模过程,了解建模特点,掌握星型模型、雪花模型并熟悉各自的特点 —掌握Kimball维度建模,熟悉事实表、维度表设计,掌握缓慢变化维相关内容 —掌握数据质量管理 —理解OneData数据仓库方法论,熟悉数仓分层相关内容(为什么分层、每层主要作用) —理解数据架构设计原则与规范,理解主题域、数据模型设计原则、了解数仓开发规范(能说出3~5条) 针对优化问题,需掌握基本调优、数据倾斜问题的处理等,需具备良好的解决问题的能力。 3.重点基础知识 针对校招,面试的关注点在于扎实的基础及良好的学习能力。除上述的组件外,还需要掌握计算机基础知识,并熟练使用至少一门编程语言。 关于计算机基础知识,需要重点掌握:计算机网络、操作系统、数据结构与算法等,如果时间紧迫,也可按照以下重点内容进行针对性学习: —计算机网络:OSI 七层模型 或 TCP/IP 五层模型 理解每层含义 —数据结构:数组、栈、队列、链表、树 —算法:各种排序算法、查找算法、动态规划等,多去 LeetCode 刷算法题 —操作系统:进程、线程、IO、调度、内存管理 4.总结 面对庞大的大数据知识体系,如果我们追求广度,对每个组件都进行学习,将会产生大量的时间成本,并且不能保证具有对应的应用能力。本文通过大数据相关岗位要求、校招面试构成介绍了应该重点掌握的技能,建议大家根据需要进行学习。 希望可以对大家有所帮助! |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |