【数据仓库系列文章 - 传送门】 

一篇文章搞懂数据仓库:三种事实表(设计原则,设计方法)一篇文章搞懂数据仓库:三种事实表(设计原则,设计方法、对比)_不吃西红柿-CSDN博客_事实表三种类型
一篇文章搞懂数据仓库:元数据分类、元数据管理  一篇文章搞懂数据仓库:元数据分类、元数据管理_不吃西红柿-CSDN博客
一篇文章搞懂数据仓库:总线架构、一致性维度、一致性事实  一篇文章搞懂数据仓库:总线架构、一致性维度、一致性事实_不吃西红柿-CSDN博客
一篇文章搞懂数据仓库:数据应用--OLAP  一篇文章搞懂数据仓库:数据应用--OLAP_不吃西红柿-CSDN博客
一篇文章搞懂数据仓库:数据仓库架构-Lambda和Kappa  一篇文章搞懂数据仓库:数据仓库架构-Lambda和Kappa对比_不吃西红柿-CSDN博客
一篇文章搞懂数据仓库:数据仓库规范设计  一篇文章搞懂数据仓库:数据仓库规范设计_不吃西红柿-CSDN博客
一篇文章搞懂数据仓库:常用ETL工具、方法  一篇文章搞懂数据仓库:常用ETL工具、方法_不吃西红柿-CSDN博客_数据仓库etl
一篇文章搞懂数据仓库:四种常见数据模型  一篇文章搞懂数据仓库:四种常见数据模型(维度模型、范式模型等)_不吃西红柿-CSDN博客
一篇文章搞懂数据仓库:数据治理(目的、方法、流程) 一篇文章搞懂数据仓库:数据治理(目的、方法、流程)_不吃西红柿-CSDN博客_数据仓库 数据治理
一篇文章搞懂数据仓库:维度表(设计原则、设计方法) 一篇文章搞懂数据仓库:维度表(设计原则、设计方法)_不吃西红柿-CSDN博客
一篇文章搞懂数据仓库:数据仓库的8个发展阶段  一篇文章搞懂数据仓库:数据仓库的8个发展阶段_不吃西红柿-CSDN博客_数据仓库发展史
一篇文章搞懂数据仓库:三范式与反范式   一篇文章搞懂数据仓库:三范式与反范式_不吃西红柿-CSDN博客_数据仓库三范式

目录

数据仓库面试基础知识

1、什么是数据仓库?

2、数据仓库和数据库的区别?

3、如何构建数据仓库?

4、什么是数据中台?

5、数据中台、数据仓库、大数据平台、数据湖的关键区别是什么?

6、大数据有哪些相关的系统?

7、如何建设数据中台?

8、数据仓库最重要的是什么?

9、概念模型、逻辑模型、物理模型分别介绍一下?

10、SCD常用的处理方式有哪些?

11、怎么理解元数据?

12、数仓如何确定主题域?

13、如何控制数据质量?

14、模型设计的思路?业务驱动?数据驱动?

15、为什么需要数据仓库建模?

16、数据仓库建模方法有哪些?

17、数仓架构为什么要分层?


光阴似箭,岁月如刀。小编已经从刚毕业时堤上看风的白衣少年,变成了一个有五年开发经验的半老程序员。五年——是一个非常重要的时间节点,意味你见过很多套技术构架,学过很多技术组件,写过很多行代码,有了自己的技术理解、知识体系和编码风格。这个时候我们对待技术的态度已经从扩宽广度,慢慢转变成沉淀深度为主了。

也是刚刚面试了北京各大厂,顺利拿到4个offer,趁热打铁,呕(dao)心(chu)沥(fu)血(zhi)总结了一些数据仓库的面试基础知识,希望能帮到大家,有需要内推的小伙伴加文末微信。

数据仓库面试基础知识

1、什么是数据仓库?

权威定义:数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。

1)数据仓库是用于支持决策、面向分析型数据处理;

2)对多个异构的数据源有效集成,集成后按照主题进行重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改

2、数据仓库和数据库的区别?

从目标、用途、设计来说

