数据仓库面试题

合集下载

数据仓库常见面试问题

数据仓库常见面试问题

数据仓库常见⾯试问题
数据仓库主要⼯作就是模型设计;
1、数仓建模⽅法:范式建模、维度建模、Data Vault; 各⾃优缺点?
2、维度建模的三种⽅式:星型模式、雪花模式、星座模式
3、分层架构:ODS、DW(DW数据分层,由下到上为 DWD,DWB,DWS)、ADS
4、缓慢变化维与退化维;处理缓慢变化维的⽅式(拉链表,拉链表能实现保存历史快照,去除重复数据,节约空间)
5、维度建模过程?
6、事实表有哪些?各⾃含义?
事务型事实表(其中事务的含义?
⼀⾏数据。

⼀旦事务被提交,事实表数据被插⼊,数据就不再进⾏更改,其更新⽅式为增量
更新。

事实的含义?--术语表⽰的是业务事件的度量值(可统计次数、个数、件数、⾦额等))
周期型事实表
不会保留所有数据只保留固定时间间隔的数据,例如每天或者每
⽉的销售额,或每⽉的账户余额等。

稠密(例如当天没发⽣交易,也会记录数据)
累积型事实表
累计快照事实表⽤于跟踪业务事实的变化。

例如,数据仓库中可能需要累积或者存储订
单从下订单开始,到订单商品被打包、运输、和签收的各个业务阶段的时间点数据来跟踪订
单声明周期的进展情况。

当这个业务过程进⾏时,事实表的记录也要不断更新。

参考。

数据库工程师面试准备考试试卷

数据库工程师面试准备考试试卷

数据库工程师面试准备考试试卷(答案见尾页)一、选择题1. 在关系型数据库中,索引的主要作用是什么?A. 提高数据查询效率B. 存储冗余数据C. 提高数据完整性D. 增加数据安全性2. 以下哪个不是SQL语言的数据操作语句?A. SELECTB. INSERTC. UPDATED. DELETE3. 在数据库设计中,哪种范式用于消除非主属性对主键的部分依赖?A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. BCNF4. 什么是数据库事务的ACID特性?A. 原子性(Atomicity)B. 一致性(Consistency)C. 隔离性(Isolation)D. 持久性(Durability)5. 在分布式数据库中,什么是CAP定理?它说明了什么?A. 一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)之间的权衡B. 数据库复制延迟C. 数据库锁机制D. 数据库备份策略6. 以下哪种数据模型是用于描述实体之间关系的?A. 网状模型(Graph Model)B. 关系模型(Relational Model)C. 面向对象模型(Object-Oriented Model)D. 树状模型(Tree Model)7. 在数据库优化中,如何提高查询性能(多选)?A. 使用索引B. 添加冗余数据C. 优化查询语句D. 增加数据副本8. 什么是数据库的正常关闭和异常关闭?它们各自的处理方法是什么?A. 正常关闭:优雅地关闭数据库连接,释放资源。

B. 异常关闭:突然终止数据库服务,可能导致数据不一致。

C. 处理方法:正常关闭需要确保所有活动事务都已完成;异常关闭需要记录日志并尝试恢复数据。

9. 在数据库备份策略中,全备份、增量备份和差异备份有什么区别?A. 全备份:备份全部数据,恢复时最简单。

B. 增量备份:仅备份自上次备份以来发生变化的数据。

关于数据仓库工程师的一般面试题目

关于数据仓库工程师的一般面试题目

关于数据仓库工程师的一般面试题目相信会对即将投身于数据仓库事业中的同行们有点帮助!不过这只是针对初级数据仓库工程师的基本问题。

本题只代表自己对数据仓库的肤浅认识,不代表任何公司的面试题目。

对于高级数据仓库工程师的问题更侧重于各种工具的细枝末节。

对于数据仓库架构师的问题更侧重于数据仓库的架构和总体认识。

对于数据仓库项目经理的问题除了以上的问题外,就是一般项目管理的技能了吧。

