最近面试了杭州部分大厂的大数据RD相关实习岗位,写一篇博文分享一下面经
(注:面经问题均为回忆版汇总,内容不全,均将多轮技术面问题汇总在了一起)
一、阿里巴巴(夸克)
没有提前约面,大早上一个电话和邮件发过来就要求面试
拷打实习相关:
1、数据看板如何进行查询效率优化的?
2、给产品运营方做探数支持时,底层用到了什么技术架构?
3、说一下XXX渗透离线etl任务建设的过程?
4、spark数据倾斜的原理以及解决方案?
5、加盐时为什么不采用rand?
6、讲述一下mapreduce的原理,数据倾斜主要体现在mr的哪几个阶段?体不体现在reduce阶段,为什么?
7、说一下你的python-shell脚本解决了什么问题,底层实现原理是怎样的?
手撕算法题:
给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。返回这三个数的和。
假定每组输入只存在恰好一个解。
示例 :
输入:nums = [-1,2,1,-4], target = 1
输出:2
解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2)。
二、滴滴(青桔)
1、数据看板如何进行查询效率优化的?
2、如果某一天需求方要求看数,但是此时夜间生产任务没有就绪,你会如何处理?如何帮助需求方先生产出数据?事后如何优化任务以保证这种情况不再发生?
3、怎么配置dqc告警?配置时要考虑的内容?
4、标签生产建设每日的灌数策略?
5、spark的分布式join策略有哪几种选择?broadcast join触发的前提条件有哪些?怎么保证一定触发?
6、id-mapping项目的难点在哪?如何进行的数据盘点?
7、能讲一下vx内部各种id之间的关系吗?用户vx分采用什么策略来确定?
8、什么是业务过程?能说一下支付平台的数仓划分了哪几个部分吗?你最熟悉的是哪个部分?这个部分划分出了哪些域?每个域的业务过程可以说一下吗?
9、你是怎样处理快照表生命周期晚于需要刷数起始时间的问题的?在这个过程中怎么保证并行刷数?
10、什么是olap?你都用过哪些olap引擎?
11、事务事实表、周期快照事实表、累计快照事实表分别是什么?能对应到你的业务中举例说明吗?
12、怎么观察spark web ui?如何确定一个任务要配置多少线程数?
13、平时spark参数优化是怎样配置的?一般怎么选择参数?
spark.yarn.executor.memoryOverhead参数一般配置多少?它是怎样优化任务过程的?
手撕代码
1、分组top n
2、求连续登录n天的用户,间隔一天也作数
三、字节跳动(tiktok商业化)
拷打实习
1、说一下如何进行小文件优化的?小文件过多为什么会导致任务执行变慢?
2、聊一聊你工作过程中遇到的三个技术难题?怎样解决的?
3、怎么理解更换更优数据源?怎样做夜间app层建设的?
4、做按月按银行活跃渗透时如何解决月环比粒度不一致问题的?底层生产是怎样调整的?
5、数仓为什么要分层?你是怎样理解的?
6、对于就绪时间较晚的任务,如何定位问题,以及如何解决的?
7、你是怎样处理快照表生命周期晚于需要刷数起始时间的问题的?
8、支付网关方面你们的做功方向是什么?
拷打项目
1、介绍一下你的数仓分层?你的分层和传统分层不一样,为什么?
2、你是如何做数据源盘点的?
3、你谈到你的覆盖漏损gap比美团用户平台自有数据的gap更低,你清楚你低在哪里吗?你的生产逻辑和业务优势在哪?
4、微信分如何判断的?计算链路如何进行优化的?
5、什么是全景数据源?为什么要采用这部分数据?
6、u_id和p_id是如何打通的?
拷打八股
1、reduceByKey 与 groupByKey 的区别,哪个好,为什么?
2、说一下RDD的窄依赖和宽依赖?
3、Spark 任务的划分,什么是application\job\stage\task?
4、spark和传统mr的区别在哪?为什么spark比mr快?
5、读过哪些书?阿里巴巴大数据之路你最感兴趣的部分,讲一讲它对你工作的帮助?
6、维度建模的过程?
7、快速排序的时间复杂度和原理?
智力题
有25匹马,5个赛道,每个道最多跑5匹马,问最少比多少次,可以选出跑的最快的前三名?怎么比?为什么?
手撕算法题
1、给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串的长度
例:
输入: s = “abcabcbb”
输出: 3
因为无重复字符的最长子串是 “abc”,所以其长度为3
2、分组top n
3、不需要分组的嵌套开窗函数
4、根据后序和中序遍历结果还原二叉树
5、聚合开窗题
版权归原作者 共勉zzz 所有, 如有侵权,请联系我们删除。