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

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

一篇文章搞懂数据仓库:三种事实表(设计原则,设计方法)一篇文章搞懂数据仓库:三种事实表(设计原则,设计方法、对比)_不吃西红柿-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博客大牛、知乎大佬文章

 

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

🍅 硬核资料:20G,8大类资料,关注即可领取(PPT模板、简历模板、技术资料)
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由各个技术群小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、前端等。

👇👇送书抽奖丨技术互助丨粉丝福利👇👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494752.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pidgin-qq可以使用QQ2012协议了

前几个月前还用过pidgin-qq登录过QQ,当时用的还是2010协议。可不久就发现2010协议已经变得不可用了,之后也尝试过各种webqq协议的方案,什么gtkqq,pidgin-lwqq,可能是webqq协议功能不完善吧,用起来总觉得跟我想要的qq功能相差太远。…

2018全球科技中心报告

来源:CB Insights、数据局摘要:CB Insights 近日发布的《全球科技中心报告》( Global Tech Hubs report)在全球范围一共遴选了25座城市作为「全球科技中心」,其中,中国仅有北京和上海入选,而热门…

还在为520礼物发愁吗?教你用python撩女朋友

用python撩女朋友,你要的温暖都在生活的细节中。学会制造惊喜,一起牵手走向更加美好的生活。 其实,大多数人的爱情都是有事没事的瞎扯,可对于我们该怎样瞎扯来表达自己的心意却又都摸不着头脑。 所以,情侣之间要学会一…

键盘上的反引号怎么打

今天在学习数据库的时候突然要用到反引号,反引号?第一次听说反引号这个符号 几经周折,找到这个反引号,分享给大家。 在英文状态下,数字1的左边,Esc的下面,也就是中文的省略号。

(转)用 Asterisk 搭建自己的免费 VoIP 服务器

原文链接:http://www.yaoblog.info/?p5021 1. 这里以 Debian 为例子,安装 Asterisk apt-get update apt-get install asterisk 2. 预设置 Asterisk,修改 sip.conf 和 extensions.conf 文件,是为了创建两个可供测试的 SIP 账号 na…

解密美国五角大楼人工智能中心

选自 I thebulletin 编译 I 网易智能 参与 I Rosie2016年10月,新成立的国防创新委员会首次提出了一系列建议(该委员会是美国国防部高级领导的顾问机构,成员包括来自私营部门、学术界和非营利组织的代表)。其中一项建议是&#xff…

一篇文章搞定一个大数据组件:kudu知识点全集

目录 1、kudu的定位 2、kudu基本概念 3、存储架构 3.1 储存架构:Tablet 3.2 储存架构:RowSets 3.3 储存架构:DiskRowSets 4、kudu工作原理 4.1 Compaction 4.2 Tablet切分规则 4.3 kudu写过程:insert 4.4 kudu写过程&a…

区分Activity的四种加载模式-activity

转载:http://marshal.easymorse.com/archives/2950 在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。 这需要为…

Nature:AI为什么总是歧视重重?

来源:网络大数据摘要:当使用谷歌翻译将西班牙语的新闻翻译为英语时,涉及到女性的短语通常都会翻译为“他说”或“他写道”。当使用谷歌翻译将西班牙语的新闻翻译为英语时,涉及到女性的短语通常都会翻译为“他说”或“他写道”。常…

※【python自学】7个Python生态系统核心库,你值得拥有

无论你是想快速入手Python,还是想成为数据分析大神或者机器学习大佬,亦或者对Python代码进行优化,本文的python库都能为你提供一些帮助。 一 概述 Python生态系统的一些核心基础数据分析库: NumPy:支持大量的维度数…

Eclipse编写Java程序

Eclipse的Java开发工具(JDT),允许用户使用它的环境进行编辑、调试及运行Java程序。1. Java运行环境设置 指定JRE的版本。Eclipse设置默认的运行环境的JRE设置成当前配置,用户可以修改多个JRE版本的运行环境,并选择符合其需求的运行环境。[窗口 Window]…

㊙️【教你用python挣零花钱】自动化简历内推,学弟直呼牛逼!!

最近,小编在处理简历时,发现大量简历需要一个个打开文件,复制姓名、邮箱、电话号码、学历等关键信息,效率特别低且部分文件无法直接复制。于是,小编便写了简历解析处理的脚本,支持文件格式有:do…

MySQL流浪记(六)—— CONCAT到GROUP_CONCAT的沿途风景(图文详解)

本文中的案例如下,可以自己测试一下,有问题可以留言哦。 CREATE TABLE staff (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),job_id INT, joindate DATE,salary DECIMAL(7,2) ); INSERT INTO staff(name,job_id,joindate,salary) VALUES (孙悟…

收藏!最新大数据产业地图 十大生态金矿百大公司起底【附下载】

来源:智东西人工智能的崛起,加速了大数据技术的应用落地。据中国大数据产业生态联盟调查显示,国内大数据企业年营业额4000万人民币以上的已经超过40%,这意味着,这些企业已经度过生存期,开始进入应用落地和品…

【一鸣离职,左晖去世】互联网老兵给大家的三个建议

2021年5月20日,除了娱乐圈的分分合合,互联网圈发生了两件大事: 1、字节跳动创始人张一鸣发布内部全员信,宣布卸任CEO一职。 2、贝壳发布讣告,公司创始人兼董事长左晖先生因疾病意外恶化于2021年5月20日…

科大讯飞:让世界听见AI的声音

来源:华为怀揣着“让世界聆听我们的声音”的梦想,科大讯飞依托世界领先的核心技术,引领智能浪潮,服务亿万用户,从中国语音产业的拓荒者一跃成为世界人工智能产业的领军者,而最初科大讯飞把语音作为切入点却…

Linux中的chmod详解

chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令。Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。只有…

【程序员薪资】2021年04月新鲜出炉,看看你拖后腿了吗?

程序员一直都是一个备受人们关注的群体。据IDC统计,全球约有1850万名程序员(数据还在持续增长),中国占10%左右。随着近年全国互联网创业热潮的兴起,“互联网”、“云计算”以及“智能硬件”等领域发展迅速,…

CICC科普栏目|神经网络浅讲:从神经元到深度学习

图1 人脑神经网络来源: 计算机的潜意识摘要:神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向–深度学习的基础。神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向–深度学习的基础。学习神经网络不仅可以让你掌握一门强大的…

linux安装Redis(超详细,只要三分钟,每一步命令都有命令截图及运行截图)

Redis redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取…