![923215eacf1023dc6bdc51776c2bd0cb.png](https://img-blog.csdnimg.cn/img_convert/923215eacf1023dc6bdc51776c2bd0cb.png)
1)技术部分
(1)HDFS架构理解(基础)
(2)HDFS源码/工作原理(高级)
(3)MapReduce架构理解(基础)
(4)MapReduce源码/工作原理/Shuffle原理(高级)
(5)MapReduce二次排序(编程,必选)
(6)YARN架构理解(基础)
(7)YARN源码/工作原理(高级)
(8)HBase架构理解(基础)
(9)HBase源码/工作原理(高级)
(10)HBase性能优化(高级)
(11)Hive原理理解(基础)
(12)Hive性能优化(高级)
(13)Flume架构理解(可选)
(14)Kafka架构理解(可选)
(15)Spark RDD理解(基础)
(16)Spark reduceByKey与groupByKey区别(基础)
(17)Spark Broadcast与Accumulator功能(基础)
(18)Spark工作原理(高级)
(19)Spark Shuffle原理(高级)
(20)Spark源码理解/贡献(高级)
(21)Spark性能优化/数据倾斜(高级)
2)项目部分
2.1)数仓理论
(1)数据仓库分层架构(初级)
(2)事实表与维度表(初级)
(3)星型模型与雪花模型 (初级)
(4)日增量表与日全量表 (初级)
(5)拉链表 (初级)
(6)缓慢变化为 (初级)
(7)两种建模理论(初级)
(8)data-vault理论(高级)
2.2)数仓周边系统
(1)血缘关系
(2)调度系统
(3)展示,olap(kylin)
(4)指标管理
(5)数据质量管理 (高级)
(6)元数据管理,调度系统元数据,任务运行数据,表存储数据,数据字典等
3)手写SQL部分
(1)点:窗口函数,行列转换,聚合函数
加一点复杂的:collect_set,split,case when,聚合函数,union等
(2)函数考察
eg: rank, dense_rank, row_number区别 (基础)
行列转换 (基础)
sort by,distribute by,order by,clustered by区别
(3)3个表关联,写下大概的mr过程 (中级)
(4)去重,2个写法的区别:
select count(distinct id) from t1;
select count(1) from ( select id from t1 group by id) a (高级)
(5)map join 原理 (基础)
(6)bloom filter去重,原理(高级)
(7)hive tunning
4)场景部分
(1)Job,Reduce长时间百分之99;
(2)Reduce的3个阶段,Reduce百分之90+,又降下去,反复几次
(3)Map一直百分之90多,之后报错
学长1
上海科锐国际外派美团点评
1)面试前HR给的重点
(1)SQL要强;
(2)分层是否有参与;
(3)熟悉哪些框架;
(4)项目的数据量有多少;
(5)调度工具用到哪些;
(6)数据源在哪里;
(7)数据可视化怎么做;
(8)跟Java怎么对接;
(9)面试官还会现场出一些题目,现场做
2)一面:
(1)问Spark,Flink优劣势,
(2)Flink如何处理乱序数据,
(3)Flink内存溢出怎么办,
(4)Flink有没有试过优化,
(5)Flink精准一次消费,
(6)建模理论,用过什么模型,雪花和星型的分别解决什么问题。
(7)用过什么工具进行数据迁移,导入导出。
(8)数仓大体干了什么,自己做了哪些指标,
(9)SQL题:用Hive解析Json字符串 或者 七天连续登陆用户
3)二面:
基本情况:去了是帮美团点评做和银行对接的数据仓库,数据量大,面试是完全和美团点评面试,签合同是和科瑞国际签约。