🌼今天来总结一下快手数据研发的一、二面,在面试中进步,在总结中成长!对往期内容感兴趣的小伙伴可以参考下面👇:
🌿这次面试快手直接通过的简历,依旧没有笔试,简历通过后直接面试,没有划分具体的业务方向。

正常的套路,主要包含自己的基础情况,经历,和一些特点!
首先介绍一下负责的主要业务是什么,然后说一下构建数据仓库的基础架构,最后说明一下自己的工作。
从数据集成、数据计算、数据模型这几个方面说。
详细介绍一下部门数仓分层、数据治理的工作(你能说出数据治理就很棒了!)。
对比数据仓库差异(这一部分我专门对比过,比如主题划分的区别、公共处理逻辑的一些不同)
首先回答技术方面:
接着回答一些数据质量问题:
比如指标口径不统一、数据null值较多,主键重复值较多的问题,然后说一下你解决的方案。
离线偏多,实时也懂一些(简历中的项目是flink项目,但是我是做离线的)
我的主要思路:
这一部分就真实说就好,我也面试过大厂的数据挖掘,如果当时面上了,结果会不会不一样,哈哈哈😂。
这一点主要是看对公司的认可程度,当然是相互竞争,相互进步的关系,短视频是未来的发展趋势,俩家公司都有很不错的发展。

窗口函数简单解决:
SELECT
app,user_id,rk
from
(
SELECT
app,user_id,
row_number()over(PARTITION by app,user_id order by nums desc )rk
from
(
SELECT app,user_id,count(1) nums
from t1
group by app,user_id
)main
)tmp1
where tmp1.rk in (1,2,3,4,5)
order by app

写了一半,没时间了,说一下思路:通过自链接判断在网吧切时间相差10分钟的人,然后一个分组判断网吧数大于3的用户即可
待补充
全程就像聊天,问题不难,其实都总结过,哈哈哈就像在背书,其实回答的问题也在引导面试官向我熟悉的地方进行提问,最后没时间反问试官了,我还有问题要问呢!
没过3小时,收到2面通知
首先是说明专业的方向就是大数据与人工智能,说明对数据研发的理解。
正常流程
主要说一下数仓建设的建设,数据治理的工作(数据治理加分!)
主要介绍了:
用的较多当然是星型模型
这个问题相当于是问,ER关系实体模型中的3NF优势是什么,回答解耦合、减少冗余即可。
从数据集成、数据计算、数据模型这几个方面说。
这个问题问到我了,我觉得是关于代码执行代价的,但是我不太清楚,就从hadoop和spark的适用场景来说了:
hadoop:基于磁盘,虽然慢,但是处理数据量很大的场景比较稳定
spark:基于内存,速度快,但是数据量过大也会落到磁盘,对于数据量很大的情况容易出现内存不够的情况。
依旧是解决问题的过程
我以为是map reduce工程中的某个阶段,结果发现不是。尴尬了,不会
主要说一下sql语法优化、开启广播、合并小文件、设置shuffle内存大小,设置executor的core和内存。

这一部分我的思路是模仿我们手算乘法的流程,就写几行代码,面试官说主要考察我对难题的处理方式。

窗口函数,接着做个date_sub即可。
SELECT
user_id,count(1) sum_days
from(
select
user_id user_id
v_date
date_sub(v_date,interval rk_tag day) days
from(
select user_id,
v_date,
row_number()over(PARTITION by user_id order by v_date) rk_tag
from user_tab t1
)tmp1
)main
group by user_id,days
这阶段,主要问了一下面试官对自己职位的看法,以及自己未来的发展方向。
二面面试官比较有意思,主要从数据模型、底层技术、代码能力方面考察我,有些问题确实没回答出来,其他问题回答的大差不差的,但是我还是想回答的更完美一些,下去自己再看看吧!