本人是一个双非硕士在读地研二狗,非科班出身,最近也是参加了大数据开发地面试,已拿到了哔哩哔哩和顺丰的大数据开发岗实习offer,现在把自己的面试经历分拨记录下来,记录了面试各个公司的问题和心经,给正在面试的你做一些适当的参考
如果这篇文章对你有所帮助,可以点一下关注作者支持一下,对于这段时间的面试,作者也是参考和总结了一些面试中常常问到的问题,可以关注作者私信“大数据面试”,我看到后会一一为大家发送资料的
一、美团
一面:技术面
面试时间:21.1.25
面试时间:49min
面试形式:牛客网
1、自我介绍
2、java问题,问了死锁问题、集合、还有arraylist源码和hashmap源码
源码时候我另外说了jdk7和jdk8的区别
3、数据结构,问了数组和链表的区别和实现
这个问题比较简单了,链表嘛,可以是单向、双向、环形,有指针指向的,数组嘛,就是一经定义长度不可变的,以及数组扩容怎么实现的都说一下
4、数据库方面,索引,索引类别,数据库锁,和三范式
索引类别介绍了一下哈希索引和B树索引,还说了一下B树和B+树的区别,还有B+树为什么会比B树快等等
5、大数据方面,hdfs读写,shuffle,mr
这些都是老套路了,hdfs读写和shuffle、mr问到的频率是很高的,就把那一套流程和优化说一下
6、数据倾斜问题,怎么处理的
这些在之前的面试中经常被提到,所以也是很流畅作答
7、flink的checkpoint
关于checkpoint机制,无论是flink和spark都是提问频率较高的,这些主要特点是什么,怎么实现的,因该是耳熟能详
8、写了三道sql题
同样的问题,sql能力很薄弱了,三道只写出来一道,两道都有问题
9、写了一道算法题
算法题是给一个数组,返回第n大的值
这个还是比较简单的,维护两个指针,很容易得出结果
10、反问
问了意见,大概反应都是很好的,除了sql,还需要强化一下,我也觉得自己的sql确实薄弱了,对于一个大数据岗位,sql能力是必备的,虽然sql题部分并不好,但是因为其他问题回答的还不错,所以我问他这轮的结果什么时候出,面试官也是直接约了一个小时后的二面
二面:技术面
面试时间:21.1.25
面试时长:34min
面试形式:牛客网
1、自我介绍
2、数据倾斜和优化
3、shuffle和优化
4、hive的优化
5、问我平时通过什么途径学习的
6、看过哪些大数据技术的官网
这个问题很突然,因为没看过啥官网,除了flume官网看的多一些,像是flink、hadoop这些,除了下载时候点进去一下,几乎不点进去
7、spark流式计算的实现
也是基于批式处理的思想,输入流数据分割成一个个batch,处理,输出也是一个个batch
到这里我都觉得美团要稳了,因为问题回答的面试官也表示很满意,然后问题来了,他说做两道题吧,我一听完了,算法题还行,sql题不完了吗,他说做两道sql,我多想说别做了,我不会,我不面了,然后他来了一道题,牛客上的,是一道难度为困难的,我看的蒙圈,说并不会,我sql不是太好,他说那来个简单的,换了个难度中等的,这个还行,我写完了,他让我运行,我大为吃惊,这玩意还能运行呢,运行了,结果是出来了,但是和答案不一样,我知道大概哪里出了问题,但是真的不知道怎么修改,我说我不会了
就这样,面试官表示惋惜的看了看我,说你这sql还得加强啊,我说是是是,他说还有啥话说吗,我说多久出结果,他说大概三天吧,要是没结果就是没通过,我心里想这就了解了,那就是凉了,最后要结束了,他问我一句,啥时候能来实习,我说年后随时,然后就没然后了,到今天也没然后了
面试总结:
美团的面试总体来说涉及的方面很广了,java语言、数据结构、算法、操作系统、网络、数据库、大数据这些,而且每一个部分也是面面俱到了,但是对于一个大数据方向来说,sql是一个必备的技能,sql的短板也是吃了好大的亏,所以要是面试大数据的小伙伴,sql的能力一定要掌握熟练的啊,不要求什么需求都能写,最起码的leetcode或者牛客网的sql面试题是不是得拿下啊,共勉