數(shù)據(jù)倉庫面試標(biāo)準(zhǔn)

導(dǎo)讀:本文從基礎(chǔ)能力、數(shù)倉建模、數(shù)據(jù)治理、原理理解、工程能力、業(yè)務(wù)能力六個方面來聊初級、中高級專家、資深專家、數(shù)據(jù)架構(gòu)師的面試標(biāo)準(zhǔn)。

01 基礎(chǔ)能力
1. 初級
有基本的SQL實現(xiàn)能力,在沒有提示或有少量提示下能實現(xiàn)常見的SQL代碼開發(fā);
有一定的業(yè)務(wù)理解能力,在少量指引下能基本理解需求方的業(yè)務(wù)需求描述;
了解有關(guān)SQL的高級用法,比如開窗函數(shù)。
2. 中高級專家
有較高級的SQL實現(xiàn)能力,能實現(xiàn)常見的SQL代碼開發(fā);
有良好的業(yè)務(wù)理解能力,基本理解需求方的業(yè)務(wù)需求描述;
熟練使用SQL的高級用法,比如開窗函數(shù);
對SQL on hive or Spark有一定的調(diào)優(yōu)經(jīng)驗,如數(shù)據(jù)傾斜處理。
3. 資深專家
有扎實的SQL功底,能快速完成各種各樣的SQL代碼開發(fā);
有優(yōu)秀的業(yè)務(wù)理解能力,能迅速理解需求方的業(yè)務(wù)需求描述;
掌握SQL的高級用法,比如開窗函數(shù);
對SQL on hive or Spark有良好的調(diào)優(yōu)經(jīng)驗并應(yīng)用到實踐中;
能獨立開發(fā)各種UDF函數(shù)并應(yīng)用到實踐中;
熟練使用Shell/Python/Scala/Java等語言的其中一項或多項。
4. 數(shù)據(jù)架構(gòu)師
有很強(qiáng)的SQL功底,能快速完成各種各樣的SQL代碼開發(fā);
有很強(qiáng)的業(yè)務(wù)理解能力,能結(jié)合代碼迅速理解需求方的業(yè)務(wù)需求描述;精通SQL的各種高級用法,比如開窗函數(shù);
對SQL on hive or Spark有很強(qiáng)的調(diào)優(yōu)經(jīng)驗并應(yīng)用到實踐中;
能獨立開發(fā)各種UDF函數(shù)并應(yīng)用到實踐中;
精通Shell/Python/Scala/Java等語言的其中一項或多項。

02 數(shù)倉建模
1. 初級
了解Kimball維度建模思想,如維度表/事實表的概念,雪花模型/星型模型的概念;
了解維度表和事實表建設(shè)的方法論,如變化維度處理方式,事實表種類;
了解數(shù)據(jù)倉庫分層的概念,包括但不限于DWD/DMS/DIM/ODS/DMD/DMS;
了解數(shù)倉分層的ETL方式;
了解數(shù)據(jù)中臺概念和建模的結(jié)合。
2. 中高級專家
掌握Kimball維度建模思想,如維度表/事實表的概念,雪花模型/星型模型的概念;
掌握維度表和事實表建設(shè)的方法論,如變化維度處理方式,事實表種類;
掌握數(shù)據(jù)倉庫分層的概念,包括但不限于DWD/DMS/DIM/ODS/DMD/DMS;
掌握數(shù)倉分層的ETL方式;
掌握數(shù)據(jù)中臺概念和建模的結(jié)合。
3. 資深專家
精通Kimball維度建模思想,如維度表/事實表的概念,雪花模型/星型模型的概念;
精通維度表和事實表建設(shè)的方法論,如變化維度處理方式,事實表種類;
精通數(shù)據(jù)倉庫分層的概念,包括但不限于DWD/DMS/DIM/ODS/DMD/DMS;
精通數(shù)倉分層的ETL方式;
精通數(shù)據(jù)中臺概念和建模的結(jié)合。
了解實時數(shù)倉,業(yè)務(wù)數(shù)倉,數(shù)據(jù)湖有線上落地實踐。
4. 數(shù)據(jù)架構(gòu)師
掌握Kimball維度建模思想/data vault建模思想/數(shù)據(jù)湖架構(gòu)等,并對企業(yè)數(shù)據(jù)倉庫的建設(shè)有一套成熟的理論體系,包括底層組件選擇,ETL的處理等,搭建過日均百T的數(shù)據(jù)從從0-1的,搭建過實時數(shù)倉,業(yè)務(wù)數(shù)倉,數(shù)據(jù)湖有線上落地實踐能力。
03 數(shù)據(jù)治理
1. 初級
了解數(shù)據(jù)生命周期管理/元數(shù)據(jù)管理/數(shù)據(jù)質(zhì)量管理/主數(shù)據(jù)管理的概念。
2. 中高級專家
掌握數(shù)據(jù)生命周期管理/元數(shù)據(jù)管理/數(shù)據(jù)質(zhì)量管理/主數(shù)據(jù)管理的概念,并將一部分概念應(yīng)用到實踐中。
3. 資深專家
精通數(shù)據(jù)生命周期管理/元數(shù)據(jù)管理/數(shù)據(jù)質(zhì)量管理/主數(shù)據(jù)管理的概念/指標(biāo)體系/畫像體系/字典體系/自主分析體系/數(shù)據(jù)監(jiān)控體系,并將所有理念應(yīng)用到實踐中去。
4. 數(shù)據(jù)架構(gòu)師
精通數(shù)據(jù)生命周期管理/元數(shù)據(jù)管理/數(shù)據(jù)質(zhì)量管理/主數(shù)據(jù)管理的概念/指標(biāo)體系/畫像體系/字典體系/自主分析體系/數(shù)據(jù)監(jiān)控體系,并將所有理念應(yīng)用到實踐中去;針對不同的業(yè)務(wù)提煉出不同的數(shù)據(jù)治理體系,為業(yè)務(wù)賦能。

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. 數(shù)據(jù)架構(gòu)師
Apache社區(qū)組件Hadoop/Spark/Hive/
Flink/Kafka/Druid/HBase/Redis的committer或者pmc。
05 工程能力
1. 初級
了解Java/Scala語言。
2. 中高級專家
熟練Java/Scala/Python語言。
3. 資深專家
掌握J(rèn)ava/Scala/Python語言,并開發(fā)過線上項目。
4. 數(shù)據(jù)架構(gòu)師
精通Java/Scala語言,掌握J(rèn)VM原理,并開發(fā)過大型高并發(fā)高可用項目。

06 業(yè)務(wù)能力
1. 初級
通過了解業(yè)務(wù)描述可以完成指定開發(fā)任務(wù)
2. 中高級專家
熟悉具體某塊業(yè)務(wù)并可以舉一反三
3. 資深專家
掌握整體業(yè)務(wù)的開發(fā)流程和業(yè)務(wù)邏輯
4. 數(shù)據(jù)架構(gòu)師
精通業(yè)務(wù)并且可以指出業(yè)務(wù)的薄弱環(huán)節(jié),有一套直接的業(yè)務(wù)體系


