2023秋招——快手数据研发一二面面经(代码片段)

柳小葱 柳小葱     2022-11-30     696

关键词:

🌼今天来总结一下快手数据研发的一、二面,在面试中进步,在总结中成长!对往期内容感兴趣的小伙伴可以参考下面👇:

🌿这次面试快手直接通过的简历,依旧没有笔试,简历通过后直接面试,没有划分具体的业务方向。

这里写目录标题

1. 一面

1.自我介绍

正常的套路,主要包含自己的基础情况,经历,和一些特点!

2.问滴滴和字节实习主要做的工作?

首先介绍一下负责的主要业务是什么,然后说一下构建数据仓库的基础架构,最后说明一下自己的工作。

3.介绍一下字节的大数据架构?

从数据集成、数据计算、数据模型这几个方面说。

4.说一下你们部门数据仓库的建设?

详细介绍一下部门数仓分层、数据治理的工作(你能说出数据治理就很棒了!)。

5.和滴滴相比,你觉得差异在哪里?

对比数据仓库差异(这一部分我专门对比过,比如主题划分的区别、公共处理逻辑的一些不同)

6.在需求过程中有没有遇到什么难处理的数据问题?

首先回答技术方面:

  1. 数据倾斜
  2. shuffle内存溢出
  3. executor资源不够的情况等。

接着回答一些数据质量问题:
比如指标口径不统一、数据null值较多,主键重复值较多的问题,然后说一下你解决的方案。

7.就拿数据倾斜来说,你有几种处理方式

  1. map join
  2. 利用group by 代替count(distinct)
  3. 倾斜的key值单独处理,这一部分分为对于热点值直接删除(比如key为0等一些没有意义的key)
  4. 倾斜的key值单独处理,对key值进行加盐的操作,然后对另一张表进行笛卡尔积,两者关联后,去盐,再聚合一次。

8.你是做离线还是实时的?

离线偏多,实时也懂一些(简历中的项目是flink项目,但是我是做离线的)

9.某个离线任务出现了问题,你会如何解决?处理的流程是什么?

我的主要思路:

  1. 查看任务的DAG图,看看是自己的原因还是上游的原因
  2. 上游的问题去查看上游,自己的问题去查看日志,看最后的部分
  3. 可能是权限不足、可能是shuffle内存不足、可能是资源不够、数据倾斜等
  4. 根据实际情况进行解决。

10.你的实习经历都是数据研发,有没有想过其他岗位,你对你的未来发展,是什么打算?

这一部分就真实说就好,我也面试过大厂的数据挖掘,如果当时面上了,结果会不会不一样,哈哈哈😂。

11.你对快手和抖音公司末来的发展是如何看待的?

这一点主要是看对公司的认可程度,当然是相互竞争,相互进步的关系,短视频是未来的发展趋势,俩家公司都有很不错的发展。

12.第一道sql题:


窗口函数简单解决:


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

13.说我写的太快,来一道难的:


写了一半,没时间了,说一下思路:通过自链接判断在网吧切时间相差10分钟的人,然后一个分组判断网吧数大于3的用户即可

待补充

14 面试总结:

全程就像聊天,问题不难,其实都总结过,哈哈哈就像在背书,其实回答的问题也在引导面试官向我熟悉的地方进行提问,最后没时间反问试官了,我还有问题要问呢!

没过3小时,收到2面通知

2. 二面

1.看了你的简历,你的专业偏向于管理优化,说说你为啥做数据研发?

首先是说明专业的方向就是大数据与人工智能,说明对数据研发的理解。

2.自我介绍

正常流程

3.个绍一下你在字节的数仓建设,以及你负责的工作?

主要说一下数仓建设的建设,数据治理的工作(数据治理加分!)

4.说一下维度建模中的几种模型?你们那边用哪种模型较多,为什么?

主要介绍了:

  1. 星型模型:维度表都是连接在一个事实表上,强调的是对维度进行预处理,将多个维度集合到一个事实表,形成一个宽表,适合分析
  2. 星座模型:事实表连接维度表再连接事实表,几乎不怎么用,关系复杂。
  3. 雪花模型:事实表连接维度表,维度表在连接维度表,数据冗余少;有些数据需要连接才能获取,可能效率较低。

