携程面经
携程一面面经(11.4)
1.自我介绍
2.你们项目是怎么建设数据仓库的,讲述一下?
3.为什么数仓分层?
代码复用
复杂问题简单化,分层解决问题
便于定位问题
4.学过hive嘛?遇见过数据倾斜的问题嘛?解决方法?
group by导致的,key分布不均导致的数据倾斜。设置set.groupby.skewindata=true,开启两个mrjob
where条件写在join里面,减少join 数量
join表有很多空值情况导致的,空key过滤,不参与join
map join,小表连接大表
5.简单业务sql,一张表有用户id ,更新时间,预定信息等,统计每个用户最新时间的预定信息?(排序窗口函数)
6.知道行转列与列转行怎么实现嘛?
case when then
union all
7.延伸问题,union跟union all 区别
8.用过collect_list嘛?解释一下
9.collect_list跟collect_set区别?
10.spark的三种join方式?
11.学过clickhouse跟hbase 嘛?(没有)
12.数据库三范式
13.索引的底层原理
反问
你对我有什么建议嘛?
讲了他们做什么,所以建议我要多了解数仓建模的相关知识(范式建模、维度建模),根据面试官说的建议有延伸给面试官讲维度建模,有问维度建模跟范式建模的常用的应用场景。
更新进度~
11月9号接到二面邀约
携程二面凉经(11.12)
自我介绍
讲两个项目
讲实习经历
实习开发的标签的数据源是?
数据仓库有哪几层?每一层的用处,为什么要进行数据仓库分层?
讲一下项目中cdm层具体怎么做的?
sql执行语句顺序
数据倾斜问题
mapreduce执行流程
问本专业具体研究什么?为什么当初要选择本专业?
面试官在线发问,为什么这么多人转专业卷IT,说他搞不懂为什么?说要明白本来就有很多IT啊?(听到这里我觉得铁凉)
反问环节
(基本上放弃反问,问了一个问题之后,面试官居然还问了两遍,你还有其他问题要问嘛)
#携程##面试题目#