Hi,我是小萝卜算子!
这篇我们从面试的角度讨论一下转【数仓开发】该怎么学、学什么、学到什么程度。
数仓社招面试一般分为三个部分:
-
技术基础:基于简历上写的技术展开去讨论这些技术点的原理、底层实现等
-
sql实践:1~3道sql题,现场写
-
讲项目:中间会基于项目中的一些点展开讨论,穿插业务理解、数据建模、治理相关问题的讨论
我们就朝着这三个方面去准备,尽量的把这些知识融会贯通,变成自己能说的东西。
方法论
我们学习是一个由模糊到清晰的过程:
知道概念—>学习理论—>大量练习—>逐渐清晰—>再大量练习—>清晰—>熟练运用—>融汇贯通
核心技能
数仓开发要学的基础技术大体如下:
整个的核心只有一个:sql 。
我们要学一门【java or scala语言】、要理解【hdfs&yarn】、练习【mapreduce or spark core】 都是为了更好的理解sql,理解sql背后的运行原理,调优原理,实际工作中很少会再去写代码实现一些逻辑了,这就是为啥我周边有很多同学不懂语言,但是能做数仓开发的工作。
学习方法
学习方法有两种:
-
从基础原理学起,按部就班:基础语言—>hadoop(hdfs&yarn)—>hive/spark—>写sql—>项目
-
简单搭建环境,从sql