BAT大数据暑期面经(已拿蚂蚁,腾讯offer)

1.前言

继上一篇文章《大数据实习面经(滴滴,头条,网易,微博,美团,360,数美)》之后,最近有一些闲暇时光,所以想把BAT的面经给大家分享一下,以下排名不分先后次序


1.百度(二面挂)

是做百度云盘监控的部门,不知道为何自己被推到了偏大数据运维的部门,很神奇。

一面(1小时左右)

1.先聊了大概半小时去年的天池比赛,之前写的比赛分享链接
第一届PolarDB数据库性能大赛Java&c++选手分享
大致从设计框架,如何设计,为何这么设计,设计的过程中出现过什么问题,如何解决展开讨论,并且还从linux底层到用户层的文件传输和规则做了详细的探讨。中间发散思维,问了lsm树,B+树,红黑树等树的优缺点和使用场景,大致记得这些
2.问了下快排如何求TOPk值,并且让我手推了快排的时间复杂度(还好之前有过master定理的映像)
3.问了些相关的java基础,jvm等等,gc等一些知识。

二面(1小时左右)

二面面试官在开会,我等了快1个小时才出现。。。
1.场景题目,监控的时候如何达到实时性,希望我从各个方面进行解答,也是发散题目
2.手撸最大公共子串
3.如何设计最优的分布式高性能锁,又是发散题目,从cap理论扯到base理论,然后在推导了下cap中为何三者不可兼得,然后讨论了下分布式锁的一些原理等等
4.问了相关的比赛东西,不过面试官的点和我不在一个频道上,一直在问阿里是怎么做这个数据的(我咋知道。。)

2.阿里(已拿offer)

图数据库团队geabase(中国首个金融级分布式图数据库),是蚂蚁金服中十分核心的部门

一面(1小时左右)

1.先问了一些基础,比如java的知识,内存分布,锁的一些东西(cas等)
2.重点讨论了下lsm树的优点和缺点
3.大致讲了下简历的项目
4.手撕滑动窗口代码

二面(1个半小时左右)

1.对我的研究生研究的方向图数据库很感兴趣,所以深入地研讨了相关的知识,从当今学术界解决的几个指标讨论起。然后深刻探究了相关领域的东西,从广度和深度都有范围涉及(这一点大概就说了大概40分钟左右)
2.问了我,在我接触计算机到现在,自己认为遇到的三个大问题,是否解决了,你是怎么解决的,为什么这样解决,如果在遇到的话,还有什么方面可以更加深入地解决
3.问了一些大数据相关知识,Hadoop、presto,spark等
4.问我怎么学习的,是如何学习的,怎么样认为才是把一个知识点掌握,怎么样才是能做到最高效率的学习,还同时问了我最近在看什么书籍等等
这一面感觉是个部门leader,面试的时候更想知道你个人的潜力和未来的发展方向。

三面(1个小时20分钟左右)

1.问了hadoop相关的mr过程,问了zk选举算法,问了集群的通信过程,心跳机制,actor模型等的
2.问了研究生方向的大致研究东西
3.让我详细讲一下在项目过程中是什么情况出现了数据倾斜问题
4.深入探讨了下spark在作业时的数据倾斜问题,给你一个大规模集群,如何设计一个集群,有没有什么通用的方法,使得解决数据倾斜。
5,手撕代码,常规dp算法

hr面(半小时左右)

主要问了下简历上自己的项目,和研究生研究的项目,对自己做的领域有什么相关的贡献等;随后还问了在人生中你觉得哪个时期是改变你整个人生等等。其他东西,比如offer,薪资,体检会随后跟进等。

3.腾讯(已拿offer)

貌似是一个云存储团队,qq相册的所有图片都是他们负责存储和搭建的

一面(1小时半左右)

一个很有趣的小哥
1.先问了栈的知识,然后让我设计一个堆,如何在O(1)的时候可以入栈出栈,查找元素,也是发散思维的题目
2.讲了一下相关的项目东西
3.手撕代码,问了一道题目,一个数组偶数对的数字,只有一个数字是奇数的,如何求出该数字,(根据奇偶特性用二分查找即可)
4.问了相关的大数据知识(hive sql查询优化等),还问了相关的无锁队列的知识。

二面(1个半小时左右)

1.设计一个红包算法,要求每个人分到的钱不高不低(很少接触这个,所以就想到哪个说哪个了,比如说了线段划分,比如说了剪枝啊,亦或者把数学的什么幂律分布,置信区间也搬出来了等等)
2.设计一个大数据场景,300G的文件当中是乱序的,重复的不超过1000个,1G的内存,如何在最少的时间用最少的内存得到一个排序好的去重的文件。(最开始不是1G内存,是10G,然后我说用MR思想,用LSM树,用hash等等方法,就一点点减内存,最终减到了1G)
3.手撕代码,如何用链表实现快排;深入快排分析,如何在有序的情况下使得快排也达到O(logn)复杂度,最开始随机,然后取中位数,然后局部有序求解等等,一步步深入

hr面(半小时左右)

聊了下自己未来的打算,是往哪个方面走,有做了什么准备么,是如何做准备的,如何道路上遇到问题,怎么解决和调整自己;同时问了一些压力场景(比如如何看待加班等),其他就是薪资什么的了。


0.总结

BAT的面试还是比之前几家的面试让人感觉舒服,面试官大多是都是很和蔼可亲,也十分平易近人,最有趣的是阿里腾讯的面试官,我问他们对我这次的面试评价,直接和我说你有下一面(啊哈?都那么直接的么)。
上述的面试没有像别人一样涉及到十几个知识点,只是每次面试着重围绕几个点展开,但是我在面试的过程中会发散出很多的想法,就像大树的树干一样延伸。本身面试就是一个聊天的过程,在聊天的时候自然而然地展现自己,也会让面试官感到舒服,所以大伙面试还是不要紧张,多说说自己知道的,这样会更大概率拿到更多更好的offer。
抽空分享了下自己的面试经历,希望大伙能有收获,加油!

你可能感兴趣的:(BAT大数据暑期面经(已拿蚂蚁,腾讯offer))