bi etl 数据仓库面试培训题
数据工程师面试题

数据工程师面试题一、问题描述数据工程师是当前热门职位之一,面试中经常会涉及与数据工程相关的问题。
以下是一系列常见的数据工程师面试题,希望能对大家有所帮助。
二、问题列表1. 数据仓库和数据湖有何区别?2. 请描述ETL过程。
3. 什么是事实表和维度表?4. 请解释一下数据架构中的横向扩展和纵向扩展。
5. Redis和MongoDB的主要区别是什么?6. 解释一下数据清洗和数据转换。
7. 请描述一下数据模型化的过程。
8. 什么是数据挖掘?它在数据工程中的作用是什么?9. 解释一下冷热数据分离以及其优势。
10. 什么是数据流水线?三、问题解答1. 数据仓库和数据湖有何区别?数据仓库是一种结构化的、面向主题的、集成的、相对稳定的数据集合,将企业中分散在各个系统中的数据整合为一个统一的数据源。
数据仓库使用固定的模式和模型,适用于对数据进行报表、分析和决策支持等工作。
而数据湖则是以原始、未经整理的形式,将数据以其原始形式存储在数据湖中。
数据湖的模式和模型可以随时根据需求进行变更和调整。
2. ETL过程的描述ETL是指将数据从不同的来源抽取(Extract)、转换(Transform)、加载(Load)到目标数据库或数据仓库的过程。
在这个过程中,数据会经过一系列的清洗、转换和整合,以确保数据的质量和一致性。
ETL过程通常涉及数据抽取、数据清洗、数据转换、数据加载四个步骤。
3. 事实表和维度表的定义和作用事实表是数据仓库中的核心表,包含了与业务过程中的事件或事实相关的度量指标。
它通常包含了与业务分析和报表生成相关的数据字段,如销售数量、订单金额等。
维度表则用于提供多维度的上下文信息,用于对事实表中的度量指标进行分析和解释,如时间维度、地理位置维度等。
4. 数据架构中的横向扩展和纵向扩展横向扩展通常是指通过增加更多的服务器节点来扩大系统的容量和吞吐量,以满足数据规模增长和负载增加的需求。
横向扩展可以通过增加服务器节点来分担负载,提高系统的可伸缩性和可用性。
BI工程师招聘面试题与参考回答

招聘BI工程师面试题与参考回答面试问答题(总共10个问题)第一题题目:请解释什么是商业智能(Business Intelligence, BI),并描述BI系统在企业决策中的作用。
此外,请简述一个实际场景,说明BI是如何帮助企业提高效率或解决问题的。
参考答案:商业智能(BI)定义:商业智能是一种综合性的概念,它涵盖了多种技术和应用,旨在帮助企业收集、集成、分析并呈现有用的业务信息,以便管理层做出更为明智的数据驱动型决策。
BI系统通常包括数据仓库、在线分析处理(OLAP)、数据挖掘、查询报表、仪表板等组件,它们共同为企业提供对内部运营和外部环境的深刻洞察。
BI系统在企业决策中的作用:1.数据整合与清洗:BI系统能够从不同的数据源中提取数据,并将其转换为统一格式,便于分析。
2.深入分析:利用高级分析技术如OLAP和数据挖掘,BI可以帮助发现隐藏在数据背后的模式、趋势以及关联性。
3.可视化展示: BI工具通过图表、仪表盘等形式将复杂的数据以直观的方式展现给决策者,使他们更容易理解关键指标的变化。
4.辅助决策:基于上述功能,BI系统可以支持企业制定短期战术调整和长期战略规划,从而提高竞争力。
实际应用场景示例:假设一家零售公司正在努力提高其库存周转率并减少滞销商品的数量。
通过建立BI系统,该公司能够实时监控各个门店的销售数据,并对其进行深入分析。
例如,通过数据挖掘技术发现某些产品在特定季节或时间段内的销售表现不佳。
基于这些分析结果,公司可以及时调整采购策略,减少此类产品的进货量,同时增加热销商品的库存,最终实现优化库存结构、提高资金使用效率的目的。
解析:此题考查了应聘者对于BI基本概念的理解及其对企业价值的认识。
一个好的答案不仅限于理论层面的阐述,还应该能够结合具体案例来展示BI的实际应用效果。
这有助于评估应聘者是否具备将理论知识转化为实践操作的能力,以及他们在面对实际问题时运用BI技术解决问题的潜力。
第二题题目描述:请您谈谈您对BI(商业智能)工程师这个角色的理解,以及您认为一个优秀的BI工程师应该具备哪些核心技能?参考回答:回答内容:我认为BI工程师是负责从数据中提取有价值信息、构建数据模型、设计报表和仪表板,以支持企业决策的专业人士。
数据仓库面试题

