快手 数据开发工程师 一面二面三面 凉经

一面 50 min 一位技术很强的老哥 面试体验很好

0.开场热身

  1. 自我介绍
  2. 你以后的业务倾向于做哪一块?

1.项目相关

介绍下你的第一个Spark 项目

  1. 双流Join,讲一下过程
  2. 你的数据过期时间是多久?为什么这么设置?
  3. 双流 join 之后你的数据会从Redis 里面删除吗?
  4. 你说到了用Redis 来缓存延迟的数据,如果缓存存储的数据过多会出现什么问题,怎么解决?
    猜:会出现OOM问题,我觉得可以用Redis 集群来解决单个Redis 节点上数据过多的问题
  5. 追问场景:如果两个流,一个出现了异常,重启后两个流之间出现了很大的延迟。是不是会导致数据全部缓存到Redis 里面?
  6. 那么你打算怎么解决这个问题?😥不会啊 大家知道怎么回答这个问题吗?能不能在评论区告诉我一下,谢谢!
  7. 你在做Hive 数仓项目的时候有出现过数据倾斜的现象吗?是如何解决的?
    先答了聚合数据倾斜,打随机数再二次聚合的方法。
  8. 还有哪些倾斜的场景?
    继续答了join 倾斜,大表和小表join。小表复制N份大表打1-N的前缀,join,之后再聚合。忘记说采样了,面试官没有继续追问。下次再改进回答。

2. 数据结构相关

  1. 说一下怎么判断链表有环?
  2. 说一下怎么找到环入口?给出详细证明过程?

3.Java 基础相关

  1. 说一下HashMap 的底层实现
  2. 说一下重载和重写的区别
  3. 说一下抽象类和接口的区别
  4. 反射是什么?反射是怎么创建对象的
  5. 用过线程池吗,说一说线程池的各个参数?以及他们的含义?
  6. maximumPoolSize 和 corePoolSize 有关联吗?
  7. 说一下有哪几种拒绝策略?

4.HiveSQL 相关

两道SQL 题目

题目一

tmp表
id class score
求出每门课程前十名的人

说一下row_number(), rank(), dense_rank() 的区别

题目二

temp表
每个id(用户)会被打上不同的标签。labels. show是曝光次数,click是点击次数。
要求:求出每个label 的曝光次数和点击次数。

id labels show click
1 [a,b,c] 10 3
2 [b,c,d] 20 4
要求返回结果
label show click
a 10 3
b 30 7
c 30 7
d 20 4

面试官问:你知道UDF,UDAF和UDTF 的区别吗?这个地方列转行你觉得会用到UDAF还是UDTF?

5.算法

力扣103 二叉树 zigzag traversal

6.反问

  1. 有数仓相关的场景吗?
    面试官答:对商家(用户)的创作内容,曝光、浏览、点击的受众进行分析。方便后续推广。
  2. 项目中难点是什么?
    面试官答:千亿场景下的双流join(多流join),数据量超级巨大。

7.总结

首先,兄弟们知道如何回答项目部分的第五个第六个问题吗,能不能在评论区里贴一下答案,谢谢你!

我很喜欢和广告、商业化相关的场景,同时快手超大数据量也很吸引我,面试体验也很好。有一些问题答的不好,之后查漏补缺继续复习。希望能给一个二面。😊😊😊

二面 45 min 一位很友善的大哥

warm-up

自我介绍
职业发展规划

项目相关+基础知识

  1. 介绍下Spark 项目全流程
  2. 介绍下数仓分层架构,如何分层的
  3. Flume + Kafka + Scoop 的采集架构,如何保证数据的可靠性
  4. Redis 为什么快?
  5. ElasticSearch 你在项目中是怎么用的,如何建的索引?
  6. Spring 了解吗,说一说?
  7. 场景:打印错误日志,同一个链路的方法要求打出相同的数字?好像是这个题目。面试官提醒用ThreadLocal 做。这里不太了解,有懂的兄弟吗?
  8. 场景:现在有直播带货业务,你来搭建数仓,你会怎么去搭建?
  9. SQL题目:一面的题目如何反向得到 labels 列。
  10. Spark 和 Hadoop 的区别,说一下
  11. Spark shuffle 和 hadoop shuffle 的区别说一下。

撕题

K个一组反转链表

三面 40min

😅😅 leader 面,leader 全程对我不感兴趣

有实习吗?
做自动驾驶的啊,讲讲自己的项目?
一道题目:二叉树最大宽度。
😅😅😅😅😅卡壳了,最后没编译出来。中间想和面试官沟通,也不理我,最后到时间了。
反问:觉得大数据开发过程中的难点是什么?
又吹了一波快手。

说实话终面我感觉很不舒服,面试官不想和我交流,做题过程中问提示也不理我。全程没有感觉到双方的吸引力。😓😓😓 就这样吧,很感谢这次经历。

#快手##秋招##面经##大数据开发工程师#
全部评论
楼主几面了,我刚二面完
点赞 回复 分享
发布于 2022-08-31 14:06 四川
LATERAL VIEW Explode 之后再聚合
点赞 回复 分享
发布于 2022-08-26 18:28 浙江
兄弟spark项目哪找的
点赞 回复 分享
发布于 2023-07-27 19:07 安徽
spark streaming的双流join吗
点赞 回复 分享
发布于 2022-08-27 00:09 北京

相关推荐

03-17 15:22
门头沟学院 Java
点赞 评论 收藏
分享
04-10 11:02
已编辑
北方民族大学 全栈开发
“无名小卒,还是名扬天下?”我知道很多人都不觉得我能走到今天这一步,当然,也包括我自己。在我的人生里,有两部作品刻下了最深的烙印:《斗破苍穹》与《龙族》。它们总被人拿来对照:一边是萧炎的桀骜轻狂,一边是路明非的怯懦衰颓。有人说,天蚕土豆没见过魂天帝,但江南见过真凯撒。我时常觉得,自己就是那个衰小孩路明非。可路明非可以开挂,我不可以;我也无数次幻想过,能拥有萧炎那般年少轻狂的人生,可我没有他与生俱来的逆天天赋。我只是个平庸的普通人,一个看过《斗破苍穹》却开不了挂的路明非,只能一步一步往上爬。从我下定决心找实习的那一刻起,我就给自己定下了目标:“我一定要为字节跳动卖命.jpg”。萧炎有他的三年之约,我有我的两年半之约(其实是一年半)。2024.11.20,科大讯飞的第一封实习offer落进邮箱,我迈出了这场奔赴的第一步。2025.8.18,放弃百度转正的安稳机会,转身走进前路未卜的不确定里。我很感谢我在百度的mentor,是她从茫茫人海选中了我,给了我大厂实习的机会。即便有段时间我状态差、产出不理想,她依旧愿意认可我、希望我留下转正。2025.11.14,我选择走进字节跳动,以实习生的身份重新出发。2026.3.25 - 3.31,一周速通上海飞书,幸遇赏识我的伯乐,斩获Special Offer。被告知面试通过的那一刻,我的内心无比平静,就像这个offer本就该属于我。不是侥幸,是应得的。这一路,有人看轻过我的出身,不相信我能走到这里;也有人在我看不见前路的时候,替我举过灯。没有他们的鼓励与支撑,就没有今天站在这里的我。我看到了自强不息的激荡,那是一个双非的伟大乐章!我是雨夜迈巴赫,我要开启属于我的新篇章了。
在看牛客的本杰明很勇...:真心祝贺l总 我永远的偶像 我滴神
春招至今,你收到几个面试...
点赞 评论 收藏
分享
评论
7
39
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务