OPPO 数据开发工程师 提前批一面二面+HR面面经
OPPO 打响了秋招的第一枪。面试官人很和善,面试体验也很好。分享下面经,攒攒人品。
最后更新:已收到意向。OPPO 是秋招中第一家给面试的公司,也是第一家给发意向的公司,整体流程很快,面试体验很好。继续加油!!😊😊😊
一面:35分钟。
- 自我介绍。
- 实时处理项目和离线数仓项目挑一个说说整个流程。
- 问离线数仓项目:
- 介绍项目全流程
- OLAP 和 OLTP 的区别是什么说一说。
- 说一说数仓建模你是怎么分层的,为什么这么分层。
- 说一说维度建模有几种模型(雪花,星形,星座),他们各自的优缺点是什么
- Azkaban 全流程调度,九点前需要有结果,如果没拿到结果,你怎么排查。(怎样确保每天按时拿到结果)
- 说一下你是怎么设计分区策略的?
- 动态分区用过没,说说怎么用?
- 说说你怎么实现Exactly-Once 消费机制的。
- 说一下Kafka 高吞吐量的原因。
- 说一下Redis 数据结构有哪些?你是怎么存维度信息的(用的数据结构是什么),你是怎么去做维度关联的。
- Redis 的常用命令说几个?
- 说一下如果让你在项目里面不用Spark Streaming,改用Flink,你会如何去替换。思路是什么样的?
- 介绍了数据团队离线、实时的技术栈。Hive,HDFS,Flink,ClickHouse,Kafka,Redis
- 介绍了主要业务是广告,OPPO互联网业务。难点是数据量大,日活4-5亿用户。
二面:
leader 面
- 关于HashMap,关于ConcurrenHashMap在什么地方加锁的?
- 说一下你所理解的排序算法。因为面试的是大数据岗位,我结合MapReduce 讲了快排,归并排序和堆排序。
- 讲讲堆排序是怎么实现的?
- 你试过自己写一个排序算法和Arrays.sort()去比较吗?
- 为什么选计算机专业?
- 造轮子(新的大数据组件),利用现有的组件去解决问题,你选哪个?为什么?
- 大数据八股文就先不问了,需要实际工作中慢慢体会,像数据倾斜这些。
- 比如说有几十个组件,如何管理?我说的是统一的启停脚本,面试官提醒好像有管理框架?记不清了
- 反问部门技术难点: 40-50层数据流动,同时部门需要给不同的下游提供数据。(深度学习部门,数据分析部门)
15min
为什么选择数据开发这个方向?
平时如何学习技术?
讲一下项目中困难的地方,自己是如何解决的?
对工作最看重什么?
反问:培养机制。一个月脱产培训,六个月试用期。