用的较多当然是星型模型

5.说一下你对维度建模的理解?

  1. 维度建模的基础概念:维度建模从分析决策的需求出发构建模型,为分析需求服务,因此它重点关注用户如何更快速地完成需求分析,同时具有较好的大规模复杂查询的响应性能。
  2. 介绍一下ER实体关系模型:用实体-关系-实体的模式来描述企业业务,在范式理论上符合 3NF。
    说一下大数据场景下维度建模更时候需求分析,而ER实体关系模型更注重于解耦合、减少冗余,说明用空间来换取查询的时间等

6.雪花模型的优点是什么?

这个问题相当于是问,ER关系实体模型中的3NF优势是什么,回答解耦合、减少冗余即可。

7.你们公司技术架构是什么?

从数据集成、数据计算、数据模型这几个方面说。

8.你们的任务,是如何判断用hql跑还是sparksql跑? 怎么评判执行的代价?

这个问题问到我了,我觉得是关于代码执行代价的,但是我不太清楚,就从hadoop和spark的适用场景来说了:
hadoop:基于磁盘,虽然慢,但是处理数据量很大的场景比较稳定
spark:基于内存,速度快,但是数据量过大也会落到磁盘,对于数据量很大的情况容易出现内存不够的情况。

9.离线任务出现报错,你会如何去解决?

依旧是解决问题的过程

10.考察一下技术知识,你知道hadoop的二次排序吗?

我以为是map reduce工程中的某个阶段,结果发现不是。尴尬了,不会

11.你刚才提到spark的优化?简单说一说

主要说一下sql语法优化、开启广播、合并小文件、设置shuffle内存大小,设置executor的core和内存。

12.考察一下代码:给你x,y两个超出整型类型的超大整数相乘,如何实现?转换成字符串,想用我们笔算的方式实现,就写了个遍历宇符串,相乘,写了一半,不会了,说了一下思路


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

14.sql题:用户连续登陆的天数


窗口函数,接着做个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

15.反问阶段

这阶段,主要问了一下面试官对自己职位的看法,以及自己未来的发展方向。

16.总结

二面面试官比较有意思,主要从数据模型、底层技术、代码能力方面考察我,有些问题确实没回答出来,其他问题回答的大差不差的,但是我还是想回答的更完美一些,下去自己再看看吧!

2023秋招——快手数据研发一二面面经(代码片段)

🌼今天来总结一下快手数据研发的一、二面,在面试中进步,在总结中成长!对往期内容感兴趣的小伙伴可以参考下面👇:链接:2022暑期实习字节跳动数据研发面试经历-基础数仓.链接:2022百度大数据开发... 查看详情

2023秋招——快手数据研发一二面面经(代码片段)

🌼今天来总结一下快手数据研发的一、二面,在面试中进步,在总结中成长!对往期内容感兴趣的小伙伴可以参考下面👇:链接:2022暑期实习字节跳动数据研发面试经历-基础数仓.链接:2022百度大数据开发... 查看详情

成都百度测试开发一二面面经

...字符串进行排序?4、对一个数字数组,用快速排序?5、数据库:数据库用过什么?对数据库的优化了解吗?6、TCP怎么建立连接的?如果不是三次握手,是两次握手,有什么不同?7、HTTP里的Get和Post的区别?8、测试:怎么测试QQ... 查看详情

京东后端开发实习一二面面经(已offer)

...8;实现、部署)3.在华为的项目为什么要用mongodb,数据量的量级4.项目中redis的作用,token怎么用,为什么要用redis不用本地缓存,使用本地缓存会有什么问题5.分 查看详情

2023秋招面经4399前端二面-hr面(20min)

