本人是一个双非硕士在读地研二狗,非科班出身,最近也是参加了大数据开发地面试,已拿到了哔哩哔哩和顺丰的大数据开发岗实习offer,现在把自己的面试经历分拨记录下来,记录了面试各个公司的问题和心经,给正在面试的你做一些适当的参考
如果这篇文章对你有所帮助,可以点一下关注作者支持一下,对于这段时间的面试,作者也是参考和总结了一些面试中常常问到的问题,可以关注作者私信“大数据面试”,我看到后会一一为大家发送资料的
一、哔哩哔哩
一面:技术面
面试时间:21.1.18
面试时间:47min
面试形式:赛码面试系统
1、先问了我的基本情况,比如怎么选了这个岗位、到岗时间、学校任务等等
2、正式开始,自我介绍
3、问了java的一些问题,线程安全问题的解决办法、集合这些
这些java的问题面试重点就那些,大概过一下都可以应对
4、介绍一下hadoop,比如hdfs、mr、yarn啥的
就介绍了hdfs的读写、mr的计算、yarn的调度。有了前几次的沉淀,面对这种范围很大的问题也知道怎么答了,问hadoop,没有具体主题,那就是会啥答啥了
5、问了数据库的索引
我跟他讲了讲索引,也是在字节面试之后,去着重补习了一下数据库的索引,也是比较门清
6、在项目使用中的数据库方面的优化
我说了mysql和hive,虽然hive不是数据库,但是为了多说一点也加上了,我再讲mysql索引的时候,可能是因为mysql和hive我是穿插对比着讲的,面试官以为我对hive做了索引,索引又问了我你是对哪个做了索引?我听到就知道自己讲的可能是面试官没有分开,听成我对hive做索引可还行,我要是说对hive做了索引,估计现场给我pass,我说mysql
7、问了我数据倾斜问题,还有怎么处理的
这个用了hive或者mr的都会碰到吧,只是最开始我碰到的时候并不知道这就是数据倾斜,和他拿项目说了一下,还有怎么处理的,无非就是几个操作,关于怎么造成的数据倾斜:key不合理、发生隐形转换、null值等等,优化也是对症下药:合理的key值、数据倾斜优化
8、项目中怎么建立的索引,还有怎么确保查询可以命中索引
这个因为我们项目中的查询条件是固定死的,所以确保命中索引很简单的就能实现
9、维度建模模型
星型、雪花、星座
10、又问了问项目
有了前几次的失败总结,这一次的项目介绍明显是条理清晰了很多
11、做了几道题,几道sql和一道算法题
12、算法题:一个数组,转换指定位置范围内的元素
很容易实现,在那个场景下,只要写出来就行,也别优化了
13、mr是怎么执行的,举一个案例,比如wordcount
我感觉wordcount太简单,就举了一个我们项目中的实际使用的案例,讲解了mr的计算流程和代码编写,因为这是第一次回答这个问题,所以回答的有点混乱,之后也是认真总结,再后面的面试应用很好
14、几道sql
应该是有关哔哩哔哩自己的表,计算流量收费等等,应该是中等难度偏上的sql题,没做出来,三道就写出来了一道,因为我知道要做算法题,所以一直都在刷算法,sql已经好几个月没写过了,本来也不熟练,这样一来更薄弱了
15、反问
问了对我的面试建议,让我在sql方面在熟练一下,说在以后的工作中大数据方向sql是必备的,我一听好像有戏,虽然sql没写出来,但是其他问题答得还不错。然后又问了面试结果什么时候能出
一面结束后,大约两个小时hr小姐姐就打了电话说通过了约了第二天的二面
二面:技术面
面试时间:21.1.19
面试时间:32min
面试形式:赛码面试系统
1、自我介绍
2、问了项目,问了好多项目,好多项目的问题
3、问了数据倾斜和优化
4、问了大数据领域的解决问题的思维
5、数仓分层
6、维度模型,项目中用到了什么模型
7、数据一致性问题
8、对于脏数据和错误数据的处理
9、项目中存在的问题
这个面试官在我自我介绍的时候真的是很认真的在听,很多问题都是当场提出来的,而且在我回答的时候也是很认真的在听,根据我的回答又提出来很多问题
10、怎么保证数据错误率
11、数仓的指标维护
12、反问
面试结果什么时候出来,还有对我的表现怎么看?
这轮面试问的问题很多,都是根据我得回答或者自我介绍现场提出来很多问题,很杂很多,很多都记不住了,只记住以上则这些
因为一轮面试结束两小时就得到了二轮的通知,这个我以为也是,因为二面最后面试官给我的反馈也是正面的,我觉得没有问题,他也说会马上反馈给hr,但是一天过去了两天也过去了,马上眼瞅就周六了,也没消息,我以为被刷了,等的也很焦躁,于是周五早上给hr打电话问结果,她查了之后说面试官还没有反馈,她去催一催,我一想完了,应该是被刷了,我就计划如果周一没消息,就再问问,没想到等到晚上六点多,hr打电话约了第三轮面试,真是激动万分
三面:技术面,leader面
面试时间:21.1.23
面试时长:23min
面试形式:赛码面试系统
1、自我介绍
2、问了项目,问的很深,而且让你回答的时间很有限,需要你言简意赅的回答出来问题
3、问了shuffle过程
map方法后,reduce方法前,环形缓冲区,反向写,落盘,分区,内存和银盘
4、作业优化
合理的key分区、环形缓冲区内存、反向写比例、内存大小、批次溢写个数、数据压缩这些
5、数据倾斜问题
和之前的大概相似
6、反问
问了具体的工作内容,这个问题我想问问看面试官怎么回答,然后根据面试官的回答判断这一轮面试结果是不是比较顺利,问问结果,面试官问我是在等其他offer吗,我说没有,就是迫切想知道结果,因为是leader,没敢问建议
三面结束后,十分钟左右hr打电话说技术面全部通过了,然后聊了聊基本情况,然后确定一下信息,大概意思是通过了,接下来会和你协商派发offer之类
这个也是万分激动啊
面试总结:
哔哩哔哩面试应该对于一个实习生来说还是很友好,不是特别难,也不是特别偏,不会故意刁难你,面试过程中也是比较轻松愉悦,效率也是比较快,在这个面试的过程中也是发现了自己新一轮的不足,针对这些不足也是做了很多功课。