首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
想找实习了
门头沟学院 大数据开发工程师
发布于广西
关注
已关注
取消关注
@三石大数据:
大数据开发面试重点【2023届秋招总结】
我本硕都是双非计算机专业,从研一下开始学习大数据开发的相关知识,从找实习到秋招,我投递过100+公司,拿到了10+的offer,包括滴滴、字节、蚂蚁、携程、蔚来、去哪儿等大厂。经过无数场的面试,不断总结,终于摸清了面试官到底喜欢问哪些问题。今天把自己总结的一些内容分享给大家,欢迎大家补充讨论!!!ps:这里仅提供了部分大数据开发面试的相关内容1. MapReduce的原理map阶段:首先通过InputFormat把输入目录下的文件进行逻辑切片,默认大小等于block大小,并且每一个切片由一个maptask来处理,同时将切片中的数据解析成<key,value>的键值对,k表示偏移量,v表示一行内容;紧接着调用Mapper类中的map方法。将每一行内容进行处理,解析为<k,v>的键值对,在wordCount案例中,k表示单词,v表示数字1 ;shuffle阶段:map端shuffle:将map后的<k,v>写入环形缓冲区【默认100m】,一半写元数据信息(key的起始位置,value的起始位置,value的长度,partition号),一半写<k,v>数据,等到达80%的时候,就要进行spill溢写操作,溢写之前需要对key按照分区进行快速排序【分区算法默认是HashPartitioner,分区号是根据key的hashcode对reduce task个数取模得到的。这时候有一个优化方法可选,combiner合并,就是预聚合的操作,将有相同Key 的Value 合并起来, 减少溢写到磁盘的数据量,只能用来累加、最大值使用,不能在求平均值的时候使用】;然后溢写到文件中,并且进行merge归并排序(多个溢写文件);reduce端shuffle:reduce会拉取copy同一分区的各个maptask的结果到内存中,如果放不下,就会溢写到磁盘上;然后对内存和磁盘上的数据进行merge归并排序(这样就可以满足将key相同的数据聚在一起);【Merge有3种形式,分别是内存到内存,内存到磁盘,磁盘到磁盘。默认情况下第一种形式不启用,第二种Merge方式一直在运行(spill阶段)直到结束,然后启用第三种磁盘到磁盘的Merge方式生成最终的文件。】reduce阶段:key相同的数据会调用一次reduce方法,每次调用产生一个键值对,最后将这些键值对写入到HDFS文件中。2.遇见过数据倾斜吗是什么?绝大部分任务都很快完成,只有一个或者少数几个任务执行的很慢甚至最终执行失败(通过spark ui可以看见,特别明显)为什么?一个任务通常来说分为map操作和reduce操作(shuffle归在reduce中了),如图所示,这里举了一个wordcount案例,便于辅助理解那么这两个部分就都有可能发生数据倾斜map端:比如交由每个map task处理的文件大小不一致reduce端:key值分布不均匀+shuffle(这两个条件缺一不可)我们也应该进一步思考,key值为什么会分布不均匀数据可能会存在大量的空值业务存在热点数据怎么办?知道了为什么之后,对症下药就可以了map端:在任务之前,我们手动让每个数据文件大小一致如果过滤空值不会对业务产生影响,那么我们应该过滤空值reduce端:我们不好直接对key下手,显然就是对shuffle进行下手了最好的手法:干掉shuffle开启map端join适用场景:大表join小表(虽然说小表的阈值可以自己设置,但是设置太大,那么就会占用过多的计算资源,显然是不合适的,通常最多设置在500m以下)万能手法:加盐为数据量特别大的key增加随机前缀或后缀,使得这些key分散到不同的task中;那么此时数据倾斜的key变了,如何join呢?于是可以将另外一份对应相同key的数据与随机前缀或者后缀作笛卡尔积,保证两个表可以join上(当然这是join的场景,对于group by计算也是一样的)3.sparksql有几种join方式包括 broadcast hash join,shuffle hash join,sort merge join,前两种都是基于hash join;broadcast 适合一张很小的表和一张大表进行join,shuffle适合一张较大的小表和一张大表进行join,sort适合两张较大的表进行join。先说一下hash join吧,这个算法主要分为三步,首先确定哪张表是build table和哪张表是probe table,这个是由spark决定的,通常情况下,小表会作为build table,大表会作为probe table;然后构建hash table,遍历build table中的数据,对于每一条数据,根据join的字段进行hash,存放到hashtable中;最后遍历probe table中的数据,使用同样的hash函数,在hashtable中寻找join字段相同的数据,如果匹配成功就join到一起。这就是hash join的过程broadcast hash join分为broadcast阶段和hash join阶段,broadcast阶段就是 将小表广播到所有的executor上,hash join阶段就是在每个executor上执行hash join,小表构建为hash table,大表作为probe tableshuffle hash join分为shuffle阶段和hash join阶段,shuffle阶段就是 对两张表分别按照join字段进行重分区,让相同key的数据进入同一个分区中;hash join阶段就是 对每个分区中的数据执行hash joinsort merge join分为shuffle阶段,sort阶段和merge阶段,shuffle阶段就是 将两张表按照join字段进行重分区,让相同key的数据进入同一个分区中;sort阶段就是 对每个分区内的数据进行排序;merge阶段就是 对排好序的分区表进行join,分别遍历两张表,key相同就join输出,如果不同,左边小,就继续遍历左边的表,反之,遍历右边的表4.HDFS的读写流程5.HDFS的架构6.小文件问题7.yarn的任务提交流程8.zab协议9.kafka的消息存储机制10.watermark机制的通俗解释11.如何保证精准一次性语义.........................................................................ps:大家在面试的过程中也需要多去总结被经常问到的问题,当再次被问到的时候,希望你的回答可以惊艳面试官!!!
点赞 41
评论 11
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
06-18 18:27
门头沟学院 机械工程师
小米实习算大厂吗?
收到了小米的实习offer,犹豫是否要去。。。
认真搞学习:
雷总还当过首富呢,公司不算大厂算独角兽吗
点赞
评论
收藏
分享
06-18 16:26
北京信息科技大学 材料工程师
大家暑假实习工资都是多少
如题,我现在是100/天,还有比我低的吗
牛客315903028号:
600
点赞
评论
收藏
分享
06-12 00:42
已编辑
北京月之暗面科技有限公司_Search & Rec_aigc工程师(实习员工)
逃课的学生技术靠谱吗?
如图✋️😇
水墨不写bug:
疑似没有上过大学
点赞
评论
收藏
分享
05-20 13:34
门头沟学院 嵌入式软件开发
秋招签了,hr时隔半年今天突然联系
秋招签了一个企业,对接签约的hr 突然联系,问问境况,这是什么情况有点慌
想润的芹菜人狠话不多:
一定要去旅游啊,千万别再投简历了
点赞
评论
收藏
分享
06-20 22:39
已编辑
腾讯音乐娱乐集团_QQ音乐_后台开发
双非本春招总结
投递及面试情况2月中旬离职实习,23号开始投递,主投后端,累计笔试场次20+,面试场次40+,面试情况如下:春招流程oc腾讯音乐滴滴OPPO三七互娱4399白日梦游戏流程终止腾讯-PCG-三面挂字节-集团信息系统-二面挂字节-飞书-一面挂字节-番茄小说-一面挂VIVO-一面挂SHEIN-无hc一面挂游卡-一面挂汇川科技-HR面挂库洛游戏-拒面360-拒面深信服-拒面一面挂战神,还有一些中小厂挂的就不一一枚举了实习&秋招历程现在牛客全是暑期实习,很感慨,去年的这个时候还在苦苦找实习(无实习经历),经常被没良心的广州小厂叫去线下面试(态度咄咄逼人,非要追问无关紧要的个人背景情况比如家人情况...
无面如何呢:
就算在球场上不断肘击也肘不出在泡池子的offer吗
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
27届 两进字节!!从计算机小白开始的打怪升级之路!!
1.6W
2
...
27 届前端鼠鼠拿下 3 家大厂 OC,拒 6 面的上岸攻略
9625
华为开奖进展
热聊中
3
...
字节即将LastDay以及大模型应用开发看法
7851
4
...
大家的简历放照片吗?
6763
5
...
临近暑期实习但技术简历还没写好?大厂学长教你怎么写
5753
6
...
请问, 腾讯云智是大厂吗?
4812
7
...
正在实习的你一定要知道的几件事
4206
8
...
和女朋友双双进入字节!
3952
9
...
史上最细SQL实战系列:基础知识篇
3208
10
...
拒了字节约面好爽
3208
创作者周榜
更多
正在热议
更多
#
你找实习最大的坎坷是什么
#
23983次浏览
300人参与
#
蔚来工作体验
#
17910次浏览
67人参与
#
实习最想跑路的瞬间
#
17640次浏览
135人参与
#
如果可以,你希望哪个公司来捞你
#
91249次浏览
382人参与
#
我的职场心眼子段位
#
16255次浏览
449人参与
#
机械/汽车制造公司爆料
#
40236次浏览
208人参与
#
比亚迪精密制造工作体验
#
19732次浏览
39人参与
#
比亚迪工作体验
#
58334次浏览
235人参与
#
机械制造公司评价
#
118025次浏览
302人参与
#
理想汽车工作体验
#
30535次浏览
274人参与
#
对妈妈没说出口的话
#
45026次浏览
761人参与
#
大疆今年的机械笔试难吗?
#
40973次浏览
452人参与
#
机械制造2023笔面经
#
118606次浏览
756人参与
#
春招别灰心,我们一人来一句鼓励
#
113050次浏览
1294人参与
#
秋招投简历越早越好吗
#
66437次浏览
630人参与
#
这些公司卡简历很严格
#
37941次浏览
190人参与
#
职业发展规划如何回答
#
37957次浏览
236人参与
#
我的求职精神状态
#
90499次浏览
1051人参与
#
市场营销人求职交流聚集地
#
120743次浏览
1089人参与
#
机械人,你被简历秒挂的企业有哪些?
#
41044次浏览
275人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务