OPPO面试题
学长1
OPPO -实时处理工程师。一面试官,他拿了多个人的简历,边翻边问。
1)技术部分
(1)SparkStreaming消费方式及区别,Spark读取HDFS的数据流程
(2)Kafka高性能
(3)Hive调优,数据倾斜
(4)Zookeeper怎么避免脑裂,什么是脑裂。
(5)Redis的基本类型,并介绍一下应用场景
(6)最后会问一些Linux常用命令,比如怎么查进程,查IO运行内存等。还真有人问啊
2)项目部分
(1)Hive的分层设计
(2)还有一些Flume和Kafka的问题,为什么要把离线和实时搞在一起,可以做成两套系统。
学长2
(1)介绍你做的所有项目
(2)在项目中你负责什么
(3)数仓的数据量是多少
(4)MapReduce的Shuffle过程
(5)Spark与Flink的区别
(6)平常会自己去学一些技术吗
(7)你们公司的大数据组的人员配置
(8)你为什么离职
(9)工作中遇到哪些困难
(10)怎么使用Redis实现分布式锁
(11)Zookeeper的HA原理?
(12)两个业务有关联,某个业务的数据量有可能暴增崩溃,怎么保证另外的业务数据不受影响?
(13)MapReduce怎么去实现Hive中的mapjoin?
(14)SparkStreaming中Kafka的offset保存到MySQL中去实现的精准一次性消费,假如业务逻辑处理完,在提交offset时程序崩溃,处理完的数据怎么解决?
学长3
(1)讲一讲什么是CAP法则?Zookeeper符合了这个法则的哪两个?
(2)你们的Flink怎么提交的?使用的per-job模式吗?为什么使用Yarn-Session的模式?有什么好处?
(3)讲一讲Flink的分界线对齐原理,有什么作用?
(4)了解过Flink的两阶段提交策略吗?讲讲详细过程。如果第一阶段宕机了会怎么办?第二阶段呢?
(5)如果Spark在跑任务的途中,Driver直接挂掉了,但是Executor还在继续跑,你该如何解决这个问题?
(6)如何查看Linux中线程的内存、CPU占用、磁盘的消耗等?具体的参数讲一下
(7)讲讲HFile在HDFS中存储的具体格式
(8)讲一讲Spark和Flink的Checkpoint机制异同
学长4
中科创达 OPPO外包
通信部门 着重问hive,HQL问题
一直都是我自己说,讲数仓采集和离线数仓搭建
他一直在听,也没什么邪门问题,就是他们组是6个人,
属于通信部门,用google的一个封装好软件,主要就是在SHELL上写HQL,不是核心业务
但是业务逻辑很复杂。表比较多。
学长5
外包
- 讲讲flink与spark的区别
- flink的sql写得多吗
- 在实时计算中, 如何将实时数据与一张大表join
- 你是如何通过flink实现uv的
- flink中的双流join与spark中的双流join
- 如何做实时TopN
- 如何通过flink的CEP来实现支付延迟提醒
- flink端到端精准一次的实现过程
- flink的checkpoint文件是保存在哪里, 可以选择哪些
- flink中你最常用的算子有哪些
数仓
12. 数仓分层
13. 数仓建模
14. hive与mysql的区别
15. hive中发生数据倾斜怎么处理