数据建模面试题

文章目录

  • 1. 请介绍一个数据建模相关项目
  • 2. 你在工作中常用的建模工具有哪些?
  • 3. 数据库三范式
  • 4. 对概念、逻辑、物理建模的理解
  • 5. 模型设计有哪几步?
  • 6. 有哪些模型设计方法?
  • 7. 维度模型分哪几种?
  • 8. 维度模型中表的分类
  • 9. 如何判断哪些表是增量表,哪些是全量表?
  • 10. 你们的模型是如何分层的,为什么?
  • 11. 如何做元数据管理?
  • 12. 项目进行到一半,需要增加一个维度怎么办?
  • 13. 建模完之后,发现某个事实表巨大无比怎么办?
  • 14. 如何做数据质量管理?


前言:最近公司又要招一个数据建模工程师,所以我也要负责建模工程师的技术面。总结了下数据建模的面试问题,如有错误,欢迎沟通。
唉,就一打杂的命;主业毫无进展,就天天打杂了。


1. 请介绍一个数据建模相关项目

[需要能讲清楚自己干了啥子玩意儿]

2. 你在工作中常用的建模工具有哪些?

[基础题,查看是否有真实的使用经验]
powerdesigner、Balsamiq Mockups、ER/Studio、CA ERwin…

3. 数据库三范式

[基础中的基础]

  • 每个属性值唯一,不具有多义性 ;
  • 每个非主属性必须完全依赖于整个主键,而非主键的一部分 ;
  • 每个非主属性不能依赖于其他关系中的属性,因为这样的话,这种属性应该归到其他关系中去。

4. 对概念、逻辑、物理建模的理解

  • 概念建模:得出实体即可
  • 逻辑建模:将实体细化成具体的表,同时丰富表结构
  • 物理建模:创建数据库对象,针对业务需求,我们也可能做如数据拆分

5. 模型设计有哪几步?

  • 确定主题:确定数据分析或前端展现的主题
  • 确定度量:确定主题后,需要考虑分析的技术指标。它们一般为数据值型数据
  • 确定事实数据粒度:确定量度之后,需要考虑该量度的汇总情况和不同维度下量度的聚合情况
  • 确定维度:维度是分析的各个角度。维度的层次(Hierarchy)和级别(Level)
  • 创建事实表:在确定好事实数据和维度后,将考虑加载事实表

6. 有哪些模型设计方法?

  • 范式/关系建模:主要解决关系型数据库得数据存储,符合三范式
  • 维度建模:按照事实表,维表来构建数据仓库

7. 维度模型分哪几种?

  • 星型模型:核心是一个事实表及多个非正规化描述的维度表组成
  • 雪花模型:它是星型模型的扩展,不同的是维度表被规范化,进一步分解到附加表中
  • 星座模型:由多个事实表组合,维表是公共的,可以被多个事实表共享。星座模型是数据仓库最常使用的模型

8. 维度模型中表的分类

  • 实体表:主要是一些对象表比如用户,商家,商品
  • 维度表:指一些业务状态,编号的解释,又叫码表,像地区表,订单状态,支付方式,审批状态。状态分类
  • 周期性事实表:状态还会改变的就是周期型事实表
  • 事务型事实表:数据产生就不在变化,可判断为事务型事实表

9. 如何判断哪些表是增量表,哪些是全量表?

实体表和维度表统称维度表,可做定期全量[按ETL周期来]
事务性事实表,可做每日增量[按ETL周期来]
周期性事务表,可做拉链表

10. 你们的模型是如何分层的,为什么?

[言之有理即可]

  • 贴源层:保存原始数据,结构清晰,不会影响
  • 明细层:经过ETL处理,数据更规范化
  • 汇总层:大宽表,减少重复开发
  • 应用层:面向业务需求定制开发

11. 如何做元数据管理?

字段级元数据管理。一定要做到及时元数据备份[至少每日]

12. 项目进行到一半,需要增加一个维度怎么办?

  1. 按照5分析新增维度
  2. 分析新增维度与现有维度的关系

13. 建模完之后,发现某个事实表巨大无比怎么办?

散列,数据倾斜处理巴拉巴拉…

14. 如何做数据质量管理?

元数据管理、数据完整性、数据一致性、数据合规性、数据冗余、数据资产分级…

你可能感兴趣的:(大数据,面试,数据建模)