40min 面试官问的很细,来自数据平台,技术感觉很强很全面。
warm-up
- 自我介绍
- 有其他意向吗?能来北京吗
- 挑一个做得好的项目介绍下全流程
- 难点在哪,讲一下
ElasticSearch
- ES有用到集群吗?有设置分片吗?有设置副本吗?副本数是多少?
- 你是怎么建立索引的?为什么这么建立索引?
Hive
- 离线处理有用过Spark 吗?没有,主要用的是Hive
- 说一下Hive 构造UDF 的过程?包含那几块?
- UDF 用什么语言开发的?开发完了怎么用?
写HiveSQL
temp 表:user_id, shangpin_id, leibie_id.
要求返回每个用户访问次数最多的三个类别。user_id, types[a,b,c]
Spark
- 说一下checkpoint 机制,项目中有用到吗?
- 说一下Spark 和 Hadoop区别?
- 说一下Spark streaming 和 Flink 还有Storm 的区别?
- stage,job,task 的联系。如何划分stage?
- RDD、DataFrame、DataSet的区别?
- 如何确定task 数量
- 50台机器,如何保证每台机器上运行一个Task?怎么设置参数?
- Spark 如何处理数据倾斜?一个task 特别慢,其他的很慢都等待?如何应对这个task?
- 答了广播变量,面试官给否了,回答了热点key加随机值的方式
- 追问:有没有其他的方式,比如说数据预处理,在传入Spark 之前的预处理?
- 追问:Spark 如何通过调参处理数据倾斜? 面试官提了core...什么的,我没有用过,不会
反问
- 哪个部门的?面试官向我介绍了主要的开发内容。
- 主要的技术发展方向?
总结
标黑的都没答上来,凭印象说了一些要么就不会,面试官的工程能力很强,直接从实际场景还有参数这些来问,实在是顶不住,接下来还得继续看下自己项目的代码和具体细节。
加粗的地方,大家如果知道怎么回答麻烦告诉我一下,提前谢谢了!
#京东##大数据开发工程师##大数据开发#