快手大数据岗位招聘面试题分享

快手面试题

快手大数据岗位招聘面试题分享

 

学长1

快手:视频面试

1)一面:50分钟

(1)介绍项目

(2)Flink为什么用aggregate()不用process()

(3)自定义UDF,UDTF实现步骤,有哪些方法?UDTF中的ObjectInspector了解吗?

(4)Flume丢不丢数据?PUT,TAKE事务

(5)SQL题:

1. id department salary manager_id 找出员工薪水比领导薪水高的人员(单表join)

2. student course score 找出哪些学生课程比平均课程成绩高?(记不太清了,用到子查询)

(6)快手的数仓分了3层,OLAP用的是Druid,数据量每天达到PB级,上千个指标,平均每个人跑几百个指标吧。

2)二面:1小时

(1)手撕SQL

①A-天极增量表: uid,module_name,location,date

目标-B全量表: uid,module_name,first_entry_date,first_location

找出两个第一次插入到B表

②user:uid,age,date

order:order_id,order_money,location,date,其中location:{"city","xx"}

双十一场景,找出北京市双十一年龄范围在20-25岁的人中 的人数,人均销售额大于1000的人

③URL: http://www.a.com/home?key1=v1&key2=v2 ?后面的数据做切分,存放到一个JSON中返回,要求用UDF函数

④找出一个List中的最大值和最小值并返回

(2)问到了几个场景题

①Flink设计题

②HBase使用场景

③Redis使用场景

④Druid的一些东西

(3)最后问到了职业规划,闲聊

学长2

1)技术

(1)自我介绍

(2)问了下离线数仓的架构

(3)问了Hive四层架构

(4)问了业务系统8张表的更新方式

 

2)场景题:

(1)使用SQL或者SparkRdd写出代码

(2)两张表,怎么使用SparkRDD的方式实现Join,代码

Table1

uid,dept_id

Table2

dept_id,dept_name

(3)使用MR或者Spark实现countDistinct(例如求uid数量)

大数据培训