1)数据库是面向事务处理的,数据是由日常的业务产生的,并且是频繁更新的;数据仓库是面向主题的,数据来源多样化,经过一定的规则转换得到的,用于分析和决策

2)数据库一般用来存储当前事务性数据,如交易数据;数据仓库一般存储的是历史数据

3)数据库设计一般符合三范式,有最大的精确度和最小的冗余度,有利于数据的插入;数据仓库设计一般不符合三范式,有利于查询

3、如何构建数据仓库?

数据仓库模型的选择是灵活的,不局限与某种模型方法;数据仓库数据是灵活的,以实际需求场景为导向;数仓设计要兼顾灵活性、可扩展性、要考虑技术可靠性和实现成本

1)调研:业务调研、需求调研、数据调研

2)划分主题域:通过业务调研、需求调研、数据调研最终确定主题域

3)构建总线矩阵、维度建模

总线矩阵:把总线架构列表形成矩阵形式,行表示业务处理过程,即事实,列表示一致性的维度,在交叉点上打上标记表示该业务处理过程与该维度相关(交叉探查)

4)设计数仓分层架构

5)模型落地

6)数据治理

4、什么是数据中台?

数据中台是通过数据技术,对海量数据进行采集、计算、存储、加工,同时统一标准和口径。数据中台把数据统一之后,会形成标准数据,再进行存储,形成大数据资产层,进而为客户提供高效服务。这些服务和企业的业务有较强关联性,是企业所独有且能复用的,他是企业业务和数据的积淀,其不仅能降低重复建设,减少烟囱式协助的成本,也是差异化竞争的优势所在。

数据中台是通过整合公司开发工具、打通全域数据、让数据持续为业务赋能,实现数据平台化、数据服务化和数据价值化。数据中台更加侧重于“复用”和“业务”。

5、数据中台、数据仓库、大数据平台、数据湖的关键区别是什么?

1)基础能力上的区别

数据平台:提供的是计算和存储能力

数据仓库:利用数据平台提供的计算和存储能力,在一套方法论的指导下建设的一整套的数据表

数据中台:包含了数据平台和数据仓库的所有内容,将其打包,并且以更加整合以及更加产品化的方式对外提供服务和价值

数据湖:一个存储企业各种各样原始数据的大型仓库,包括结构化和非结构化数据,其中湖里的数据可供存取、处理、分析和传输

2)业务能力上的区别

数据平台:为业务提供数据主要方式是提供数据集

数据仓库:相对具体的功能概念是存储和管理一个或多个主题数据的集合,为业务提供服务的方式主要是分析报表

数据中台:企业级的逻辑概念,体现企业数据产生价值的能力,为业务提供服务的主要方式是数据API

数据湖:数据仓库的数据来源

总的来说,数据中台距离业务更近,数据复用能力更强,能为业务提供速度更快的服务,数据中台在数据仓库和数据平台的基础上,将数据生产为一个个数据API服务,以更高效的方式提供给业务。数据中台可以建立在数据仓库和数据平台之上,是加速企业从数据到业务价值的过程的中间层。

6、大数据有哪些相关的系统?

数仓设计中心:按照主题域、业务过程,分层的设计方式,以维度建模作为基本理论依据,按照维度、度量设计模型,确保模型、字段有统一的命名规范

数据资产中心:梳理数据资产,基于数据血缘,数据的访问热度,做成本的治理

数据质量中心:通过丰富的稽查监控系统,对数据进行事后校验,确保问题数据第一时间被发现,避免下游的无效计算,分析数据的影响范围。

指标系统:管理指标的业务口径、计算逻辑和数据来源,通过流程化的方式,建立从指标需求、指标开发、指标发布的全套协作流程

数据地图:提供元数据的快速索引,数据字典、数据血缘、数据特征信息的查询,相当于元数据中心的门户。

7、如何建设数据中台?

数据中台在企业落地实践时,结合技术、产品、数据、服务、运营等方面,逐步开展相关工作

1)理现状:了解业务现状、数据现状、IT现状、现有的组织架构

2)定架构:确认业务架构、技术架构、应用架构、组织架构

3)建资产:建立贴近数据层、统一数仓层、标签数据层、应用数据层

4)用数据:对数据进行输出、应用

