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

柳小葱 柳小葱     2022-10-22     551

关键词:

🌻最近在准备秋招,又到了面试的环节,我将会对秋招面试的问题进行一系列的复盘,在面试中一点一点成长。对往期内容感兴趣的小伙伴可以参考下面👇:

🌿这次面试的是百度大数据研发工程师的提前批,没有笔试,简历通过后直接面试,具体的业务方向是好像是自动驾驶。

目录

1. 面试问题

1. 自我介绍

开局就是自我介绍,我有点生疏,语速有点快,等面试次数多了,就好了。

2. 介绍一下简历中的项目

我这里介绍的是一个flink的项目,介绍了这个项目的技术,datagen、kafak、flink、es和mysql,数据源为datagen,然后经过kafka消息队列的处理,输入到flink中进行计算,然后输出到mysql和es中进行一个可视化的过程。(这块我没有加入数据的业务逻辑,比如数据源的数据啥样、消息队列如何处理、flink中业务逻辑是什么、最终得到一个什么结果。)

3. 你的项目中提到了kafka,介绍一下你的项目为什么要用kafka,说一说kafka的作用?

我这里说了一下消息中间件的作用,异步和削峰的特点,不用处理完数据之后马上返回结果,达到一种异步的操作,然后还有就是可以处理某一时间段大量的数据输入,我们可以通过消息中间件进行缓存,需要处理的时候再处理。(我觉得我没说到kafka在流式数据处理中的作用,说的是消息队列本身的特点,我应该结合flink说一说)

4. kafka中的生产者的数据一致性保障是如何实现的?

问到这里,我说了幂等性和事务,但是生产者的幂等性和事务的具体实现是什么样子的,我没说出来(这个过程有点复杂,不记得了)

5. 说一说双流join?

我觉得这个名词很熟悉,但是不记得是啥原理,不会答(面试官应该认为我是实时开发的,所以前面问的都是实时相关的问题,我直接说我是离线开发之后,后面就开始说离线的问题了),后面问了一下别人,双流join就是两个流数据直接进行join,因为数据是不断变化的,可能一条流中的数据还没join上就流出去了,所以需要设定一个类似水位线的时间,来限制多久之内没join上,就直接流出去了。

6. 说一下HDFS中如果一个数据块突然坏掉了,会如何处理?

这里我从namenode和datanode的角度来说的,说客户段将数据划分为123m一块,存储在datanode上,datanode会进行备份,会返回每一份的地址给namenode,如果其中一个块坏掉了,会通知namenode从别的datanode上返回备份数据块。

7. 说一下spark和hadoop的区别?

我从map reduce和rdd算子的计算方式、基于内存和磁盘、shuffle中的分区排序和分区不排序做了一些讲解。

8. 介绍一下你在字节跳动做的项目?

七七八八说了一堆,我没有总结,感觉自己说的很乱。

9. 你在项目中遇到过什么困难吗?你是如何解决的?

这个问题好广泛啊,因为我做的需求都是零零碎碎的,我就从我做的业务需求难度、代码的复杂程度等问题进行说明(我觉得这个问题太范了,下次我应该总结几条)

10. 你遇到离线任务出错的情况是如何处理的?

我主要是提了一下我的处理流程:

  • 首先看DAG图,看上游数据是否都成功到达。
  • 都到达就重跑一遍,然后看看日志。
  • 如果是资源不够,可以加资源,比如shuffle超出限制,资源紧张等等。

11. 你提到多是业务问题,有没有遇到过什么技术问题?

这一块我主要说的就是数据倾斜,把数据倾斜处理的手段说了一遍。

12. 你对sparksql优化有何经验?

这里我回答的很浅,像:比如先where后join、不要count distinct、不要select *、不要outer join(我这一块觉得很像如何避免数据倾斜)

13. 如果一个需求很复杂,你觉得应该如何去解决或者优化这个需求?

和需求方确定好,数据范围、包括字段、数据类型等等、然后自己探查和开发的时候碰见疑问,及时抛出来,一起对齐,巴拉巴拉说了一堆(我不知道这个问题的重点在哪)

14.如果一段sql运行很慢你觉得是什么原因?从关系型数据库的角度说一说,并解释一下应该如何处理。

脑子里的第一反应就是:资源不够、数据倾斜,但是感觉以及回答很多遍了,后面面试官叫我从关系型数据库的角度说一说,我就说,可能是数据量太大,应该分库分表,然后我就不会了,面试官也没追问什么。

15. 写一道sql题,窗口函数没问题吧?(下面题目是我记忆中的题目)

这道题主要是算出一个状态的开始时间和结束时间,只要头和尾

