京东提前批——大数据开发工程师(两面面经)
一面 技术面
java
- 说说java中final, finally, finalize关键字的作用和区别
- 说说jvm,了解多少说多少
- 方法区存什么?
- hashmap了解吗?说说底层机制,红黑树的效率,线程不安全的原因
- ConcurrentHashMap底层
- 线程同步的方式有哪些?
spark
- stage如何划分?
- 宽依赖窄依赖介绍一下
- 项目中如何解决数据倾斜
kafka
- kafka的组成部分
- 说一下消费者组是如何消费数据的
- kafka有什么特点?高吞吐量低延迟是怎么实现的,生产者异步提交,顺序写,读写用到零拷贝
sql
50个小区以上的城市id
# 表A: name(小区名), city_id(城市id) select city_id from A group by city_id having count(name) > 50
查询出薪水比自己老板高的员工id
# 员工情况表 B # id name salary boss_id(也是员工 可以为null) select id from B as e inner join B as m on e.boss_id = m.id and e.salary > m.salary
算法(简单)
- 讨论一下如何判断两个链表是否有交点的问题,需要考虑到是否有环的情况
- coding:递归实现二分法查找
public boolean bs(int num[], int l, int r, int target){ if(l > r) return false; int m = (l + r) / 2; if(num[m] == target) return true; if(num[m] > target) return bs(num, l, mid - 1, target); else return bs(num, mid + 1, r, target); }
二面 主管面
- 自我介绍
- 说说你对大数据开发的理解
- 从框架的角度说说大数据项目的基本流程(包括离线实时)
- 一面kafka高吞吐量的原因没说全,让补充说了一下,我说了批提交和消费者组同时进行进行消费,然后还问了一下零拷贝的具体原理
- 说一说zookeeper中的角色和应用场景(如何进行master选举)
- 看你简历中说实现了hdfs的ha,具体说说实现的原理
- 流式数据处理框架的对比(storm,flink,spark-streaming等)
- hbase的特点和底层,和mysql有什么区别
- 问了很多不知道的名词,我说没听过。。
- 做过最高光的项目是哪个,遇到什么问题,如何解决
- 未来5年的职业规划
- 可以来实习吗(不强制)
- 有几个offer