5)数据运营:持续运营、持续迭代

中台建设需要有全员共识,由管理层从上往下推进,由技术和业务人员去执行和落地是一个漫长的过程,在实施数据中台时,最困难的地方就是需要有人推动。

8、数据仓库最重要的是什么?

个人认为是数据集成和数据质量

企业的数据通常存储在多个异构数据库中,要进行分析,必须对数据进行一致性整合,整合后才能对数据进行分析挖掘出潜在的价值;

数据质量必须有保障,数据质量不过关,别人怎么会使用你的数据?

9、概念模型、逻辑模型、物理模型分别介绍一下?

1)概念模型CDM:概念模型是最终用户对数据存储的看法,反映了最终用户综合性的信息需求,以数据类的方式描述企业级的数据需求

概念模型的内容包括重要的实体与实体之间的关系,在概念模型中不包含实体的属性,也不包含定义实体的主键

概念模型的目的是统一业务概念,作为业务人员和技术人员之间的沟通桥梁,确定不同实体之间的最高层次的关系

2)逻辑模型LDM:逻辑模型反映的是系统分析人员对数据存储的观点,是对概念模型的进一步分解和细化,逻辑模型是根据业务规则确定的,关于业务对象,业务对象的数据项以及业务对象之间关系的基本蓝图

逻辑模型的内容包括所有的实体和关系,确定每个实体的属性,定义每个实体的主键,指定实体的外键,需要进行范式化处理

逻辑模型的目标是尽可能详细的描述数据,并不考虑物理上如何实现

3)物理模型PDM:物理模型是在逻辑模型的基础上,考虑各种具体的技术实现因素,进行数据体系结构设计,真正实现数据在数据仓库中的存放

物理模型的内容包括确定所有的表和列,定义外键用确认表之间的关系,基于用户的需求可能要进行反范式化等内容

10、SCD常用的处理方式有哪些?

slowly changing dimensions 缓慢变化维度

常见的缓慢变化维处理方式有三种:

1)直接覆盖:不记录历史数据,薪数据覆盖旧数据

2)新加一行数据(纵向扩展):使用代理主键+生效失效时间或者是代理主键+生效失效标识(保存多条记录,直接新添一条记录,同时保留原有记录,并用单独的专用字段保存)

3)新加两个字段(横向扩展):一个是previous,一个是current,每次更新只更新这两个值,但是这样职能保留最近两次的变化(添加历史列,用不同的字段保存变化痕迹,因为只保存两次变化记录,使用与变化不超过两次的维度)

11、怎么理解元数据?

传送门:一篇文章搞懂数据仓库:元数据分类、元数据管理 —— 一篇文章搞懂数据仓库:元数据分类、元数据管理_不吃西红柿-CSDN博客

狭义来讲就是:元数据就用来描述数据的数据

广义来讲,除了业务逻辑直接读写处理的业务数据,所有其他用来维护整个系统运转所需要的数据,都可以认为是元数据

在数仓中,元数据可以帮助数仓人员方便找到他们所关系的数据,是描述数仓内部数据的结构和建立方法的数据。按照用途可分为:技术元数据、业务员数据

  • 技术元数据:存储关于数据仓库技术细节的数据,用于开发和管理数仓使用的数据
  • 业务元数据:从业务角度描述了数据仓库中的数据,提供介于使用者和实际系统之间的语义层,使不懂计算机技术的业务人员也能读懂数仓中的数据

元数据管理功能

  • 数据地图:以拓扑图的形式对数据系统的各类数据实体、数据处理过程元数据进行分层次的图形化展示,并通过不同层次的图形展现。
  • 元数据分析:血缘分析、影响分析、实体关联分析、实体差异分析、指标一致性分析。
  • 辅助应用优化:结合元数据分析功能,可以对数据系统的应用进行优化。
  • 辅助安全管理:采用合理的安全管理机制来保障系统的数据安全;对数据系统的数据访问和功能使用进行有效监控。
  • 于元数据的开发管理:通过元数据管理系统规范日常开发的工作流程(包括任务调度系统)。

12、数仓如何确定主题域?