关于数据仓库部分的面试问题!什么叫数据仓库?(相信inmon的数据仓库概念的四个特点是最基本的吧,当然需要加上自己的理解)数据仓库和数据库有什么区别?(事务性数据库和决策支持数据库的区别,当然包括目标、用途、设计等等)什么叫OLAP?用途是什么?(OLAP指多维数据库了,主要用于多维分析了;包括三种实现方式)什么叫维度和度量值?(一个是出发点,一个是观察值) 数据仓库的基本架构是什么?(数据源,ETL,data stage,ODS,data warehouse,datamart,OLAP等等,可能为针对每一个结构进行发问啊)什么叫缓慢维度变化?(为了表现和记录基础数据变化情况在数据仓库中的记录,包括三大类维度处理方式,缓慢变化维包括三小类)什么叫查找表,为什么使用替代键?(其实目的和上面一样,从基础表到缓慢维度表的过程中的一种实现途径)如何实现增量抽取?(主要采用时间戳方式,提供数据抽取和处理的性能) 用过什么ETL工具(informatica,ssis,owb,datastage),以及该工具简单讲述特点。

ETL都包括那些组成部分(工作流和数据流,数据流包括若干组件处理ETL的各个环节) 用过什么报表工具(bo,hyperion,congo,reporing servce),以及该工具基本特点。

数据仓库项目最重要或需要注意的是什么,以及如何处理?(一般答数据质量,主要是数据源数据质量分析,数据清洗转换,当然也可以定量分析)关于数据库部分的面试题(不是要DBA的,但是还是要具备DBA的部分知识结构) 用过什么数据库(SQLServer,Oracle),并能够讲述其物理和逻辑结构,以Oracle为主能够写基本的SQL语句,分组函数和关联,通常会给几个例子的如何进行性能优化,只要能答索引的基本原理以及各种索引的区别就行了事实上数据仓库和DBA或者其他技术不同,没有什么绝对的答案,只要能表达和描述清楚自己的观点就行了感谢您的阅读,祝您生活愉快。

数据库面试题大全

数据库面试题大全

数据库面试题大全以下是一些常见的数据库面试题目:1. 什么是数据库?请简要描述数据库的基本概念。

2. 请解释一下关系型数据库和非关系型数据库的区别。

3. 什么是SQL?请简要描述SQL的作用和用途。

4. 什么是主键和外键?请举例说明它们在数据库中的作用。

5. 什么是索引?请简要描述索引的作用和优缺点。

6. 请解释一下事务的概念,以及事务的隔离级别。

7. 请解释一下数据库的连接池和它的作用。

8. 什么是数据库触发器?请简要描述触发器的作用和用途。

9. 什么是存储过程?请简要描述存储过程的作用和用途。

10. 什么是视图?请简要描述视图的作用和用途。

11. 请解释一下数据库的规范化,以及规范化的好处。

12. 请解释一下数据库的性能优化,以及如何进行性能优化。

13. 请描述一下你如何处理数据库中的重复数据。

14. 什么是数据库备份和恢复?请简要描述备份和恢复的方法。

15. 请解释一下数据库的并发控制,以及并发控制的方法。

16. 请解释一下数据库的分区,以及分区的好处。

17. 什么是数据库的乐观锁和悲观锁?请简要描述它们的区别和用途。

18. 请解释一下数据库的日志和日志的重要性。

19. 什么是数据库的联接?请简要描述不同类型的联接(如内联接、左外联接、右外联接、全外联接等)。

20. 请解释一下数据库的索引,以及如何使用索引来提高查询性能。

21. 请解释一下数据库的性能优化,以及如何进行性能优化。

22. 什么是数据库的安全性?如何保证数据库的安全性?23. 请解释一下数据库的视图,以及视图的用途和优点。

24. 什么是数据库的游标?游标在数据库中有什么用途?25. 请解释一下数据库的存储过程和函数,以及它们的用途和优点。

众测数仓面试题

众测数仓面试题