数据仓库及BI工程师面试题集锦前言1、介绍一下项目经验、项目中的角色。
一、数据库1、Oracle数据库,视图与表的区别?普通视图与物化视图的区别?物化视图的作用?i.视图与表的区别1.1、视图是已经编译好的sql语句。
而表不是2.视图没有实际的物理记录。
而表有。
3.表是内容,视图是窗口4.表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时四对它进行修改,但视图只能有创建的语句来修改ii.物化视图与视图区别1.物化视图和视图差别非常大,不是几句能说清物化视图是自动刷新或者手动刷新的,视图不用刷新物化视图也可以直接update,但是不影响base 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只是两个查询集的合并操作。
数据仓库常见面试问题

数据仓库常见⾯试问题
数据仓库主要⼯作就是模型设计;
1、数仓建模⽅法:范式建模、维度建模、Data Vault; 各⾃优缺点?
2、维度建模的三种⽅式:星型模式、雪花模式、星座模式
3、分层架构:ODS、DW(DW数据分层,由下到上为 DWD,DWB,DWS)、ADS
4、缓慢变化维与退化维;处理缓慢变化维的⽅式(拉链表,拉链表能实现保存历史快照,去除重复数据,节约空间)
5、维度建模过程?
6、事实表有哪些?各⾃含义?
事务型事实表(其中事务的含义?
⼀⾏数据。
⼀旦事务被提交,事实表数据被插⼊,数据就不再进⾏更改,其更新⽅式为增量
更新。
事实的含义?--术语表⽰的是业务事件的度量值(可统计次数、个数、件数、⾦额等))
周期型事实表
不会保留所有数据只保留固定时间间隔的数据,例如每天或者每
⽉的销售额,或每⽉的账户余额等。
稠密(例如当天没发⽣交易,也会记录数据)
累积型事实表
累计快照事实表⽤于跟踪业务事实的变化。
例如,数据仓库中可能需要累积或者存储订
单从下订单开始,到订单商品被打包、运输、和签收的各个业务阶段的时间点数据来跟踪订
单声明周期的进展情况。
当这个业务过程进⾏时,事实表的记录也要不断更新。
参考。
关于数据仓库工程师的一般面试题目