主题是在较高层次上将数据进行综合、归类和分析利用的一个抽象概念,每一个主题基本对应一个宏观的分析领域,在逻辑意义上,他是对企业中某一宏观分析领域所涉及的分析对象。

面向主题的数据组织方式,就是在较高层次上对分析对象的数据的一个完整并且一致的描述,能刻画各个分析对象所涉及的企业各项数据,以及数据之间的联系。

主题域通常是联系较为机密的数据主题的集合,可以根据业务的关注度,将这些数据主题划分到不同的主题域(也就是说对某个主题进行分析后确定的主题的边界)。

关于主题域的划分,可以考虑几方面:

1、按照业务或者业务过程划分:比如一个靠销售广告位置的门户网站主题域可能会有广告域,客户域等,而广告域可能就会有广告的库存,销售分析、内部投放分析等主题;

2、根据需求方划分:比如需求方为财务部,就可以设定对应的财务主题域,而财务主题域里面可能就会有员工工资分析,投资回报比分析等主题;

3、按照功能或者应用划分::比如微信中的朋友圈数据域、群聊数据域等,而朋友圈数据域可能就会有用户动态信息主题、广告主题等;

4、按照部门划分:比如可能会有运营域、技术域等,运营域中可能会有工资支出分析、活动宣传效果分析等主题;

总而言之,切入的出发点逻辑不一样,就可以存在不同的划分逻辑。在建设过程中可采用迭代方式,不纠结于一次完成所有主题的抽象,可先从明确定义的主题开始,后续逐步归纳总结成自身行业的标准模型。

13、如何控制数据质量?

传送门:一篇文章搞懂数据仓库:数据治理(目的、方法、流程)——  一篇文章搞懂数据仓库:数据治理(目的、方法、流程)_不吃西红柿-CSDN博客_数据仓库 数据治理

1)校验机制,每天对比数据量,比如count(*),早发现,早修复

2)数据内容的比对,抽样对比

3)复盘、每月做一次全量

14、模型设计的思路?业务驱动?数据驱动?

构建数据仓库有两种方式:自上而下、自下而上

Bill Inmon推崇自上而下的方式,一个企业建立唯一的数据中心,数据是经过整合、清洗、去掉脏数据、标准的、能够提供统一的视图。要从整个企业的环境入手,建立数据仓库,要做很全面的设计。偏数据驱动

Ralph Kimball推崇自下而上的方式,认为数据仓库应该按照实际的应用需求,架子啊需要的数据,不需要的数据不要加载到数据仓库中。这种方式建设周期短,用户能很快看到结果。偏业务驱动

15、为什么需要数据仓库建模?

数仓建模需要按照一定的数据模型,对整个企业的数据进行采集,整理,提供跨部门、完全一致的报表数据。

合适的数据模型,对于大数据处理来讲,可以获得得更好的性能、成本、效率和质量。良好的模型可以帮助我们快速查询数据,减少不必要的数据冗余,提高用户的使用效率。

数据建模进行全方面的业务梳理,改进业务流程,消灭信息孤岛,更好的推进数仓系统的建设。

16、数据仓库建模方法有哪些?

传送门:一篇文章搞懂数据仓库:四种常见数据模型 —— 一篇文章搞懂数据仓库:四种常见数据模型(维度模型、范式模型等)_不吃西红柿-CSDN博客

17、数仓架构为什么要分层?

  1. 分层可以清晰数据结构,使用时更好的定位和理解
  2. 方便追踪数据的血缘关系
  3. 规范数据分层,可以开发一些通用的中间层数据,能够减少极大的重复计算
  4. 把复杂的问题简单化
  5. 屏蔽原始数据的异常,下游任务没有感知异常

【参考文献】

  1. 《数据中台:让数据用起来》
  2. 《华为数据之道》
  3. 《大数据之路:阿里巴巴大数据实践》
  4. csdn博客大牛、知乎大佬文章

添加公众号「信息技术智库」:

数据仓库面试题集锦(附答案和数仓知识体系)相关推荐

  1. 数据仓库面试题集锦(附答案和数仓知识体系),小红书Python面试题目

    2.数据仓库和数据库的区别? 从目标.用途.设计来说 1)数据库是面向事务处理的,数据是由日常的业务产生的,并且是频繁更新的:数据仓库是面向主题的,数据来源多样化,经过一定的规则转换得到的,用于分析和 ...

  2. J2EE面试题集锦(附答案)

    转自:http://blog.sina.com.cn/s/blog_4e8be0590100fbb8.html J2EE面试题集锦(附答案) 一.基础问答 1.下面哪些类可以被继承? java.lan ...

  3. iOS面试题集锦附答案及必需具备的知识

    面试看面试官水平和心情,我遇到一本正经的问题还有"安卓用三个按键,苹果为什么只有一个 home键?""你觉得你是个有爱的人吗?""你男朋友是在哪里做什 ...

  4. 有福了,J2EE面试题集锦(附答案)

    一.基础问答 1.下面哪些类可以被继承? java.lang.Thread (T) java.lang.Number (T) java.lang.Double (F) java.lang.Math  ...

  5. 计算机英语考试试题一附答案,计算机英语考试试题一附答案

    计算机英语考试试题一附答案 ================精选公文范文,管理类,工作总结类,工作计划类文档,欢迎阅读下载============== 计算机英语考试试题一附答案 计算机英语考试试题一 ...

  6. 计算机一级考模拟试题,计算机一级MSOffice考前模拟试题「附答案」

    计算机一级MSOffice考前模拟试题「附答案」 一级分为DOS版和Windows版,考核应试者计算机基本知识和使用微机系统的初步能力.那么计算机一级MSOffice考试会怎么考?以下仅供参考! 1) ...

  7. 计科系大一c语言期末考试题,大一大学计算机基础期末考试试题「附答案」

    大一大学计算机基础期末考试试题「附答案」 一.单选题 1.用一个字节最多能编出(D)不同的码. A. 8个 B. 16个 C. 128个 D. 256个 2.完整的计算机系统由(C)组成. A.运算器 ...

  8. 计算机word考试试题答案,计算机word考试-试题1(附答案解析).doc

    计算机word考试-试题1(附答案解析).doc 计算机word考试试题一1.在Word中,单击下面四个常用工具栏中的按钮,可以打开一个下拉列表,该按钮是 A显示比例 B拼写检查 C帮助 D新建2.在 ...

  9. 常见的php笔试题(附答案)搜集整理

    转载链接:http://www.yaojinbu.com/p/139.html 常见的php笔试题(附答案)搜集整理 1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在哪个预定义变量中?而 ...

最新文章

  1. 钉钉、支付宝合种树,2-4天领证,限量9个名额
  2. 20181023-3 每周例行报告
  3. 011_Redis的快照持久化
  4. springboot中DataSource数据源实例产生时机及所需环境
  5. 目标检测近5年发展历程概述(转)
  6. 数据库原理—数据模型(三)
  7. TextView 在java中使用Html设置字体大小颜色
  8. DataSet运用DES加解密到Xml
  9. Mybatis 延迟加载策略
  10. 互联网基础知识_互联网广告前景怎么样?
  11. Linux命令——set 和 unset
  12. 倍福软件安装及注意事项
  13. Zip文件压缩与解压
  14. 物联网与嵌入式系统的关系
  15. 【励志】比风水厉害100倍的宇宙定律
  16. 数据库管理工具 FreeSQL
  17. 下列不属于计算机未来发展趋势的是,1-9 关于计算机的发展趋势,下面哪种不是未来发展趋势 ____________ 。_学小易找答案...
  18. 烟花易冷,一指繁华了无痕:伤感QQ空间日志
  19. mysql binlog 记录_MYSQL binlog 日志内容查看
  20. Log4j2发送邮件通知

热门文章

  1. iText学习(三)
  2. centos 彻底卸载docker
  3. cv2.magnitude 详解
  4. 李宏毅机器学习(25)
  5. php使用框架优缺点,主流PHP框架的优缺点对比分析
  6. Linux 挂载磁盘重启出错
  7. 联想计算机开机出现invalid partition table
  8. php重定向函数是什么,php重定向三方法
  9. 编程必备的23种设计模式
  10. 孩子厌学逃课怎么办,家长要从这3个方面入手,引导孩子爱上学习