1.为什么用zookeeper
2.spark Shuffle机制?
3.sortShuffle与HashShuffle区别是什么?
4.spark中的RDD的Partition数是由什么决定的?
5.Direct和Receiver的区别在哪?
6.spark内存模型是怎样的?
7.checkpoint是怎么做的,或者说使用在什么地方?
8.数据仓库模型是怎样的?
9.简单介绍下flink任务提交流程
10.你们数据传输之间的接口大体是如何设计的?
11.scala和java有什么区别?
12.spark有什么可优化的点
13.spark集群是基于什么模式?
14.假如Executor内存是10个G,也配置了off-heap,这时候出现了oom问题,除了增大executor内存之外,还有没有其他的解决方法?
15.对于2T的数据,在spark-submit提交参数中,executor个数,内存和CPU的个数是怎么样的一个配置标准?
16.使用git时,之前的1.0版本正在运行,出现了bug,现在正在开发2.0版本,这个时候应该怎么做?
17.DataFrame与SQL比有什么优势?
18.A LeftJoin B A假如有100行,join之后结果有没有可能超过100行?
19.原始数据有用户,订单id,金额,要对这数据进行groupby,这个过程要执行多少个任务,及怎样的一个执行步骤
20.在spark任务提交的过程中task数是由什么来决定的
21.spark core中提供了哪些核心加载函数
22.mapPartition和map算子相比,具体优化了哪些点?
23使用Avg()对金额求平均,执行了多少个动作,怎么执行的?怎么提高求平均值的速度?
24.时间窗口函数如何做到这个时间的窗口值依赖上个时间的窗口值
25.flume配置需要关注哪些点?
26.flink中KeyBy做词分组,是怎样的一个模式
27.JVM调优
28.oom如何处理
29.jvm有哪几种配置模式,假如JVM配置了G1模式,会有年轻代吗
30.jstat查看进程命令
31.kafka0.8版本的offset存在哪里
32.在资源有限的情况下,一万维的矩阵乘以一万维的矩阵应该怎么处理?
spark和hive:
- join 实现有几种呢,源码有研究过吗? 底层是怎么实现的
- shuffle形式有几种?都做哪些优化
- 是通过什么管理shuffle中的内存,磁盘 的
- sql编译过程有了解吗?(关于这块,我之前也有总结过很多文章 Hive源码系列(五)编译模块之整体介绍 Hive源码系列(九)编译模块之语义解析 整体分析)
- 讲讲谓词下推?(从一个sql引发的hive谓词下推的全面复盘及源码分析(上) 从一个sql引发的hive谓词下推的全面复盘及源码分析(下))
- full outer join原理
- spark为什么比hive快
- 讲讲sparksql优化(记录一次spark sql的优化过程 spark sql多维分析优化——细节是魔鬼 spark sql多维分析优化——提高读取文件的并行度)
- 讲讲RDD, DAG, Stage
- 说说groupByKey, reduceByKey
- spark是怎么读取文件,分片的?
- 有没有遇到过spark读取文件,有一些task空跑的现象?
- 窗口函数中 几个rank函数有啥不同(spark、hive中窗口函数实现原理复盘 Hive sql窗口函数源码分析sparksql比hivesql优化的点(窗口函数))
- parquet文件和orc文件有啥不同
- mr shuffle 是什么样子?具体原理是什么?跟spark有什么不同?
- 讲讲hive sql优化
- hive 数据倾斜参数原理
- 讲讲spark内存模型?(从一个sql任务理解spark内存模型 )
今天整理时,突然发现,上面这些问题有大部分,我都总结过,公众号文章有写,公众号文章没有写的,我自己也有私下的笔记:
哈哈,这块就先写到这里吧,如果有问题需要讨论的可以私信我
1.2 项目相关,难点,仓库建模
关于项目这块,真的就很难说,因为不同的公司,项目也不一样,面对的问题也总不相同。 总体的原则就是一定要突出自己的亮点,先介绍项目大框架,再详细深入自己负责的模块。
关于仓库建模部分,不能只照搬照背理论,一定要结合实际案例说话。
项目
- 说说项目中你做的比较有价值的东西
- 你说你做过字段血缘,难点是什么?怎么实现?(这个问题,是因为我项目中写了做字段血缘:数仓字段血缘解析实现—hive版)
建模:
- 方法论,数据仓库怎么设计? (后来针对这样的问题总结了一篇:关于【你们数据仓库是怎么设计的】如何回答?)
- 讲讲三范式
- 拉链表,缓慢变化维
- 给你一个新业务,怎么开展?
- 数据治理
- 数据质量,口径一致
有关这里的一些点,后续,我也准备逐个总结成文章,一方面为大家后面要面试的同学提供思路,另一方面也能提高自己