美团点评数据开发1~3面面经,发帖攒人品
作者:蓝荆凌
链接:https://www.nowcoder.com/discuss/254825?source_id=discuss_experience_nctrack&channel=-1
来源:牛客网
美团点评
一面:
1、自我介绍
2、你觉得你在其中发挥作用最大的项目是什么,具体说一下项目经历。
3、sql题,一个表有分区日期,userid,url,访问时间。
①求某天,例如2019-09-10,各url的访问用户数。单group by count(distinct)。若表里数据量为几百亿条?优化空间在哪儿?distinct是怎么实现的?若不用distinct?双group by。
②求某天,用户访问url在两次及以上的情况。窗口函数序号过滤;不用窗口函数?group by having count(1) >= 2;
3、进程和线程的关系?
4、CPU的调度算法?
5、说一下计算机网络的分层结构?对哪一层比较熟悉?比如举例哪一层具体是做什么的。
4、有A、B两个文件,A中为name、age,B中为name、gender。合并两个文件得到文件C,内容为name、age、gender。用shell脚本实现。不会做后改用Java。问所写程序的时间复杂度是多少?
5、用正则表达式求某URL的顶级域名。讲一下思路。
6、你有什么想问我的?
二面:
1、自我介绍
2、实习经历介绍,你个人对这两份实习经历的评价和兴趣的判断?
3、Hive:
select date,count(1) from t where date between ‘2019-01-01’ and ‘2019-01-31’ group by date order by date limit 10;
①这条语句提交给Hive来跑从提交到拿到结果中间经过了哪些步骤?中间都有哪些流程?发生了什么?扯了扯语法分析器、逻辑执行计划和物理执行计划、MapReduce。
②具体到这个SQL,它的逻辑执行计划和物理执行计划都会有哪些不同?或者说从逻辑执行计划到物理执行计划会优化什么东西?为什么先要有逻辑计划,再到物理计划?
③这个SQL在MapReduce上怎么跑的?会有几轮MapReduce?答两轮。每一轮的输入输出是什么?类比WordCount。第一轮的结果如何变成第二轮的输入?
4、MR的过程或者逻辑计划物理计划你一般会去哪里学习呢?各种博客。
5、小文件问题在Hive里面有遇到么?举一个场景或者实际遇到的例子?小文件影响的是哪个阶段的性能?是Shuffle吗?
6、还有什么别的学习途径吗?扯了一下我看不懂的源码。看源码的话你会从哪里开始看呢?
7、我有两个桶,一个桶能装5L的水,一个桶能装3L的水。
①如何能用这个桶装出4L的水?手写了一下过程。
②我想知道这两个桶一共能有多少种可能。若一个桶为m,一个桶为n,一共能有多少种组合?分析一下过程,写代码实现。
8、硕士有上网络、操作系统、数据结构之类的课程么?
三面:
1、几点到的?
2、来之前有电话面试或聊过么?
3、对我们这边的工作方向了解么?
4、对齐一下信息,招聘数据开发。面试官介绍了一下数据开发在美团的定位和具体内容:平台、数仓、中间产品。技术栈介绍和方法栈介绍。这次招聘数仓和中间产品。还有什么不了解的么?
5、继续倒水问题。
枚举全有几种倒出4升的方法链路?思考过程,设计计算机程序去实现,如何去设计。二面算法改一改继续递归。这样效率应该比较低?分析4能如何拆分,且拆分后的结果是否合法,然后继续扯递归。
6、逻辑变通问题。
A、B、C三个整数。
①求其中最大最小值最少比较几次?答2次。
②如果要找中位数,也想比较2次,如何实现?可以借助一些运算法。一开始没想出来,在面试官提示通过运算符将找中位数转换成找最大最小值。把三个数两两取差取绝对值画在数组上。最大距离找到了,另一个没用到的就是中位数。
7、你对自己的规划是什么?刚刚数仓具体内容里面哪块?面试官说我对自己缺少一个体系化的规划,建议尽量早做规划。
8、你的offer情况?
9、其他的面试情况。扯了下小米的面试,问的内容?我说那边问Spark、Hadoop、HBase比较多,而且还不是做的平台。面试官说很奇怪,这些一般他们都是问社招,说校招主要看的还是个人发展潜力。
10、表现自己,阐述特别表现自己能力的项目和事情。
11、你觉得在项目里对你影响最大的人是谁?
12、你觉得做的不好的点有么?
14、两个实习经验都不是特别长,怎么看待这个事情。说这样容易让人产生误会。比如实习期不长,到底积累了哪些东西?或者对自己是否确定了你想要做的事情?
15、你的时间是怎么安排计划的?9、10月秋招、11月中期答辩、12月份就可以实习。
16、工作地点上海、北京有要求吗?
17、你还有什么要问的么?
发帖攒人品,求个HR面