橙心优选-数据仓库高级工程师面试


自我介绍

正常介绍就好。报下大名,经历公司与参与项目,负责事项与业绩产出。

思想和方法论

  • 数据仓库理解:架构、分层
  • 数据仓库理解:主题域、好处
  • 范式建模和维度建模区别,混合使用 场景举例
  • 两种建模的解释和理解 区别
  • 雪花模型  星型模型 解释理解
  • 实体建模和维度建模区别
  • ER模型图理解解释
  • 模型会随着业务进行迭代优化手段
  • 拉链表理解解释  场景举例,全量拉链vs增量拉链
  • 数据质量如何保证的
  • 讲一下数据治理
  • 如何做元数据管理,实践
  • 怎么理解数据中台与OneData思想

 Hive 

  • hive 行转列,列转行
  • udf函数讲解,然后手撕一下
  • mapreduce和spark分别讲解然后,区别讲解
  • hive 数据倾斜调优
  • hive sql 优化方式
  • map数、reduce数、job数怎么确定
  • cube、grouping sets、grouping__id

手写SQL 

  • 根据实际业务场景,写累计SQL逻辑
  • 手写连续登录hql,求连续登录的用户,以及具体哪天登录的日期
  • 行转列  列转行

 Spark 

  • spark算子部分讲解举例
  • spark调优讲解并举例
  • spark数据倾斜讲解,并举例。
  • spark宽依赖,窄依赖 讲解,并举例。
  • spark 容错机制

实时数仓&Flink

  • 做过实时数仓吗,生产举例。
  • 实时数仓vs数据湖,生产实践
  • flink 应用场景
  • flink 水位线,窗口
  • flink 反压机制原理
  • kafka 实时讲解,如何分区
  • kafka 数据丢失怎么办
  • kylin 使用问题,优化策略
  • hbase 使用情况,rowkey设计

算法 

  • 求两个连续数组的中位数
  • 手写单例模式

反问环节

一般就问问项目架构、组织架构和对自己的定位就好。不要问太多,很多时候只是面试官在客套。

总结

问的还是比较全的,从离线数仓到实时数仓,从Hive到Spark到Flink,HQL开窗函数使用问的频率也是非常高。但大部分时间,还是都在问项目更多一些。
也参加了美团优选的面试,基本问题都差不多,尤其是技术问题大同小异。问项目细节还是差异挺大的,模型细节,业务细节,模型与业务的结合,一定要理解业务。