众测数仓面试题1、能否简介一下当前这个项目2、什么是数据仓库呢?3、数据仓库和传统的业务数据库有什么区别?4、OLTP和OLAP分别是什么?有什么区别?5、项目是如何分层的6、数仓一般怎么做分层处理呢?7、数仓分层的作用是什么?8、项目中有做按照主题分析吗?若有,有哪些主题9、数据分析能决定企业未来发展,请辩证这个观点10、什么是事实表,什么是维度表,有什么区别和联系11、什么是指标,什么是维度,有什么区别和联系12、数据仓库的主要特性是?13、数据仓库主要解决了什么问题14、一个企业一般构建几个数据仓库最好,并说明15、什么是缓慢渐变维?适用于什么场景?16、什么是拉链表?适用于什么场景17、什么是维度的分层和分级?什么是上钻和下卷?18、请简述数据集市19、请简述维度退化,以及其作用20、请简述以下层级的主要作用22、请简述SCD2的实现方法(最少2种,多了不限)23、请用三个单词来总结数仓分层的主要工作内容24、什么是版本控制工具25、什么是git26、.git文件夹的作用27、什么是本地库什么是远程库28、在大数据框架中,压缩的作用是什么?29、请简述行存储和列存储各自的优缺点和适用场景30、什么是Hive的分区?什么是Hive的分桶?31、Hive中静态分区、动态分区、混合分区分别是什么32、什么是Map Join,有什么好处,主要原理是什么33、如何显式的告知Hive执行任务要走MapJoin34、什么是Bucket Map Join,有什么好处,主要原理是什么35、什么是SMB Join,有什么好处,主要原理是什么36、请简述Hive的执行原理。

数据仓库面试题

数据仓库面试题

数据仓库⾯试题离线数仓⾯试题?1、ODS:存放原始数据,直接加载原始⽇志,数据,数据保持原貌不做处理。

2、DWS:结构和粒度与原始表保持⼀致,对ODS层数据进⾏清洗(去除空值,脏数据)3、DWS:以DWD层为基础,进⾏轻度汇总。

4、ADS:为各种统计报表提供数据。

为什么要对数仓进⾏分层?1、把简单问题复杂化将⼀个复杂的任务分解成多个步骤来完成,每⼀层只处理单⼀的步骤,⽐较简单,并且⽅便定位问题。

2、减少重复开发规范数据分层,通过中间层的数据,能够减少极⼤的重复计算,增加⼀次计算结果的复⽤性。

3、隔离原始数据不论是数据的异常还是数据的敏感性,使真实数据与统计数据解耦开说说对数据库仓库的理解?数据仓库是⾯向主题进⾏组织的,数据是集成的,不更新的随时间变化的。

数据仓库经历了这样三个阶段:简单报表,数据集市阶段,数据仓库阶段数据库和数据仓库的区别?数据库是⾯向事务的,⽤来存放数据的仓库,通过数据库软件来实现。

数据库由很多表组成,表是⼆维的,⼀张表⾥⾯可以有很多字段数据仓库是⾯向主题的星型模型和雪花模型?星型模型:多维表的数据关系,它由⼀个事实表和⼀组维表组成,每个维作为主键雪花模型:当⼀个或多个维没有直接连接到事实表上,⽽是通过其他维表连接到事实表上的时候。

使⽤场景:雪花模型:使得维度分析更加容易⽐如“针对特定的⼴告主,有哪些客户或者公司是在线的?"星型模型:⽤来做指标分析更合适,⽐如:给定的⼀个客户他们的收⼊是多少?如果现在有⼀千张表,从⼀个库到另⼀个库的ODS层,你会怎么做?利⽤消息队列做数据订阅发布数仓三层架构,每层有什么⽤?1、数据访问层:主要对⾮原始数据的操作层,⽽不是指原始数据,也就是说是对数据库的操作,⽽不是数据,具体为业务逻辑层或表⽰层提供数据服务。

2、业务逻辑层:主要针对具体的问题的操作,也可以理解为对数据层的操作,对数据业务逻辑处理,⽐如说数据层是积⽊,那逻辑层就是对这些积⽊的搭建3、界⾯层、主要表⽰WEB⽅式,也可以表⽰成WINFORM⽅式,WEB⽅式也可以表现成:aspx。

