【社招】快手_数据仓库_面试题整理

1、面试

技术面一共三面,问题汇总

1 讲一下你门公司的大数据项目架构?

  • 实时流和离线计算两条线
  • 数仓输入(客户端日志,服务端日志,数据库)
  • 传输过程(flume,kafka)
  • 数仓输出(报表,画像,推荐等)

2 你在工作中都负责哪一部分
3 spark提交一个程序的整体执行流程
包括向yarn申请资源、DAG切割、TaskScheduler、执行task等过程
4 spark常用算子列几个,6到8个吧
5 transformation跟action算子的区别
6 map和flatmap算子的区别
7 自定义usf,udtf,udaf讲一下这几个函数的区别,编写的时候要继承什么类,实现什么方法
8 hive创建一个临时表有哪些方法(1 create table select 2 with select写法)
9 讲一下三范式,三范式解决了什么问题,有什么优缺点
10 讲一下纬度建模的过程 (选择业务过程 确定粒度 确定纬度 确定事实表)
11 纬度表有哪几种
12 事实表有几种
13 什么是纬度一致性,总线架构,事实一致性
15 什么是拉链表,如何实现?
16 什么是微型纬度、支架表,什么时候会用到
17 讲几个你工作中常用的spark 或者hive 的参数,以及这些参数做什么用的
18 工作中遇到数据倾斜处理过吗?是怎么处理的,针对你刚刚提的方案讲一下具体怎么实现。用代码实现,以及用sql实现。(此处没写代码,主要是讲清楚)
19 讲一下kafka对接flume 有几种方式。(我不会这道题……)
20 讲一下spark是如何将一个sql翻译成代码执行的,里面的原理介绍一下?(我也不会。。)
21 spark 程序里面的count distinct 具体是如何执行的
22 不想用spark的默认分区,怎么办?(自定义Partitioner 实现里面要求的方法 )具体是哪几个方法?(没写过)
23 有这样一个需求,统计一个用户的已经曝光了某一个页面,想追根溯是从哪几个页面过来的,然后求出在这几个来源所占的比例。你要怎么建模处理?(这里回答的不好,挺折磨的。面试官的意思是将所有埋点按时间顺序存在一个List 里,然后可能需要自定义udf函数,更主要的是考虑一些异常情况,比如点击流中间是断开的,或者点击流不全,怎么应对)
23 说一下你对元数据的理解,哪些数据算是元数据
24 有过数据治理的经验吗?(略懂)
25 说一下你门公司的数据是怎么分层处理的,每一层都解决了什么问题
26 讲一下星型模型和雪花模型的区别,以及应用场景

2、笔试

三面共三道笔试题,一面一道题
答题方式为网上答题,考官可实时看到敲代码的过程(类似屏幕共享)

题1:

用户登陆日志
app, user_id, datetime
a1,user1,2020-01-01 00:00:00
a2,user2,2020-01-01 00:00:01
a3,user3,2020-01-01 00:00:02
a4,user4,2020-01-01 00:00:03
……
输出每个app下访问次数最多的5个用户

答案:

select
	app,
	user_id
from
	(select 
		app
  • 14
    点赞
  • 154
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值