2021春招经验贴 大数据开发 阿里字节小米
笔者杭电信管大三,妹子一枚,一年多的大数据学习经历,两份相关实习经验(数据分析和数据仓库),三月份开始投递简历,经历了小米两轮技术面、阿里测评+笔试+两轮技术面、字节三轮技术面,面试都比较顺利全部通过,4.8拿到了字节商业化广告大数据开发实习offer(小米岗位方向不符,阿里补笔试太难挂了)
本篇分享不按照公司或者时间顺序罗列面试题,按照知识点分块汇总,之前面网易、好未来遇到的知识点我也会加进去,另外面试中没遇到但我觉得很重要的点也会补充。
目录君来了
Hadoop
1、介绍下Hadoop(字节、好未来)
2、mapreduce处理流程/shuffle过程(阿里、好未来、网易)
3、Yarn是怎么工作的(小米)
4、mapreduce和hdfs是一体的吗,有什么关系(阿里)
5、数据倾斜是如何产生的及解决方案(阿里、字节、小米、网易、好未来)
6、mapreduce有几种join(字节)
7、Hadoop的HA
Hive
1、内部表和外部表的区别(字节、好未来)
2、数据仓库的分层(小米、好未来、网易)
3、星型模型和雪花模型的选择(字节、好未来)
4、数据仓库和传统数据库的区别(好多都问了)
5、接上问,维度冗余及三范式(字节、好未来)
6、hive数据存储格式、压缩格式,区别(好未来)
7、HQL执行慢是怎么解决的(字节、阿里、小米)
Spark
1、job、stage、task的关系(小米)
2、spark任务提交过程(阿里、小米)
3、spark常见算子(小米)
4、spark shuffle和mr shuffle的区别及优化
5、spark容错机制(阿里)
6、sparkSQL的几种join实现
7、介绍下sparkstreaming
8、spark RDD的理解
Flink
1、spark streaming和flink的比较(小米)
2、flink的状态(小米)
3、flink的容错机制、状态一致性(阿里)
4、讲述一致性检查点的实现——分布式快照(阿里)
5、flink的watermark、窗口机制、时间(小米)
6、flink的运行构架
Mysql
1、索引相关,b+tree(阿里)
2、建立索引的考虑因素(使用频率、联合索引、索引顺序)
3、聚簇索引、覆盖索引与回表查询
4、索引失效的情况,如何知道索引是否被用到
5、什么是事务,事务并发带来的问题(脏读、不可重复读、幻读)
6、ACID、隔离级别
Kafka
1、kafka的文件存储机制
2、kafka的可靠性保障
1)生产者往broker发送消息(副本数据同步策略、ISR、ACK)
2)topic分区副本
3)leader选举
3、kafka一致性保障
4、如何保障数据有序性
5、kafka和传统消息队列的区别
Redis
1、redis的优缺点
2、redis的数据类型
3、为什么redis效率高
4、redis主从复制过程
5、AOF、RDB的优缺点、适用场景
6、redis的过期淘汰策略
7、缓存雪崩、缓存击穿及如何解决(这部分我只了解概念...)
java
这个写起来就太多了,我每次面试前会把javase、多线程、jvm的重点串一遍
笔者java也是处于有待深入的阶段,后端开发的大佬可以看这篇
开放型问题
1、谈谈对大数据处理思想的理解(可以围绕分而治之、计算向数据移动展开)
2、谈谈对大数据体系演变的理解(阿里)
3、你觉得未来大数据体系的变化可能是怎样的(阿里)
4、如果你的抖音突然卡住了,会是因为什么(字节)
SQL题
遇到非常多道sql题,基本都跑不了开窗函数,有时候也遇到需要case when表达式转化的
算法
笔者不是算法大神,剑指offer刷过两遍,整体回顾过四五次,建议每次面试前将j剑指offer链表、二叉树、栈和队列、动态规划、递归及回溯的题目都分块回顾一次,链表的题一般用虚拟头结点、步长差解决。二叉树的题目一般要么和遍历有关,借助栈和队列,比如镜像和对称二叉树、求深度、之字形打印...都相当于在遍历中加入判断条件;要么用递归及回溯思想解决,比如树的子结构,最低公共祖先、和为某值的路径等题目。动态规划思想我认为是维护一个状态,关注点就在目前状态和新进来的数据上面,然后进行比较和状态更新,需要多练习找感觉。另外排序算法也要熟悉,冒泡啥的不说了,快速排序、归并排序也要可以直接写出来。算法练习过程中注意思考多种方法解题,字节面试中有遇到追问第二种方法解决问题。
非科班同学转型大数据可以看下b站TALKDATA的视频,有比较详细的学习路线
如有问题或者建议可以联系我,祝大家拿到理想offer~