仓库数据员面试题目及答案

仓库数据员面试题目及答案

仓库数据员面试题目及答案一、问题描述在仓库管理中,数据员扮演着非常重要的角色。

他们负责记录、整理和维护仓库的相关数据,为仓库管理人员提供准确、及时的信息支持。

为了招聘合适的仓库数据员,以下是一些常见的面试题目及答案。

二、面试题目及答案1. 数据员在仓库管理中扮演什么样的角色?答:数据员在仓库管理中负责记录、整理和维护仓库的相关数据。

他们需要准确地记录入库和出库的货物数量、规格、质量等信息,并及时更新仓库系统。

数据员的工作对于仓库管理人员的决策具有重要的支持作用。

2. 请描述你在以往工作中处理大量数据的经验。

答:我之前在一家大型仓库工作过,负责每天处理大量的入库和出库数据。

我熟练掌握Excel等办公软件,能够快速、准确地录入和整理数据。

同时,我也能够根据需要生成各种数据报表和分析图表,为仓库管理人员提供决策支持。

3. 数据员在处理数据时需要注意哪些方面?答:在处理数据时,数据员需要具备高度的准确性和细致性。

他们不能随意修改数据,必须遵循统一的记录规范和操作流程。

此外,数据员需要保证数据的安全性,避免数据泄露或损坏。

4. 仓库管理中的数据分类有哪些?答:仓库管理中的数据可以按照不同的角度进行分类,主要包括:- 入库数据:包括货物的名称、数量、规格、质量等信息。

- 出库数据:包括货物的出库时间、目的地、运输方式等信息。

- 库存数据:包括仓库中各类货物的当前库存量。

- 货物追踪数据:包括货物从进入仓库到出库的整个流程记录。

- 损耗数据:包括货物在仓库过程中的损耗情况统计等。

5. 如何处理数据中的错误或异常情况?答:当发现数据中存在错误或异常情况时,数据员应及时通知仓库管理人员,并协调相关人员进行核实和修正。

此外,数据员需要保留原始数据和修改记录,以便数据审查和追溯。

6. 你如何保证数据的安全和机密性?答:保证数据安全和机密性是数据员的重要职责。

我会严格遵守公司的数据保密规定,确保数据的存储和传输过程中没有泄露风险。

数据库工程师面试题及答案(全)

数据库工程师面试题及答案(全)

数据库工程师面试题及答案1.请简要介绍你对数据库的理解以及你的数据库工作经验?答:数据库是一种可以存储、管理和检索数据的软件系统。

作为一名数据库工程师,我的主要工作职责包括设计和管理数据库系统、调优和优化数据库性能、实现数据备份和恢复、确保数据安全和隐私保护等。

我拥有多年的数据库工作经验,擅长使用MySQL、Oracle、SQL Server等数据库管理系统,对SQL语言和数据库优化有深入的了解。

2.请介绍一下数据库索引的原理和常用类型?答:数据库索引是一种数据结构,可以加速数据检索的速度和效率。

常见的索引类型包括B+树索引、哈希索引、全文索引等。

其中,B+树索引是最常用的索引类型,它采用平衡树结构来存储数据,可以支持快速的范围查找和排序操作。

哈希索引是一种使用哈希函数将数据映射到索引中的索引类型,可以支持快速的精确查找操作。

全文索引是一种可以在文本中进行模糊匹配的索引类型,可以支持全文搜索和关键词查询。

3.请介绍一下数据库事务的概念和ACID特性?答:数据库事务是一组需要被看作为一个单独的操作执行的SQL语句集合。

为了确保数据的完整性和一致性,事务需要满足ACID特性。

ACID是指原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。

⏹原子性:事务中的所有操作要么全部执行成功,要么全部失败,不存在中间状态。

⏹一致性:事务执行前后,数据库中的数据保持一致性状态。

⏹隔离性:事务之间的操作互相隔离,一个事务的执行不应该影响其他事务。