关于数据仓库工程师的一般面试题目相信会对即将投身于数据仓库事业中的同行们有点帮助!不过这只是针对初级数据仓库工程师的基本问题。
本题只代表自己对数据仓库的肤浅认识,不代表任何公司的面试题目。
对于高级数据仓库工程师的问题更侧重于各种工具的细枝末节。
对于数据仓库架构师的问题更侧重于数据仓库的架构和总体认识。
对于数据仓库项目经理的问题除了以上的问题外,就是一般项目管理的技能了吧。
关于数据仓库部分的面试问题!什么叫数据仓库?(相信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或者其他技术不同,没有什么绝对的答案,只要能表达和描述清楚自己的观点就行了感谢您的阅读,祝您生活愉快。
etl工程师面试题

etl工程师面试题ETL(Extract, Transform, Load)工程师面试题一、简介ETL(Extract, Transform, Load)是一种数据集成的过程,用于从多个数据源抽取数据、在中间层进行转换处理,然后加载到目标系统中。
ETL工程师负责设计、开发和维护ETL流程,确保数据的准确性、一致性和可靠性。
本文将介绍一些常见的ETL工程师面试题。
二、ETL工程师面试题1. 请解释一下ETL的概念和流程。
2. 数据抽取的常见方法有哪些?请描述它们的特点和适用场景。
3. 数据转换的常见操作有哪些?请举例说明。
4. 在ETL过程中,如何处理数据质量问题?5. 请介绍一下ETL工程师应该具备的技能和知识。
6. 你在以往的项目中遇到过哪些ETL相关的挑战?如何解决的?7. 请解释一下维度建模和事实表的概念。
8. 在ETL流程中,如何处理增量抽取和全量抽取的区别?9. 请介绍一下ETL工程师在性能优化方面的工作。
10. 在ETL开发中,你是如何保证数据的安全性和机密性的?三、ETL工程师面试题解答1. ETL的概念和流程ETL(Extract, Transform, Load)是一种数据集成的过程。
首先,从多个数据源中抽取数据,可以是关系型数据库、文件、Web服务等;然后,对抽取的数据进行清洗、转换、整合等处理,以满足目标系统的需求;最后,将经过处理的数据加载到目标系统中,如数据仓库、数据集市等。
2. 数据抽取的常见方法- 增量抽取:仅抽取最新变动的数据,减少重复抽取的数据量。
适用于数据量较大、抽取频率较高的情况。
- 全量抽取:每次都抽取全部数据,确保数据的完整性。
适用于数据量较小、抽取频率较低的情况。
- 增量抽取+回滚:先执行增量抽取,再进行回滚处理。
适用于增量抽取失败时需要保证数据的一致性。
3. 数据转换的常见操作- 字段映射:将源系统的字段映射到目标系统的字段,可以进行字段重命名、数据类型转换等。
BI常见面试问题总结
BI常见面试问题总结一、现在是否在项目上?1、刚出项目,目前在看机会;2、还在项目上,大概XX时间出项目。
二、你最快可以什么时候到位?1、如果前面回答不在项目上,就可说拿到OFFER后随时都可以;2、如果前面回答是在项目上,可回答项目结束后马上到位;3、也可以反问下这个项目最迟要求什么时候进?等他回答后,就说时间OK,没问题。
三、你的简历上的项目都是外部的吗?1、根据自己的简历回答。
要注意的是入行的逻辑。
这其实是考察你的真实性,最好简历上有一个符合逻辑的入行轨迹。
如:KEY USER—内部顾问—外部顾问。
四、你在项目上主要负责哪一块?1、BW建模、数据抽取、建一般数据源、建信息对象;2、BO报表、UNI创建;3、写些技术文档、业务蓝图、测试文档;4、参与业务需求调研、讨论业务方案、模型设计。
五、列举一些你做过的报表。
1、财务:资产负债表、增值税商品明细表。
2、业务:销售多维分析表、采购多维分析表、库存及逾期情况表、库龄情况分析表。
3、人资:人员异动分析表、入职统计表、离职统计表、离职原因分析统计表。
六、你最近的一个项目上有几个人?1、5个人:3个BW,1个BO,1个PM;2、7个人:3个BW,2个BO,1个ABAP,1个PM。
七、你项目上人员是怎样分工的?1、3个BW按FICO\MM\SD每人负责一个模块,2个BO一个主要做FICO的报表、一个主要做业务的报表,也就是MM\SD,PM 负责沟通、协调;2、总共60多张报表,我们三个BW顾问平均每人背20张左右,BO他们每人30张左右,有一些需要开发的ABAP做。
八、你英语怎么样?1、没问题;2、文档没问题,沟通会差一点。
九、你希望入职还是FREE?1、都可以。
优先考虑入职吧。
主要看他们优先考虑入职还是FREE。
十、你目前RATE多少?期望是多少?1、以2-3年为例:8K,期望10K。
其他待遇一般为:一天100补助,一月一到两次FLYBACK.十一、你的BASE地在哪?XX地可不可以?1、参考:BASE地无要求。
大数据etl工程师面试题
大数据etl工程师面试题1、磁盘RAID级别有几种,分别是哪几种?你了解或者使用过哪几种,请写出它们的大概描述和区别。
(10分)RAID级别存有以下几种:NRAID,JBOD,RAID0,RAID1,RAID0+1,RAID3,RAID5等。
目前经常采用的就是RAID0,RAID1,RAID3,RAID5和RAID(0+1)。
它们的区别大致如下:RAID 0 存取速度最快但没纠错RAID 1 完全容错但成本比较高,磁盘利用率为50%RAID 3 载入性能最出色但没多任务功能RAID 5 具备多任务及容错功能写入时有overheadRAID 0+1 速度快、全然纠错但成本高2、 TCP滑动窗口协议,窗口过大或过小有什么影响,举例(10分)滑动窗口:就是两台主机间传送数据时的缓冲区。
每台TCP/IP主机积极支持两个滑动窗口:一个用作接收数据,另一个用作发送数据。
窗口尺寸则表示计算机可能将缓冲器的数据量大小。
滑动窗口的大小对网络性能有很大的影响。
如果滑动窗口过小,则需要在网络上频繁的传输确认信息,占用了大量的网络带宽;如果滑动窗口过大,对于利用率较高,容易产生丢包现象的网络,则需要多次发送重复的数据,也同样耗费了网络带宽。
3、 Windows之下如何查阅挤占端口的进程(写下命令)(10分后)netstat -aon|findstr ""4、了解一下ACL和NAT?NAT存有几种方式?(10分后)ACL:1、访问控制列表(ACL)是应用在路由器接口的指令列表(规则),用来告诉路由器哪些数据包可以接收转发,哪些数据包需要拒绝;2、ACL的工作原理:读取第三层及第四层包头中的信息,根据预先定义好的规则对包进行过滤;3、使用ACL实现网络控制:实现访问控制列表的核心技术是包过滤;4、ACL的两种基本类型(标准访问控制列表;扩展访问控制列表)NAT:发生改变IP通辽并使目的地址,源地址或两个地址在通辽中被相同地址替代。
ETL面试题
Contents Contents (1)Data Warehousing questions (1)SQL questions (1)Unix questions (3)Informatica Questions (5)Multiple Choice & True/False Questions (5)Data Warehousing questions1. What is Data Warehousing?Why do we need it?2. What is ad hoc analysis?3. Describe OLAP and OLTP systemsOLAP vs. OTLP: list five main differences.4. What is a fact table in a dimensional model?What is a dimension table?5. Characterize STAR and SNOWFLAKE schemas.6. What is a Slow Changing Dimension?List all known types; describe implementation techniques.7. What is a lookup table?8. Why do we need Dimension Normalization?9. List and describe storage models supporting multidimensional analysis (list pros and cons for each).10. What is ETL?11. What is a Data Mart?12. Describe Slice and Dice techniques.13. What is the main difference between Kimball’s and Inmon’s approaches?14. What is a data mining?List and describe data mining tasks.SQL questions1. What does the abbreviation SQL stand for?2. How would you list all the records in a table?3. What is SQL92?For the next part, let's define the following entities and relationships:entity CUSTOMERattributes: CUSTOMER_ID, CUSTOMER_NAMEentity ACCOUNTattributes: ACCOUNT_NO, CUSTOMER_ID, BALANCEentity EMPLOYEEattributes: EMPLOYEE _ID, EMPLOYEE_NAME, REPORTS_TOentity PROJECTattributes: PROJ_ID, PROJ_NAME, PROJ_LOCATION_ID, PROJ_CITYThe following business rules must apply:The field REPORTS_TO is null for exactly one employee, otherwise it is one of the numbers found in column EMPLOYEE_IDEach employee can work on several projectsEach project can have multiple locationsPROJ_CITY can be derived from PROJ_LOCATION_ID4. Draw/design tables for above business cases in accordance with 3-rd Normal Form (you can defer the data types)5. What is ER model?6. What is normalization?List all known normal forms.7. Describe 3-rd normal form8. How would you update a single customer's name in a customer table?Make up a simple scenario and write the query.9. What is a primary key?List all PKs in the tables you have designed.10. What is a foreign key?List all FKs in the tables you have designed.11. What is a relation?12.What is a relationship?What is referential integrity?13. What is a join?Name all types of joins.14. What is a rollback?15. What is a transaction log?16.What operation (SELECT, INSERT, UPDATE, DELETE) has the highest impact on transaction log?17. What is an index?How is it created?What is its purpose?How much space does it require?When and how is it used?List and explain some of the physical index types.For the next part, write down SQL queries. Assume that all necessary referential and domain integrity controls + take place.18. Find out how many customers we have.19. Set up an initial account for a new customer with balance $100.20. List all duplicate customer names (occurring more than once), including frequency of occurrence.21.List all customers (by names) that have more than $1000 in total combined on all their accounts.22. Find out how many customers have more than 2 accounts.23. Report a simple statistics: number of customers having exactly 1 accounts, 2 accounts, etc. (in onequery).24. Delete a customer and all his/her accounts.25. List all subordinates to the employee with ID=123 on level 1 (i.e. employees that directly report to123).26. List all subordinates to the employee with ID=123 on level 2 (i.e. those that report to someonereporting to 123).For the next part, the queries are more complex and tricky. Feel free to attach some comments if necessary.27. List ALL subordinates to the employee with ID=123 (i.e. anyone under 123).28. Find out the maximum subordinate level (i.e. the depth of the employee tree).Unix questions1. How do you list contents of a directory?2. How do you display contents of a file?How to display first 10 lines?How to display last 200 characters of a file?3. How do you check for running processes?4. How do you kill a process?5. How do you check who's logged in?6. How do you get help on a UNIX terminal?7. Give examples of remote access to a machine.8. What is the shell?Describe purpose of the shell (name 5 shells)9. What is the kernel?10. How to compare two text files if they are identical?11. What is mounting means?Describe the command.12. What is permission of a file?How to change the permission and ownership of a file?13. What ‘.’ (dot) before file name means (.filename)?What will happen if you type “.” (dot) before file name in command prompt (. <space> filename2 <enter>)?14. How do you list contents of a directory including all of its subdirectories, providing full details and sorted by modification time?15. How do you create a symbolic link to a file (give some reasons of doing so)?16. What is a file system? How do you get its usage?17. How do you check the sizes of all users' home directories (one command)?18. How do you check for processes started by user "pat"?19. How do you start a job on background?How to send job to background?How to bring current job to the foreground?How to suspend the foreground job?20. What utility would you use to replace a string "2001" for "2002" in a text file?21. What is a signal?Give some examples.22. How to display statistics about memory usage?23. How do you list contents of a directory and all of its subdirectories, providing full details, but only regular files that haven't been accessed in the last 2 days?24. How do you delete all files older than I year from a directory?25. What is a named pipe? How to create and use one?26. What is an I-node?How many I-nodes are there per file if the file is 1 KB is size, or 1 MB is size?27. What utility would you use to swap columns 1 and 2 in a text file?28. What utility would you use to cut off the first column in a text file?Informatica QuestionsMultiple Choice & True/False Questions1. Which one of the following is not an active transformation:(a)Aggregator(b)Router(c)Filter(d)Expression2.If you click on “Group by” for all ports in the Aggregator transformation, how manyrows would be output?(a) One row(b) All rows(c) No rows3.You can edit data dynamically while in the Debugger.(a) True(b) False4.Which one of the following hierarchies is correct:(a) Worklet, Task, Workflow(b) Task, Worklet, Workflow(c) Workflow, Task, Worklet5.Select the correct order of port processing in an expression transformation:(a) input, output, variable(b) input, variable, output(c) variable, input, output6.If in_lookup_key = 10, what result will the following expression produce?IIF(ISNULL(in_lookup_key), ‘Key not found’,IIF(in_lookup_key >= 1 and in_lookup_key <=5, ‘Low score’,IIF(DECODE(in_lookup_key, 10, 1, 0), ‘Maximum Score’), ‘High Score’)))(a) ‘Maximum Score’(b) ‘High Score’(c) ‘Key not found’(d) ‘Low Score’7.The ports listed in a lookup transformation must match the ports in the lookup tableexactly, or the lookup transformation will fail.(a) True(b) False8.The error message “Failed to expand session parameter variables” means:(a) Variables were not defined within the mapping(b) Parameters were not defined within the mapping(c) Parameters were not defined within the parameter file(d) The parameter file was not defined within the session, batch or workflow9.Which one of these commands is not valid in the update strategy transformation:(a) DD_INSERT(b) DD_UPDATE(c) DD_REJECT(d) DD_DELETE(e) all of the above are valid10.Which one of the following error tracing levels produces the largest session logs:(a) Verbose Init(b) Verbose Data(c) Terse11.Sessions can be run from a UNIX shell script:(a) True(b) FalseShort Answer Questions12.What is the difference between a parameter and a variable?13.Describe the difference between active and passive transformations.14.Describe how you would determine all of the mappings that use a particular target in afolder.。
bi 面试题
bi 面试题BI面试题现如今,随着信息技术的快速发展和大数据的普及应用,数据分析和商业智能(Business Intelligence,简称BI)的重要性愈发凸显。
越来越多的企业开始重视BI专业人才的招聘,因此BI面试题也备受关注。
本文将针对BI面试题进行探讨,旨在帮助应聘者更好地应对面试。
一、基础知识篇在BI面试中,基础知识的掌握是最为重要的部分。
下面将介绍一些常见的BI基础知识问题。
1. 什么是BI?BI是指通过对企业内部和外部的数据进行收集、清洗、加工、分析和展现,帮助企业决策者更好地了解业务状态、市场趋势和客户需求的一门技术和方法。
2. BI的主要应用领域有哪些?BI可以应用于各个领域,比如销售分析、市场营销、客户关系管理、供应链管理等。
3. 数据仓库与数据集市有什么区别?数据仓库是指将不同系统的数据进行整合存储,用于支持复杂的分析和决策。
而数据集市是数据仓库的子集,主要服务于特定的业务需求。
4. OLAP和OLTP的区别是什么?OLAP(在线分析处理)是一种面向决策分析的技术,目的是通过多维数据分析实现对数据的多角度、多维度的查询和分析。
OLTP(在线事务处理)是指对事务性数据进行高效处理和管理的技术。
二、技术工具篇除了基础知识,BI面试中还常会涉及到一些技术工具的应用和操作。
下面将介绍一些常见的BI技术工具问题。
1. 你熟悉哪些BI工具?回答时可以根据自己的实际经验罗列一些常见的BI工具,比如Tableau、Power BI、Cognos等,并介绍自己在这些工具的应用经验和项目经验。
2. Tableau和Power BI有什么区别?Tableau和Power BI都是常见的数据可视化工具,但Tableau在可视化和交互性方面表现出色,适用于复杂的数据分析需求;而PowerBI则更注重与Microsoft产品的整合和易用性。
3. 如何进行数据清洗?数据清洗是BI过程中非常关键的一步。
可以介绍常用的数据清洗技术,比如去重、填充缺失值、异常值处理等,并结合具体场景进行说明。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面试培训题
1.BI(business intelligence)模型有哪些?
答:星星模型和雪花模型,
雪花模型一般不用,星星模型就是一个事实表和多个维表相关联。
2.维度建模的数据仓库中,有一个概念叫Slowly Changing Dimensions,中文一般翻译成“缓慢变化维”,经常被简写为SCD。
缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流失发生缓慢的变化。
这种随时间发生变化的维度我们一般称之为缓慢变化维,并且把处理维度表的历史变化信息的问题称为处理缓慢变化维的问题,有时也简称为处理SCD的问题。
例如:员工维表,这个员工在某段时间在这个部门,然后过段时间换了部门换了工作地,需要多行数据来记录这种变化,人员的属性是变化的,就叫缓慢变化维。
3oracle的存储单位是什么?结构是什么样的?有什么组成?
物理存储结构:多种物理文件,如数据文件,日志文件,参数文件,控制文件
逻辑存储结构:表空间,段,区,数据块组成
4工作中用到哪些ETL软件?
E-extract 抽取T-transform 转换L-load 加载
IBM公司的datastage(DS)
5实例=内存+进程
Instance:SGA,PGA
SGA:shared pool(library cache,dictionary data cache ),database buffer cache ,redo log buffer, BWN:数据文件CKPT:控制文件LGWR:在线日志
六.对SQL优化的认识?
QL三段分拆法,SQL可以分为3段
1.SELECT 部分,重点关注SELECT 部分有没有标量子查询,有没有自定义函数
2.FROM 后面,重点关注有没有内联视图,有没有视图套视图,看有没有进行视图合并、谓词推入
3.WHERE 条件部分,看有没有IN,NOT IN,EXISTS,NOT EXISTS 子查询,将in/exist都改成WITH AS 最好有没有外连接,有没有在列上面有函数导致不能走索引,减少表关联,看表设计是1:1还是1:N的关系
4看统计信息是否过期,过期的进行收集
5关注大表,大表才有新问题,是否是小表当驱动表,大表当被驱动表
6看执行计划是hash还是nl(嵌套循环)用hint来改变执行计划
(nl和hash就是两种执行计划,就是说你选择的是哪种路径,坐公交还是地铁,让sql跑的块,到达目的地。
sql查出来的数据是不会变的,对应目的地是不会变的。
公交方式有多种,对应执行计划有多种)
七.通常在一个组织中,DW项目组和BI项目组是分开的两个项目组。
其中DW项目组,即数据仓库项目组,主要负责后台数据仓库的建模、数据的整合等功能的实现;而BI项目组,即商业智能项目组,主要负责前台数据展现、报表、OLAP及数据挖掘等功能的实现。
八.OLTP和OlAP
九.优化器有两种,rbo和cbo,rbo是基于规则的优化器(rule),cbo是基于成本的优化器(cost),现在都是cbo,rbo已经淘汰不用了
十.在数据仓库的建模中,代理键通常是建立在维度表中的。
那么在事实表中如何呢?在建立逻辑模型时,事实表中显然是没必要建立代理键的,但是到了物理模型,在某些特定的情况下是可以考虑建立代理键。
代理键+普通列
十一.RPD模型(BI分层模型)
1物理层:从多个数据源里取数据。
集成元数据
2逻辑层:维表-维度-粒度,表别名-列别名
3展示层:用合适,美观的图表展示出来
十二.增删改查:insert/delete/update/select
十三.常用关系型数据库
小型:access
中型:SQL SEVER MYSQL
大型:oracle db2。