京东两次面试面经(数据开发)
1、京东一面(09.27)
1、自我介绍
2、讲一下对Spark 的了解,Spark 程序执行的流程
3、Spark 的运行模式中有哪几种,yarn-client 跟 yarn-cluster 的区别。
4、讲一下Kafka 跟SparkStreaming,如何保存偏移量
5、消费Kafka 有哪几种模式(至少消费一次,至多消费一次???)
6、应用场景:如果SparkStreaming 读取kafka 的数据,处理数据后分别存储到不同的数据库中,其中一个数据库存储失败,该如何解决?
7、讲一下Spark 的 checkpoint 操作
8、讲一下ArrayList 跟LinkedList 的优缺点,以及ArrayList 的扩容操作
9、LinkedList 如何实现双向链表(想得太复杂,聪明反被聪明误)
10、讲一下RDD、DataFrame、DataSet 是什么,以及区别
11、Spark 中的Partition分区的默认机制是什么(参考hdfs 的块切分)?
2、京东 电话复面(10.09)
1、自我介绍
2、花一段时间来讲一下最近实习所负责的项目。
3、了解哪些项目的源码
4、对Mysql的索引了解多少。
5、讲一下Redis 的数据结构,以及有序集合的实现算法是什么
6、对排序算法了解多少,讲一下选择排序跟快速排序的实现原理,以及应用场景
7、如何解决快排的不稳定性
8、讲一下一致性hash 算法的原理(结合具体应用场景来讲)
9、基于一致性hash 情况下,如果hash 值大于2^32,该如何解决?
10、基于一致性hash 情况下,如果服务器宕机读取不到数据该怎么解决
11、对未来的职业规划...
12、秋招拿了几个offer...
两次面试都尽力了,能答得都答了,虽然个人感觉不是很好,还是希望能有个好结果,第一次写面经,希望对大家有用,也希望大家都拿到理想的offer.