⏹持久性:事务执行成功后,其所做的修改应该被持久化存储,不会因为系统故障等原因丢失。

4.请简述一下数据库优化的方法和技巧?答:数据库优化是提高数据库性能和响应速度的重要手段,常用的方法和技巧包括:⏹合理设计和优化数据库结构,避免冗余和无用数据。

⏹创建适当的索引,加快数据检索速度。

⏹使用分区表,优化大数据表的查询速度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据仓库及BI工程师面试题集锦
前言
1、介绍一下项目经验、项目中的角色。

一、数据库
1、Oracle数据库,视图与表的区别?普通视图与物化视图的区别?物化视图的作
用?
i.视图与表的区别
1. 1、视图是已经编译好的sql语句。

而表不是
2. 视图没有实际的物理记录。

而表有。

3. 表是内容,视图是窗口
4. 表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,
表可以及时四对它进行修改,但视图只能有创建的语句来修改ii. 物化视图与视图区别
1.物化视图和视图差别非常大,不是几句能说清物化视图是自动刷新或者
手动刷新的,视图不用刷新物化视图也可以直接update,但是不影响b
ase table,对视图的update反映到base table上物化视图主要用于
远程数据访问,物化视图中的数据需要占用磁盘空间,视图中不保存数据。

2、Oracle数据库,有哪几类索引,分别有什么特点?
a) 1.单列索引与复合索引
一个索引可以由一个或多个列组成,用来创建索引的列被称为“索引列”。

单列索引是基于单列所创建的索引,复合索引是基于两列或者多列所创建的索引。

2.唯一索引与非唯一索引
唯一索引是索引列值不能重复的索引,非唯一索引是索引列可以重复的索引。

无论是唯一索引还是非唯一索引,索引列都允许取NULL值。

默认情况下,Oracle 创建的索引是不唯一索引。

3.B树索引
B树索引是按B树算法组织并存放索引数据的,所以B树索引主要依赖其组织并存放索引数据的算法来实现快速检索功能。

4.位图索引
位图索引在多列查询时,可以对两个列上的位图进行AND和OR操作,达到更好的查询效果。

5.函数索引
Oracle中不仅能够直接对表中的列创建索引,还可以对包含列的函数或表达式创建索引,这种索引称为“位图索引”。

3、Union与Union All的区别?
a)Union会对查询结果进行排序去重,效率比union all 低,union all只是两个查
询集的合并操作。

建议使用Union all,查询出来后再对数据进行去重操作。

4、对游标的理解?游标的分类?使用方法?
游标是映射在结果集中一行数据的位置实体,有了游标,用户就可以访问结果集中的任何一条数据。

游标分为静态游标和REF游标,静态游标分为显示游标和隐式游标,显示游标使用步骤是声明游标,打开游标,获取记录,关闭游标。

所有的DML语句为隐式游标,可以从游标的属性获得sql语句的信息。

REF游标是动态关联结果集的临时对象,使用步骤也是先要进行声明游标,然后打开游标,获取记录,关闭游标。

5、如何查找和删除表中的重复数据?给出方法或SQL。

查询表中重复数据。

Select * from people where id in (Select id from people group by id having count(id)>1);
Delete from people where id in(select id from people group by id having count(id)>1) and rowid not in (select min(rowid) from people group by id hacing count(id)>1);
创建索引有哪些需要注意的要点?
a)一般来说,不需要为比较小的表创建索引(数据占用存储空间小)
b)即使是大表,如果经常需要查询的数据不超过10%到15%的话,那就没有必要为
其建立索引的必要。

c)如对于一些重复内容比较少的列,特别是对于那些定义了唯一约束的列。

在这些列
上建立索引,往往可以起到非常不错的效果。

d)数据库管理员,需要隔一段时间,如一年,对数据库的索引进行优化。

该去掉的去
掉,该调整的调整,以提高数据库的性能。

e)通常来说,表的索引越多,其查询的速度也就越快。

但是,表的更新速度则会降低。

这主要是因为表的更新(如往表中插入一条记录)速度,反而随着索引的增加而增加。

