目录
第一部分,自我介绍
第二部分,专业知识细问
第三部分,数据治理
第四部分,开发/代码能力
第五部分,个人性格测试
第一部分,自我介绍
通常面试官会让进行自我介绍,加项目经历介绍(大多数会按简历上的内容逐条细问)
回答的时候尽量根据STAR法则回答,Situation: 事情是在什么情况下发生,Target 你是如何明确你的目标的,Action: 针对这样的情况分析,你采用了什么行动方式,Result: 结果怎样。
常见问题:
1.某一个数仓开发项目举一个实际的案例详细讲解一下怎么设计的?
【方法论】从0到1建设数据中台流程_chimchim66的博客-CSDN博客_数据中台流程图
中间详细设计需结合某一业务线实际描述
2.过程中遇到了什么问题,怎么解决的?
3.你觉得自己在工作中哪些事情做的比较好,哪些比较欠缺?
4.个人的优缺点用几个词来形容一下
5.技术架构为什么这么选型?
6.建模选型及优缺点(建模方法为什么选维度建模?其他几种建模方式的优缺点?)
7.项目管理方法?(比如临时交给你一个项目,怎么立项、管理?)
第二部分,专业知识细问
1.什么是数据仓库?
2.数仓架构
3.维度建模实施步骤
数据仓库建设之总线矩阵/总线架构_chimchim66的博客-CSDN博客_总线架构 数据仓库
确定数据域 选定业务过程 确定数据粒度 确定一致性维度 确定一致性度量
4.星型雪花型区别
5.主题域划分方法
数据仓库建设之确定主题域_chimchim66的博客-CSDN博客_主题域
6.数仓分层详述
数仓分层设计_chimchim66的博客-CSDN博客
7.为什么要分层
数据仓库为什么要分层 ?_chimchim66的博客-CSDN博客
8.缓慢变化维及缓慢变化维处理方法
直接覆盖原值、新增维度列、新增维度行拉链
9.退化维
退化维就是没有对应维度表的维度,本质上它是存在于事实表中,并且相应的编码,号码字段没有与之对应的维度表,因为此类维度没有对应的上下文解释。订单号,发票号,机票号
10.事实表
事务事实表、周期快照事实表和累积快照事实表。 日志 月度账户余额 贷款申请审批流程
11.事实表中的度量分三种:
1.可加事实,2.半可加事实,3.不可加事实 商品的单价 库存数据 比率型数据
12.指标
原子指标= 业务动作 度量 | 某种状态 度量 |维度 度量 派生指标=原子指标_时间周期_业务限定_统计粒度 衍生指标=原子指标的表达式组合(比如除计算比率)
13.指标的价值 突出重点,不能罗列,有目标,贴合业务
14.如何衡量数仓的好坏
模型的复用性、完整度、规范性、核心与拓展模型分离
15.命名规范
16.ui设计规范 颜色 排版 不同分析场景使用不同组件
17.存储格式
sequencefile avro rcfile orc parquet
18.压缩格式
gzip snappy bzip2 lzo
19.分析模型 osm目标策略评估指标 ujm用户旅行地图 aarrr产品的生命周期 MECE模型 相互独立,完全穷尽 rfm 最近一次消费(Recency)、消费频率(Frequency)以及消费金额(Monetary)
第三部分,数据治理
(该部分有做过的话会问的细一点,可以翻看我的其他博文)
1.元数据管理
2.主数据管理
3.数据标准
4.数据安全
5.数据质量
6.数据资产化
标签化 价值化 可持续 可使用
7.数据治理的意义
数据资产化、业务数据化、数据业务化
第四部分,开发/代码能力
1.mapreduce执行原理
2.客户端向HDFS写入数据过程
3.客户端从HDFS读数据过程
4.数据倾斜
5.优化
6.hdfs数据块的默认大小是多少?过大过小有什么优缺点?(dfs.block.size)
Hadoop2.7.2以前是64m,Hadoop2.7.3之后是128m
过小会增加寻址时间并且会生成大量小文件占用NameNode中大量内存来存储元数据;
过大会增加磁盘传输时间,mapreduce中的map任务通常一次只处理一个块中的数据,如果块过大运行速度也会很慢。
HDFS块的大小设置主要取决于磁盘传输速率
7.HDFS中块(block)的大小为什么设置为128M?
HDFS中平均寻址时间大概为10ms;
经过前人的大量测试发现,寻址时间为传输时间的1%时,为最佳状态;
所以最佳传输时间为10ms/0.01=1000ms=1s
目前磁盘的传输速率普遍为100MB/s;
计算出最佳block大小:100MB/s x 1s = 100MB
所以我们设定block大小为128MB。
8.sql优化之避免全表扫描
避免查询条件使用like 、不等于操作符(<>、!=的select语句执行慢、含有is null的select语句执行慢、 count(*) 、or语句使用不当会引起全表扫描
9.开窗函数、排序函数 区别及原理
10.部分公司会有机试 考察sql算法等
第五部分,个人性格测试
1.性格测试笔试题
2.一些性格测试的问题
3.比较关键的点,会的东西从容回答,不会的直接承认不会,接触少的直接告知,我认为诚信还是比较重要的,充分让面试官了解自己的能力,安排匹配的工作,也避免了以后工作中无法胜任的尴尬