...,怎么攻克的?有没有借助他人帮助?你对于秋招的岗位或者未来的发展方向有什么想法吗?(岗位范围&# 查看详情

携程java面经一二hr面面经

...务端注册和客户端注册的源码4、项目怎么解决Redis和MySQL数据库不一致问题?5、HashMap啥时候扩容,为什么扩容?6、聊了Reentrantloc 查看详情

2022秋招蚂蚁金服数据研发一面(代码片段)

...0c;对往期内容感兴趣的小伙伴可以查看👇:链接:2022年秋招快手数据开发一、二面链接:2022暑期实习字节跳动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经 查看详情

2022秋招蚂蚁金服数据研发一面(代码片段)

...0c;对往期内容感兴趣的小伙伴可以查看👇:链接:2022年秋招快手数据开发一、二面链接:2022暑期实习字节跳动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经 查看详情

2023秋招——大数据研发工程师提前批一面(代码片段)

🌻最近在准备秋招,又到了面试的环节,我将会对秋招面试的问题进行一系列的复盘,在面试中一点一点成长。对往期内容感兴趣的小伙伴可以参考下面👇:链接:2022暑期实习字节跳动数据研发面试经历-... 查看详情

2023秋招——大数据研发工程师提前批一面(代码片段)

🌻最近在准备秋招,又到了面试的环节,我将会对秋招面试的问题进行一系列的复盘,在面试中一点一点成长。对往期内容感兴趣的小伙伴可以参考下面👇:链接:2022暑期实习字节跳动数据研发面试经历-... 查看详情

2023秋招——大数据研发工程师提前批一面(代码片段)

🌻最近在准备秋招,又到了面试的环节,我将会对秋招面试的问题进行一系列的复盘,在面试中一点一点成长。对往期内容感兴趣的小伙伴可以参考下面👇:链接:2022暑期实习字节跳动数据研发面试经历-... 查看详情

小米前端二面面经

title:小米前端二面面经toc:truedate:2018-10-2013:04:04categories:Webtags:JavaScriptHTTPTCPUDPCookie正好都是不会的。。。所以完整地记录一下。简单来说就是JS和网络掌握地并不是很全面。JavaScript严格模式ES5中新增usestrict不允许使用未声明的变... 查看详情

2019秋招面经大汇总-运营

参考技术A【哔哩哔哩】b站主站内容运营面筋https://www.nowcoder.com/discuss/350939【京东】双非本科上岸京东电商品类运营——从网申开始https://www.nowcoder.com/discuss/351492【SHEIN】分享shein跨境电商运营面经~https://www.nowcoder.com/discuss/349113... 查看详情

京东后端开发实习一二面面经(已offer)

...8;实现、部署)3.在华为的项目为什么要用mongodb,数据量的量级4.项目中redis的作用,token怎么用,为什么要用redis不用本地缓存,使用本地缓存会有什么问题5.分布式相关的知识?nacos、zookeeper、dubbo、mq、she... 查看详情

2023秋招面经深信服前端一面(1h)(代码片段)

自我介绍+项目比较有难度的地方你刚刚说Vue3按功能来组合,不是按OptionAPI组合,你简单写一下伪代码(实现一个计时器,进入这个模块计时器开始计时,离开页面则销毁,在中间过程中,获取计时... 查看详情

2023秋招面经小红书前端-提前批(1h)(代码片段)

自我介绍你认为前端工程师的技术要素有哪些?你刚刚说的都是偏开发的,但我们工作中还有很多比如说排障、问题分析、相关工程的运维、发布、部署、编译,这样的东西你觉得依赖哪些知识?举个例子,... 查看详情

2023秋招面经小红书前端-提前批(1h)(代码片段)

自我介绍你认为前端工程师的技术要素有哪些?你刚刚说的都是偏开发的,但我们工作中还有很多比如说排障、问题分析、相关工程的运维、发布、部署、编译,这样的东西你觉得依赖哪些知识?举个例子,... 查看详情

百度后端c++,一面二面+主管面面经(已拿offer)

非科班C++,面试岗位百度后端(C++/PHP研发工程师),看中的是百度作为互联网黄埔军校及后端岗JD与自身高契合度,作为应届生有计划的话,能够在百度接触、学习领域包括搜广推等行业领先... 查看详情