百度数开一面

面试官挺年轻的,感觉二十来岁,而且全程拷打我spark底层,我估摸着是刚入职八股没忘干净

自我介绍
自我介绍我一般说,我是谁,来自xx学校,然后熟悉xxx技术栈,在xx实习,职责是xxx。

介绍实习(5min左右)

开始八股
数仓建模
1. 讲讲维度建模
2. 讲讲事实表和维度表,讲讲事实表几种类型
3. 讲讲事务性事实表和周期快照事实表的区别,应用场景
4. 为啥不用事务性而用周期快照
5. 讲讲拉链表

Spark
5. 讲讲spark底层做了哪些优化(我讲了列裁剪+分区裁剪)
6. 为啥行式存储不能列裁剪,非要列式存储
7. 讲讲列式存储底层是怎么做裁剪的
8. 为什么谓词下推不叫谓词上推,不是将where/on条件提到靠近数据源的地方吗
9. 讲讲shuffle底层(我讲了hashshuffle和sortshuffle)
10. sortshuffle一定会排序吗(bypass机制)
11. 讲讲宽窄依赖
12. 讲讲广播变量底层实现
13. 如果变量不在driver端广播,而是在executor端怎么办
14. 讲讲spark中的join底层实现
15. 讲讲rdd,rdd的弹性是怎么理解的
16. spark内存计算你是怎么理解的
17. dateframe和rdd的区别,对操作的数据来说还有啥不同

手撕SQL
last_value+case when解决秒了

反问

面试官一直问,直到我不会再换个,不过面试官没板着脸,在笑,所以对我来说压力还好,不是特别大。

#面试问题记录#

全部评论
哪个部门
点赞 回复 分享
发布于 05-27 19:54 北京
接好运
点赞 回复 分享
发布于 05-24 16:39 河南

相关推荐

1. 自我介绍2. 闲聊,问研究生课程,能实习时长,毕业时间3. 项目3.1 登录身份校验使用了JWT令牌,是怎么实现的3.2 redis的一主两从是自己部署的吗3.3 redis缓存穿透是什么,怎么解决3.4 为什么要用乐观锁解决超卖问题(答: 考虑到项目场景并发量不会很大,如果使用悲观锁会有性能开销)3.5 既然并发量不大,为什么还采用锁呢?如果采用悲观锁该怎么实现3.6 数据库的分布式锁有用过吗?没用过那就介绍一下你用过的分布式锁3.7 防重Token+lua脚本是为了解决什么问题,怎么实现的3.8 多个线程执行这个lua脚本会出现什么问题吗?3.9 使用RabbitMQ是为了解决什么问题,怎么解决的3.10 Spring AOP是什么,有哪些适用场景3.11 Spring事务是什么,有什么作用3.12 介绍一下Synchronize关键字,可以加在哪些地方4.1 项目里面Java多线程是怎么使用的4.2 如何进行的多通信断点点多路复用管理5. 抽象类和接口有什么区别?各自适用于什么场景?6. 某个接口sql查询慢,如何排查7. 索引失效8. 怎么分库分表,sql表数据量太大导致的查询速度慢怎么解决9. 介绍一下Java类加载的机制手撕:leetcode.78总结:项目熟悉度不够,分布式锁,分库分表知识点掌握不熟,Spring的事务相关知识掌握不足,对于项目中多通信端点多路复用管理的实现掌握不够,手撕明明很简单但写出来了没能跑出来,给面试官讲了一下思路。感觉自己回答问题的时候有点紧张加上对八股熟悉度不够,老是说一半卡壳,答不全。整体难度不算高,但我准备得不够充分。。。估计挂了。
查看22道真题和解析
点赞 评论 收藏
分享
评论
3
4
分享

创作者周榜

更多
牛客网
牛客企业服务