数据仓库面试标准
导读:本文从基础能力、数仓建模、数据治理、原理理解、工程能力、业务能力六个方面来聊初级、中高级专家、资深专家、数据架构师的面试标准。
01 基础能力
1. 初级
有基本的SQL实现能力,在没有提示或有少量提示下能实现常见的SQL代码开发;
有一定的业务理解能力,在少量指引下能基本理解需求方的业务需求描述;
了解有关SQL的高级用法,比如开窗函数。
2. 中高级专家
有较高级的SQL实现能力,能实现常见的SQL代码开发;
有良好的业务理解能力,基本理解需求方的业务需求描述;
熟练使用SQL的高级用法,比如开窗函数;
对SQL on hive or Spark有一定的调优经验,如数据倾斜处理。
3. 资深专家
有扎实的SQL功底,能快速完成各种各样的SQL代码开发;
有优秀的业务理解能力,能迅速理解需求方的业务需求描述;
掌握SQL的高级用法,比如开窗函数;
对SQL on hive or Spark有良好的调优经验并应用到实践中;
能独立开发各种UDF函数并应用到实践中;
熟练使用Shell/Python/Scala/Java等语言的其中一项或多项。
4. 数据架构师
有很强的SQL功底,能快速完成各种各样的SQL代码开发;
有很强的业务理解能力,能结合代码迅速理解需求方的业务需求描述;精通SQL的各种高级用法,比如开窗函数;
对SQL on hive or Spark有很强的调优经验并应用到实践中;
能独立开发各种UDF函数并应用到实践中;
精通Shell/Python/Scala/Java等语言的其中一项或多项。
02 数仓建模
1. 初级
了解Kimball维度建模思想,如维度表/事实表的概念,雪花模型/星型模型的概念;
了解维度表和事实表建设的方法论,如变化维度处理方式,事实表种类;
了解数据仓库分层的概念,包括但不限于DWD/DMS/DIM/ODS/DMD/DMS;
了解数仓分层的ETL方式;
了解数据中台概念和建模的结合。
2. 中高级专家
掌握Kimball维度建模思想,如维度表/事实表的概念,雪花模型/星型模型的概念;
掌握维度表和事实表建设的方法论,如变化维度处理方式,事实表种类;
掌握数据仓库分层的概念,包括但不限于DWD/DMS/DIM/ODS/DMD/DMS;
掌握数仓分层的ETL方式;
掌握数据中台概念和建模的结合。
3. 资深专家
精通Kimball维度建模思想,如维度表/事实表的概念,雪花模型/星型模型的概念;
精通维度表和事实表建设的方法论,如变化维度处理方式,事实表种类;
精通数据仓库分层的概念,包括但不限于DWD/DMS/DIM/ODS/DMD/DMS;
精通数仓分层的ETL方式;
精通数据中台概念和建模的结合。
了解实时数仓,业务数仓,数据湖有线上落地实践。
4. 数据架构师
掌握Kimball维度建模思想/data vault建模思想/数据湖架构等,并对企业数据仓库的建设有一套成熟的理论体系,包括底层组件选择,ETL的处理等,搭建过日均百T的数据从从0-1的,搭建过实时数仓,业务数仓,数据湖有线上落地实践能力。
03 数据治理
1. 初级
了解数据生命周期管理/元数据管理/数据质量管理/主数据管理的概念。
2. 中高级专家
掌握数据生命周期管理/元数据管理/数据质量管理/主数据管理的概念,并将一部分概念应用到实践中。
3. 资深专家
精通数据生命周期管理/元数据管理/数据质量管理/主数据管理的概念/指标体系/画像体系/字典体系/自主分析体系/数据监控体系,并将所有理念应用到实践中去。
4. 数据架构师
精通数据生命周期管理/元数据管理/数据质量管理/主数据管理的概念/指标体系/画像体系/字典体系/自主分析体系/数据监控体系,并将所有理念应用到实践中去;针对不同的业务提炼出不同的数据治理体系,为业务赋能。
04 原理理解
1. 初级
了解Hadoop/Spark/Hive/Flink/Kafka/
Druid/HBase/Redis等组件的原理。
2. 中高级专家
掌握Hadoop/Spark/Hive/Flink/Kafka/
Druid/HBase/Redis等组件的原理。
3. 资深专家
精通Hadoop/Spark/Hive/Flink/Kafka/
Druid/HBase/Redis等组件的原理。
4. 数据架构师
Apache社区组件Hadoop/Spark/Hive/
Flink/Kafka/Druid/HBase/Redis的committer或者pmc。
05 工程能力
1. 初级
了解Java/Scala语言。
2. 中高级专家
熟练Java/Scala/Python语言。
3. 资深专家
掌握Java/Scala/Python语言,并开发过线上项目。
4. 数据架构师
精通Java/Scala语言,掌握JVM原理,并开发过大型高并发高可用项目。
06 业务能力
1. 初级
通过了解业务描述可以完成指定开发任务
2. 中高级专家
熟悉具体某块业务并可以举一反三
3. 资深专家
掌握整体业务的开发流程和业务逻辑
4. 数据架构师
精通业务并且可以指出业务的薄弱环节,有一套直接的业务体系