个人遇到的大数据面试问题汇总
近期面试了一些公司,以下总结一些问的很多的和印象比较深的面试问题。(人比较懒
,没有每一面都总结,合在一起写个帖子,公司以互联网为主,包括字节阿里 滴滴 快手 等)
经常问的:
1、数仓建模系列(个人方向偏向 数据 开发,不偏向底层组件研发,所以数仓聊的很多)
数仓建模的特性;
具体分层,每层有什么特点;
范式建模和维度建模,有什么优缺点;
维度和粒度的区别;
维度建模的标准流程;
如何评判数仓的优劣(穿透率什么的);
数仓从哪一层开始会有一些跨域的建设;
数据 治理的常用方法;
怎么理解用户画像,需要注意什么;
还有一些场景题(给个业务场景,怎么建模,涉及什么维表,什么事实表,怎么分层,优势在哪,劣势在哪)等
2、shuffle
mr shuffle 和spark shuffle的共同点与不同点,需要说出详细流程;
mr shuffle在shuffle时会进行3次排序 ,可不可以不排序 , 排序/不排序 有什么优点,适合什么场景;
spark的宽窄依赖,划分stage;
spark具体有几种shuffle方式,分别有什么优缺点;
sql中哪些会发生shuffle(union/union all join 等);
3、 数据倾斜
什么是数据倾斜;
怎么定位一个任务发生了数据倾斜,发生在哪里,怎么能清晰的找到位置(看sparkUI解决一切);
直播日志关联主播大维表,会不会发生数据 倾斜,怎么解决;
数据倾斜的常用解决方式(shuffle IO倾斜,CPU计算倾斜);
手机写好难受啊,但电脑没电了,先写这么多,有人看的话就补一下其他印象深刻的,这次一定!