阿里大数据岗位面试题汇总
学长1
1)技术部分
(1)Spark提交job流程
(2)提交脚本中-jar什么意思
(3)Excutor怎么获取Task
(4)详解Hadoop的WordCount
(5)Spark做过哪些优化,(优化说完会问你为什么?原理是什么?)
(6)Spark内存管理
2)算法部分
(1)单向链表反转
(2)实现堆栈push Pop Min 复杂度0(1)
(3)实现一个队列,男女均衡最长的队列 复杂度0(N)
学长2
阿里三面
第一题,亿级的交易订单量,每笔都有金额,快速找出top1000,要求不是简单的排序然后求出top1000,代码要有健壮性;提示注意是top1000不是top10。Map和Reduce分别做Treemap
第二题:有两个约1000万行记录的4到5G文件,JVM只有32M,在内存不溢出的情况下,找出相似的条数并打印出来。布隆过滤器
第三题,有一个双十一的天猫场景,我要做实时和离线两种分析方向,从数据建模、计算性能、元数据管理、数据质量上讲一讲基本架构设计成什么样子。
阿里四面
第一题,岛上有100个囚犯,他们都是蓝眼睛,但是他们都只能看到别人眼睛的颜色,并不能知道自己的眼睛颜色,而且他们之间不能去谈论眼睛颜色的话题,规定每天晚上都可以有一个人去找守卫说出自己的眼睛颜色,如果错了被杀死,如果对了被释放。但是大家在没有十足的把握前都不敢去找守卫,有一天,一个医生对他们说你们之中至少有一个蓝眼睛,然后N天,这些人都获救了,为什么?这句话对他们有什么影响?
第二题,有100层楼梯,从其中一层摔下鸡蛋的时候鸡蛋会碎,并且次层之上的都会碎,次层之下的都不会碎,如果你有一个鸡蛋、两个鸡蛋、三个鸡蛋,你会怎么去找出这个楼层,最多要试多少次
学长3(杭州)
1)自我介绍
2)技术部分
(1)对未来的职业规划是怎样的?
(2)数仓的流程?你所做的事情?
(3)能讲一下做DW层的案例吗?如何建模的?
(4)讲一下交易的例子吧?
(5)做交易的话模型怎么设计的?
(6)物流的信息,链路的跟踪在不在你的交易表里边?
(7)退款的数据放在哪个表里?
(8)数仓的模型 是怎么建模的?
(9)记录交易的,整体的链路,到底设计了几张表?
(10)拉链表的原理?
(11)拉链表整合的方式?
(12)你在之前的公司遇到的痛点有哪些?(我讲的数据倾斜)
(13)数据倾斜怎么解决的啊?
(14)Join的等倾斜,Join的key,关联键,如果倾斜的话,能直接打散,如果Map端解决不了呢?Mapjoin解决不了怎么办?两个都是大表怎么解决数据倾斜?
(15)MR原理?
(16)Map端做的最重要的事情是什么?
(17)有没有其他你特别擅长的?
(18)怎么提前你SQL写的特别好呢?
(19)建索引要注意哪些事情?
(20)你有啥要问我的吗?
3)总结感悟
全程32分钟,在所有面试当中时间最长的一次了,之前的话在20多分钟就结束了,主要还是自己的语速太快了(禁忌),还是得慢慢的说,有思考的过程,思考你说完面试官会问你啥?其实这次面试自己的语速还是快,结果的话面试官评价我说“我觉得你大部分的流程都是比较清楚的,就是细节上还是得再琢磨琢磨,加强一点”,通话结束。