乐知付加密服务平台

如果你有资源, 平台可以帮你实现内容变现, 无需搭建知识付费服务平台。

点击访问官方网站 https://lezhifu.cc

扫码关注公众号 乐知付加密服务平台-微信公众号
数据仓库工程师一般面试题 | chenzuoli's blog

数据仓库工程师一般面试题

      对于高级数据仓库工程师的问题更侧重于各种工具的细枝末节。
      对于数据仓库架构师的问题更侧重于数据仓库的架构和总体认识。
      对于数据仓库项目经理的问题除了以上的问题外,就是一般项目管理的技能了吧。

一、什么叫数据仓库?

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

  • 面向主题:数据仓库是为了提供决策服务的,会建立不同的主题,而主题是进行决策时重点关注的部分;
  • 集成:数据仓库可以整合来自不同数据源的数据,将这个数据入库、清洗、整合成统一的标准化数据,同时上文中提到的一个主题往往与多个系统相关,集成的数据很好地满足了主题构建的数据需求。数据仓库对原有的分散的数据库、文件进行数据抽取、清理的基础上经过系统加工、整理得到,清除原数据中的不一致性(面向事务的数据库往往单独存放单个系统的数据,且不同数据库相互独立,且是异构的);
  • 相对稳定:数据仓库中的数据是面向决策的,这就表明了仓库中的数据进入之后一般会长期保留,主要面对的是查询,更新和删除操作很少,一般是定期地加载、更新;
  • 反映历史变化:仓库中会保留各个时间节点的数据,以满足不断变化的业务需求。

二、数据仓库与数据库的区别?

      数据库:按照数据结构来组织、存储、管理数据,建立在计算机存储设备上面的仓库,一般适用于操作系统,因为符合范式的设计模式,所以数据的一致性较好。
      数据仓库:面向主题的、集成的、稳定的(不是时时刻刻变化)、反映历史变化的数据集合,可以包含多个数据库。

三、什么是OLAP?用途是什么?

      OLAP:联机分析处理(online analytical processing),是数据仓库的主要应用,支持复杂的分析操作,侧重决策支持,并提供直观易懂的查询结果。
      联机分析处理(OLAP)的概念最早由关系型数据库之父E.F.Codd于1993年提出,当时引起了很大的反响,同联机事务处理(OLTP)明显地区分开来。
      当今的数据处理大致可以分为两大类:OLTP和OLAP,OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,比如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并提供直观易懂的查询结果。

      另一种解释是:

  • 联机分析处理(On-Line Analytical Processing, OLAP)是基于数据仓库的在线多维统计分析。它允许用户在线地从多个维度观察某个度量值,从而为决策提供支持。

四、什么叫维度和度量值?

      一个是出发点,一个是观察值

五、数据仓库的基本架构是什么?

      数据源,ETL,data stage,ODS,data warehouse,datamart,OLAP等等,可能为针对每一个结构进行发问啊。

六、什么叫缓慢维度变化?

      为了表现和记录基础数据变化情况在数据仓库中的记录,包括三大类维度处理方式,缓慢变化维包括三小类。

七、什么叫查找表,为什么使用替代键?

      其实目的和上面一样,从基础表到缓慢维度表的过程中的一种实现途径。

八、如何实现增量抽取?

      主要采用时间戳方式,提供数据抽取和处理的性能。

九、用过什么ETL工具?

      kettle, informatica,ssis,owb,datastage,以及该工具简单讲述特点。

十、ETL都包括那些组成部分?

      工作流和数据流,数据流包括若干组件处理ETL的各个环节。

十一、用过什么报表工具?

      superset, cboard, bo,hyperion,congo,reporting servce,以及该工具基本特点。

十二、数据仓库项目最重要或需要注意的是什么,以及如何处理?

      一般答数据质量,主要是数据源数据质量分析,数据清洗转换,当然也可以定量分析。

十三、关于数据库部分的面试题(不是要DBA的,但是还是要具备DBA的部分知识结构)

  1. 用过什么数据库(SQLServer,Oracle, mysql, postgresql, hive, es),并能够讲述其物理和逻辑结构,以Oracle为主
  2. 能够写基本的SQL语句,分组函数和关联,开窗函数,通常会给几个例子的
  3. 如何进行性能优化,只要能答索引的基本原理以及各种索引的区别就行了

总之,事实上数据仓库和DBA或者其他技术不同,没有什么绝对的答案,只要能表达和描述清楚自己的观点就行了。


我的命运,由我做主。

书山有路勤为径,学海无涯苦作舟。

欢迎关注微信公众号:【程序员写书】
程序员写书

喜欢宠物的朋友可以关注:【电巴克宠物Pets】
电巴克宠物

一起学习,一起进步。

-------------本文结束感谢您的阅读-------------