这道题我没写出来,但是有思路,就是lead函数,取下一个,然后打上标记,再判断,有点紧张,只写了个lead函数,然后把思路说了一下,后面复盘的时候就写出来了,还是比较有难度的,需要lead和lag

# 第一层的思路确实是lead函数,但是后面需要用lag函数,补充上一个状态最早的开始时间
SELECT 	if(release_time>lag(t1,1,null)over(ORDER BY release_time ),lag(t1,1,null)over(ORDER BY release_time ),release_time) min_time
				,t1,now_status
from(
		SELECT 	release_time,
						LEAD(release_time,1,null)over(ORDER BY release_time ) t1 ,
						now_status,
						LEAD(now_status,1,null)over(ORDER BY release_time ) s1,
						if(now_status=LEAD(now_status,1,null)over(ORDER BY release_time ),1,0) tag
		from status_info
)main
where tag=0

结果如下:

16. 我这边会议室时间快到了,这次面试还是以灵活性问题为主,你有什么想问我的?

这个问题就大家问自己想问的,但是我一般会反问面试官,您在这个岗位3年后,除了薪水能得到提高之外,您觉得这份工作还能给您带来其他的收获吗?

2. 自我总结

这次面试还是有点紧张,而且准备的不是很充分,哈哈哈,回答问题没有明确的范围,想到啥说啥,后面可能需要总结出一类问题的回答。面试官也说了,主要是灵活性的问题。应该是提前批,大家基础都不差,主要是想看大家对工作的态度和处理问题的能力吧。

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

...动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经历.链接:2022暑期实习字节跳动数据研发面试经历-data部门链接:2 查看详情

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

...动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经历.链接:2022暑期实习字节跳动数据研发面试经历-data部门链接:2021年暑假滴滴数据开发面试🌿这次面试的是百度大数据研发工程师的提前批,没有... 查看详情

秋招提前批总结

...试开发面经(已拿offer) 2018百度语音技术部语音识别工程师提前批面试腾讯:2017秋招-技术岗-腾讯-CDG-提前批(2轮技术电面+1轮HR电面) 腾讯春招提前批面试经历(已收到 查看详情

拾牙的2021年秋招总结(大概会有帮助?)(代码片段)

...司岗位面试轮次是否完成2021年7月2日07:00禾赛嵌入式软件工程师提前批一面pass2021年7月7日16:00图森未来软件研发工程师-Linux应用提前批一面notpass2021年7月9日华为杭研所通用软件-数据库内核提前批一面、二面pass2021年7月10日15:00触... 查看详情

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

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

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

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

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

...动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经 查看详情

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

...动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经 查看详情

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

...动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经历.链接:2022暑期实习字节跳动数据研发面试经历-data部门链接:2021年暑假滴滴数据开发面试& 查看详情

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

...动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经历.链接:2022暑期实习字节跳动数据研发面试经历-data部门链接:2021年暑假滴滴数据开发面试& 查看详情

2023届秋招提前批信息汇总(持续更新ing)

 实时更新的文档:2023届秋招提前批信息汇总(持续更新ing)(qq.com)公司投递链接面试网站工作地点截止时间互联网及私企(软件)网易游戏网易游戏(互娱)校园招聘官网https://www.mianshi.online/广州深圳、杭州、... 查看详情

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

...动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经历.链接:2022暑期实习字节跳动数据研发面试经历-data部门链接:2021年暑假滴滴数据开发面试🌿这次面试快手直接通过的简历,依旧没有笔试,简... 查看详情

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

...动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经历.链接:2022暑期实习字节跳动数据研发面试经历-data部门链接:2021年暑假滴滴数据开发面试🌿这次面试快手直接通过的简历,依旧没有笔试,简... 查看详情

最后一周!4000+hc免笔试!字节跳动2022校招研发提前批倒计时

临近八月,马上就快到各大公司秋招开启的黄金季啦!但其实相比竞争最为激烈的秋招还有一条通往offer的“捷径”——秋招提前批字节跳动的研发提前批倒计时最后一周还有同学没搭上「提前批」这趟快车吗?和正... 查看详情

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

...动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经历.链接:2022暑期实习字节跳动数据研发面试经历-data部门链接:2021年暑假滴滴数据开发面试目录面试问题1.自我介绍2.你本科和研究生都是信管相关专业࿰... 查看详情

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

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

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

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

2021届字节跳动客户端提前批一面凉经(代码片段)

...的欠缺,深度还远远不够,所以还是努力的刷题吧,希望秋招能顺利进入字节。以下是主要问到的问题:进程的信号量,线程的信号量,线程的中断,B+树,手撕了一道算法题,最好的解法应该是Djistra算法,广度优先遍历,但当... 查看详情