某手+数开 一面面试题 社招
1.自我介绍,项目介绍
2.你简历里说你用 Flink CDC 做了 MySQL 的增量同步,那我问你个问题哈:如果MySQL 有一张表发生了历史字段变更,比如某个字段从int改成了 string,你们的 Flink CDC 是怎么处理这种变更的?你们有遇到这种情况吗?线上出现这种情况怎么办
3.Hive我想问下,你跑的慢的那个任务,是单表扫描慢,还是Join的时候卡住了?有没有看过 DAG?是哪个 Stage 卡住了?如果是Join卡,你是怎么调优的?广播 Join、Map Join、BucketMapJoin 你用过哪些?各自适合什么场景?
4.看你用过kafka,你当时Kafka的Topic 是几分区的?你们消费端有没有遇到数据倾斜?比如某个分区爆了,Flink 消费很慢,咋办?
5.如果有用户一天查询上万次同一个商品的价格,Redis是肯定扛得住的。但如果你这个商品数据变了,Redis里还缓存着旧的值咋办?你们Redis是怎么保证一致性的
6.做离线数仓的时候DWD表是你建的么,如果一个订单表,你是按天分区,还是按小时?为什么?那你有做过业务去重处理吗?去重的依据是什么?
7.为什么不能用uuid
8.看你用了FineBI那你们有没有做权限控制?比如不同部门看到不同的数据,那你FineBI是通过角色还是数据列权限?权限是和数仓对接还是你在 BI 平台上自己搞的?遇到过权限穿透问题没?
9.如果我现在要你设计一个双十一实时大屏数仓系统”,指标包括销售额、订单数、转化率,要做到秒级更新,支撑1000 QPS查询。你会怎么做?数据流从采集、处理、入库、查询全链路说一下,重点讲写入和查询
10.你觉得Spark跟Flink最大的差异是什么,什么时候会选spark什么时候选Flink?
11.假设现在让你构建一个实时用户画像系统,要每天更新用户的兴趣偏好(比如他喜欢买灯、买厨具),数据来源包括行为日志和订单数据你怎么建模?怎么实时更新画像?Flink的状态你怎么管理
#发面经攒人品#