f)对于一些数据仓库或者决策型数据库系统,其主要用来进行查询。

g)位图索引。

基数是位图索引中的一个基本的定义,它是指数据库表中某个字段内容
中不重复的数值。

6、Oracle数据库中,有哪几种分区?各自特点是什么?作用是什么?分区索引的分类和作用?
范围分区,散列分区,复合分区,索引分区
7、表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出sql。

select * from (select c.*,rownum as rn from (select * from t order by c) c) where rn berween 21 and 30;
8、怎样优化数据库?
i.首先应确定那里出现性能问题,一般一个调度时常都会有时间log
记录,若发现某个调度时间过长,那么我们可以使用oracle自带
profiler进行诊断出该模块出现性能问题的sql。

ii.找出问题sql后对表大小进行分析,知道哪些是大表和小表。

iii.查看该sql执行计划(用 autotrace)即可大概找出问题原因。

iv.查询方面:查看是否未走索引,或sql写法中有运算或<> 等影响走索引条件,或并未对关键关联字段创建索引,必要情况重建索引。

v.删除更新情况,尽量使用rowid。

9、华为开发流程是什么(CMMI)
a)华为接口人或业务提出需求文档。

b)我们根据需求文档写入概要设计。

c)根据概要设计进行开发。

d)开发完成后进行ut测试。

e)编写详细设计。

f)上线后编写产品文档。

二、ETL工具
1、Informatica中,Update组件叫什么?更新机制?
2、Informatica中,LookUp组件有哪几类?区别是什么?
3、Informatica中,如何调用存储过程?
4、Informatica中,工作流控制有哪些组件?
5、Informatica优化方案?
6、DataStage的JOB有哪些类型?特点分别是什么?
7、DataStage中,如何设置parallel job并行运行?
8、DataStage中,Join Stage 与Lookup Stage组件在使用上有何区别?
9、DataStage的优化方案?
10、什么是维度?
人们观察数据的特定角度。

例如,一个企业在考虑产品的销售情况时,通常从时间、地区和产品的不同角度来深入观察产品的销售情况。

这里的时间、地区和产品就是
维。

11、事实表、维度表是什么?
12、事实表:就是所有需要统计值的表;维度表:根据时间或地区需要分析的数据
表。

13、DW维表分类
a) 1.一致性维度
b) 2.杂项维度
c) 3.角色类
14、缓慢变化维
a)随着时间的推移维度中的属性,慢慢会改变。

例如一个产品销售地区之前为国
内省,现在上国际,为各个国家。

15、ETL分别是“Extract”、“ Transform”、“Load”。

16、datastage优点
a)优点在于,把复杂的工作,分解成,易查错的job。

三、模型设计
1、有哪几种模型设计方法?特点分别是什么?
2、模型设计的步骤?
确定该业务过程每个事实表的粒度
确定维度的属性
确定维度的层次
确定每个事实所需要关联的维度
确定数字型事实,包括预先计算的
确定缓慢变化维
3、维度模型的设计方法?
4、模型设计的思路?业务需求驱动?数据驱动?
3、模型设计经验说明。

在概念模型设计、逻辑模型设计以及物理模型设计几个阶段主
要的工作是什么?
四、Cognos开发
1、Cube刷新方案?
2、报表数据权限控制方案?
3、Cube增量刷新方案?
五、Shell开发
1、在Unix/Linux中,查看磁盘空间可以用哪些命令?
2、在Unix/Linux中,压缩和解压缩文件可以用哪些命令?
3、sed命令的作用?
4、在Unix/Linux中,添加用户用什么命令?
5、在Unix/Linux中,查看文件行数什么命令?
六、数据仓库设计
1、增量数据获取方案?
2、请解释以下概念:数据集市、事实表、维度表、OLAP
3、元数据管理在数据仓库中的运用有何心得?
4、数据仓库系统的数据质量如何保证?方案?
5、数据仓库系统组件接口设计方案?
七、项目管理
八、其他
1、能否出差?
2、期望薪资待遇多少?
3、个人发展方向?。

相关文档
最新文档