首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
今夜睡火星
门头沟学院 大数据开发工程师
发布于北京
关注
已关注
取消关注
@三石大数据:
快手大数据开发高频面试题及答案【海量hc】
推荐阅读文章列表:大数据开发面试笔记V4.0 || 面试聊数仓第一季 || 小白大数据学习路线 一、前言快手海量hc!!!快手海量hc!!!快手海量hc!!!一点不夸张,业务发展迅猛,大量招人二、高频面试题总结1. 当数据量很大的时候,count(distinct uid)计算失败怎么办两种解决方案:采用group by将uid转换为bitmap存储,然后再求总数,不仅计算优化,对存储也优化(***)2. ClickHouse为什么快数据是基于列式存储的,这样对于列的聚合统计更加有优势多样化的表引擎,可以根据不同的需求选取不同的表引擎,比如replacingmergetree,summingmergetree3. 小文件过多对Namenode有什么影响存储大量的小文件,会占用namenode大量的内存来存储元数据信息4. Hadoop和Hive的关系hive就是MapReduce的一个客户端工具5. Zookeeper在HBase的作用是什么zookeeper主要是用来保证master的高可用6. Flink checkpointflink应用在启动的时候,flink的JobManager创建CheckpointCoordinatorCheckpointCoordinator(检查点协调器) 周期性的向该流应用的所有source算子发送 barrier(屏障)。当某个source算子收到一个barrier时,便暂停数据处理过程,然后将自己的当前状态制作成快照,并保存到指定的持久化存储(hdfs)中,最后向CheckpointCoordinator报告自己快照制作情况,同时向自身所有下游算子广播该barrier,恢复数据处理下游算子收到barrier之后,会暂停自己的数据处理过程,然后将自身的相关状态制作成快照,并保存到指定的持久化存储中,最后向CheckpointCoordinator报告自身快照情况,同时向自身所有下游算子广播该barrier,恢复数据处理。每个算子按照 上面这个操作 不断制作快照并向下游广播,直到最后barrier传递到sink算子,快照制作完成。当CheckpointCoordinator收到所有算子的报告之后,认为该周期的快照制作成功; 否则,如果在规定的时间内没有收到所有算子的报告,则认为本周期快照制作失败。7. Flink watermark我先说一下watermark是什么,它就是一种特殊的时间戳,作用就是为了让事件时间慢一点,等迟到的数据都到了,才触发窗口计算。我举个例子说一下为什么会出现watermark?比如现在开了一个5秒的窗口,但是2秒的数据在5秒数据之后到来,那么5秒的数据来了,是否要关闭窗口呢?可想而知,关了的话,2秒的数据就丢失了,如果不关的话,我们应该等多久呢?所以需要有一个机制来保证一个特定的时间后,关闭窗口,这个机制就是watermark8. HDFS读写流程写流程:hadoop fs -put a.txt /user/sl/首先客户端会向namenode进行请求,然后namenode会检查该文件是否已经存在,如果不存在,就会允许客户端上传文件;客户端再次向namenode请求第一个block上传到哪几个datanode节点上,假设namenode返回了三个datanode节点;那么客户端就会向datanode1请求上传数据,然后datanode1会继续调用datanode2,datanode2会继续调用datanode3,那么这个通信管道就建立起来了,紧接着dn3,dn2,dn1逐级应答客户端;然后客户端就会向datanode1上传第一个block,以packet为单位(默认64k),datanode1收到后就会传给datanode2,dn2传给dn3当第一个block传输完成之后,客户端再次请求namenode上传第二个block。【写的时候,是串行的写入 数据块】9. Spark和MR的区别MapReduce需要将计算的中间结果写入磁盘,然后还要读取磁盘,从而导致了;而Spark不需要将计算的中间结果写入磁盘,这得益于Spark的RDD弹性分布式数据集和DAG有向无环图,中间结果能够以RDD的形式存放在内存中,这样大大减少了磁盘IO。(假设有多个转换操作,那么spark是不需要将第一个job的结果写入磁盘,然后再读入磁盘进行第二个job的,它是直接将结果缓存在内存中)MapReduce在shuffle时需要花费大量时间排序,而spark在shuffle时如果选择基于hash的计算引擎,是不需要排序的,这样就会节省大量时间。MapReduce是多进程模型,每个task会运行在一个独立的JVM进程中,每次启动都需要重新申请资源,消耗了大量的时间;而Spark是多线程模型,每个executor会单独运行在一个JVM进程中,每个task则是运行在executor中的一个线程。10. MR shuffle的原理map端shuffle:将map后的<k,v>写入环形缓冲区【默认100m】,一半写元数据信息(key的起始位置,value的起始位置,value的长度,partition号),一半写<k,v>数据,等到达80%的时候,就要进行spill溢写操作,溢写之前需要对key按照【分区算法默认是,分区号是根据key的hashcode对reduce task个数取模得到的。这时候有一个优化方法可选,combiner合并,就是预聚合的操作,将有相同Key 的Value 合并起来, 减少溢写到磁盘的数据量,只能用来累加、最大值使用,不能在求平均值的时候使用】;然后到文件中,并且进行(多个溢写文件);reduce端shuffle:reduce会同一分区的各个maptask的结果到内存中,如果放不下,就会溢写到磁盘上;然后对内存和磁盘上的数据进行(这样就可以满足将key相同的数据聚在一起); 【Merge有3种形式,分别是内存到内存,内存到磁盘,磁盘到磁盘。默认情况下第一种形式不启用,第二种Merge方式一直在运行(spill阶段)直到结束,然后启用第三种磁盘到磁盘的Merge方式生成最终的文件。】11. HQL转换为MR的过程首先客户端提交SQL以后,Hive利用Antlr框架对HQL完成词法语法解析,将HQL转换成抽象语法树然后遍历AST,将其转换成queryblock ,可以理解为最小的查询执行单元,比如where然后遍历查询块,将其转换为操作树,也就是逻辑执行计划然后使用优化器对操作树进行逻辑优化,源码中会遍历所有的优化方式,比如mapjoin,谓词下推等,来达到减少MapReduce Job,减少shuffle数据量的目的最后通过执行器将逻辑执行计划转换为物理执行计划(MR到这就结束了)(Tez和Spark还需要 使用物理优化器对任务树进行物理优化),提交到hadoop集群运行12. 数据仓库分层的好处第一个是将复杂的需求简单化;我们通过将复杂的问题分解为多个步骤来完成,每一层只处理单一的步骤,比较容易和理解第二个是提高数据的复用性;比如在已经得到最终结果之后,又需要中间层的一些数据,我可以直接查询中间层的数据,不必重新进行计算补充说一下:我觉得数据仓库就是一种以空间换取时间的架构!
点赞 12
评论 1
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
04-24 16:56
已编辑
河南理工大学 Unity3D客户端
还有重量级!!!炎魂网络游戏开发线下三面挂!!!线下挂人!真别来游戏行业
都2025年了,还有公司线下面试,但给报销车费,但是挂你时间线:3月19投递,4月9日一面,4月14二面,4月22日线下三面,线下!!!笔试: AK,基本是leetcode mid 没啥要说的一面:出题,5分钟手写二分模板,口嗨算法:如何判断二维平面上的一个点,在给定的范围有多少其余点,具体算法扫描线,极角序,最后又写了个上楼梯简单dp,面试官还说我很优秀二面:按简历上的逐行问,acm,算法,实习,项目,毕业论文是个渲染三面:说要线下面试,我以为是能开香槟了,但是是哥布林的幻想,从学校到杭州,高铁要9个小时,最快的车要从郑州做也要5个小时还只有一班,给报销就还好,但是一去一回肯定要两天了,不如...
点赞
评论
收藏
分享
04-25 16:34
University of California San Diego 算法工程师
求批评,为啥日常实习都找不到。。。
想找算法岗位的日常实习,连个面试都拿不到,是我四月开始投太晚了还是说没有论文没啥竞争力?😭😭😭
靖程Edward:
项目有点浅了,包装一下,不能让面试官一眼看懂
我的简历长这样
点赞
评论
收藏
分享
03-18 22:33
携程旅游网络技术(上海)有限公司_大住宿部门_BDS(实习员工)
在南大骑车看见佑利了
春招真的头皮发麻,今天真幸运
沙福林:
基本幸运
点赞
评论
收藏
分享
03-05 15:23
长沙理工大学 数据分析师
求指点
这种简历能去哪里啊???
purcoter:
虚拟货币预测正确率百分之99,还要找工作干嘛,不早就财富自由了
点赞
评论
收藏
分享
04-29 15:29
吉林大学珠海学院 营销
上班真的把我毁了
上学的时候我还能写出800字作文,轻松写出长文,甚至手搓完了毕业论文内容现在看见两行字就忍不住想复制,不能复制的想尽办法复制和朋友聊天的时候能用表情替代的就不想额外打字了网购好评返现的时候我只会复制粘贴(差评例外)怎么变这样了
真烦好烦真烦:
牛友厉害,手搓毕业论文我做不到
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
暑期后端高频问题汇总
7.4W
2
...
左手敲代码的程序员,不配拥有offer吗?
6.6W
3
...
想听实话吗,校招ssp聊聊大厂客户端
3.7W
4
...
北京到底有谁在啊?
8853
5
...
五一假期,弯道超车时间表
8819
6
...
后端简历上最值得写的项目
8664
7
...
美团/饿了么/京东 配送端面经
6313
8
...
五一别写你那破开源代码了
6265
9
...
五一准备刷完这些面试八股题!!
5859
10
...
拼多多服务端信息确认
5346
创作者周榜
更多
正在热议
更多
#
设计人如何选offer
#
97956次浏览
680人参与
#
找工作,行业重要还是岗位重要?
#
7049次浏览
88人参与
#
五一之后,实习真的很难找吗?
#
44748次浏览
314人参与
#
盲审过后你想做什么?
#
12393次浏览
110人参与
#
外包能不能当跳板?
#
22065次浏览
191人参与
#
领导秒批的请假话术
#
9727次浏览
74人参与
#
考研可以缓解求职焦虑吗
#
20657次浏览
244人参与
#
五一假期,你打算“躺”还是“卷”?
#
27110次浏览
409人参与
#
面试等了一周没回复,还有戏吗
#
115319次浏览
1072人参与
#
找工作前vs找工作后的心路变化
#
7141次浏览
64人参与
#
牛友们的论文几号送审
#
27169次浏览
623人参与
#
你喜欢工作还是上学
#
37406次浏览
409人参与
#
应届生薪资多少才合理?
#
3061次浏览
24人参与
#
写简历别走弯路
#
714196次浏览
7850人参与
#
如果有时光机,你最想去到哪个年纪?
#
43230次浏览
766人参与
#
如何缓解入职前的焦虑
#
171791次浏览
1267人参与
#
每人推荐一个小而美的高薪公司
#
72826次浏览
1357人参与
#
硬件人,你被哪些公司给挂了
#
46527次浏览
720人参与
#
如果不工作真的会快乐吗
#
101029次浏览
866人参与
#
大疆的机械笔试比去年难吗
#
69573次浏览
602人参与
牛客网
牛客企业服务