首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
01-19 12:28
众安集团_测试开发工程师(准入职员工)
小天才内推,小天才内推码
小天才26秋招分享(三面凉经)tl:9.13投递-10.10自主约面-10.10一面-10.11上传作品集-10.14二面-10.16三面(交叉面) 一面:线上邮件通知选择具体面试时间段(大约20mins)面试官问题1. 请先做一个自我介绍(1分钟左右)。2. 简历项目追问3. 在校期间有获得哪些奖学金吗?4. 有挂过科吗?5. 学得最好的课程是哪些?6. 分享一个人力资源领域中你觉得很重要的知识点。7. 根据以上追问若干问题8. 结合实习经历,招聘的具体成果是你直接负责的社招岗位吗?9. 你的导师对你的工作评价是什么样的?10.追问11.综合实习经历,你目前更适合做人力哪个方向的工作?12....
点赞
评论
收藏
分享
昨天 13:57
vivo_数据算法工程师(准入职员工)
正浩创新内推,正浩创新内推码
26届女硬件工程师丨正浩创新面经及流程9.1一面1.自我介绍2.有无相关电源设计项目或经历,并浅谈3.DCDC拓扑手撕(但是我当时没带纸笔所以口头描述),BUCK和BOOST,同步异步的区别和优缺点,同步电路的控制方式(施加什么PWM波形,如何控制MOS通断)4.项目中最有挑战性的部分,怎么解决的,然后会深挖这一部分再提问(这个问题出现的根本原因,下次如何避免)5.面试官说我专业其实不是很对口,不是电气工程专业,所以问的比较浅,大家仅供参考9.2收到笔试链接,非笔试,为性格测试9.5收到二面短信9.8 二面,没有技术问题,主要问了在校做过什么项目,调试遇到什么问题,除此之外有没有做过电源相关项...
点赞
评论
收藏
分享
01-11 16:25
西南科技大学 质量工程师
各位帮我看看,求带走
点赞
评论
收藏
分享
01-16 10:09
首都经济贸易大学 管理咨询
携程渡劫
日前,包括我在内的很多人都被携程突如其来的反垄断立案震惊了。意料之外的是,这件事事先几乎没有任何征兆;意料之内的是,携程在在线旅游的市场地位确实已经具备了支配地位。一则简短的官方通报,让这家在线旅游领域的龙头企业瞬间成为舆论焦点。对于这件事,个人认为我们不应盲目的唏嘘平台倒下,也不应盲目的拍手叫好,而是应该客观地透过现象,去探究这背后真正的商业逻辑。这是一把双刃剑:市场支配地位的形成与争议对于携程目前所面临的指控问题,并非因为携程做得不够好。恰恰相反,就是因为携程做得太成功了。这第一点,咱们必须要客观承认一个事实:那就是今天携程的市场支配地位很大程度上是市场充分竞争后的选择,这种结果是一种市场...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
备战春招,网申一键填写工具,发布了!!!
3.2W
2
...
32岁程序员猝死,底薪3千要24h待岗
5280
3
...
【官方活动】牛客新春计划:给陌生人的一封信
5123
4
...
实习产出如何包装?
4967
5
...
27双非非科班4段实习从字节tt到腾讯wxg
4704
6
...
我爸对计算机行业的看法,是否准确?
4165
7
...
专科工作一年后的心里话
3389
8
...
字节校招landing实感
3303
9
...
第一次被同事气笑了
3121
10
...
字节实习规划求助
2928
创作者周榜
更多
正在热议
更多
#
哪些公司开春招了?
#
7353次浏览
108人参与
#
运营人的第一份offer应该如何选
#
213499次浏览
1252人参与
#
上班以后,你还有哪些坚持的爱好?
#
5819次浏览
164人参与
#
工作压力大怎么缓解
#
136548次浏览
1222人参与
#
你都在哪些场所面过试?
#
16056次浏览
205人参与
#
AI coding的好用工具分享
#
14304次浏览
310人参与
#
找工作以来,你最看不惯__
#
9817次浏览
238人参与
#
实习怎么做才有更好的产出
#
9596次浏览
190人参与
#
你最近因为什么迷茫?
#
29365次浏览
439人参与
#
实习生工资多少才算正常?
#
10433次浏览
183人参与
#
实习教会我的事
#
51101次浏览
399人参与
#
非技术2024笔面经
#
458507次浏览
4930人参与
#
你给AI提过哪些离谱的需求?
#
4855次浏览
152人参与
#
找工作,行业重要还是岗位重要?
#
94118次浏览
1832人参与
#
职场破防瞬间
#
359050次浏览
2835人参与
#
你想跟着什么样领导?
#
47125次浏览
235人参与
#
拼多多工作体验
#
44104次浏览
283人参与
#
聊聊你的职场新体验
#
313950次浏览
1848人参与
#
美团开奖
#
385186次浏览
1787人参与
#
如何缓解入职前的焦虑
#
251557次浏览
1441人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务