百度Go后台开发 - 一面 - base深圳 面经

1. 自我介绍

2. 问 ACM 情况,什么奖,还熟悉吗,熟悉的话打开vjudge来一道(婉拒了哈)

3. 之前有实习过吗,如果你有机会转正会考虑百度转正吗

4. 我们在深圳,你能实习多久

5. 好的,我们现在根据简历去问一下,我看你做过的东西还挺多的,一个开源的分布式事务框架,一个开源的数据库项目,还有一个分布式kv项目对吧,这三个你觉得哪个有意思,想讲哪一个?(选了自己的分布式kv项目)

6. 好的,你先跟我讲一下你这里要解决什么样的问题,主要的难点痛点是什么?

7. 打断一下,你这里为什么要使用布隆过滤器?

8. 好的,我看你这里有用到raft是吧,那我问一下你存储的基本单元是什么?

9. 好的,你可以类比一下redis想象下面的整个过程:因为你在做kv存储对吧,比如我有一份数据,问我怎么保证这个数据一定写成功,不会丢失,不会损坏,你怎么解决这个问题的?(问了一下面试官,自己理解的是否对,大概是问在一个集群环境中进行写入,怎么保证数据会完整的同步到其他节点上。回答的时候对比了redis的集群Master, Slave这些,还有哨兵机制,然后讲哨兵的时候说类似raft投票那样,在这里被打断了一下)

10. 你解释一下这个相似的过程,讲一下raft。(讲了投票,Leader选举,数据同步)

11. 打断一下,假如我现在集群分散在青岛和广州,Leader在青岛,现在青岛和广州的网络断开了,Leader宕掉了,然后广州机房有一半以上的节点,此时广州机房会产生大量的Candidate对吧,并且此时在广州机房选出了新的Leader,但在这个时候网络链接又好了,青岛和广州机房又连接起来了,这个时候会有什么问题吗?

12. 有看过Mit6.824吗?(当时做了个MapReduce然后就没继续跟了)

13. 好没事,MapReduce和布隆过滤器你更熟悉哪一个?(布隆过滤器)

14. 讲一下布隆过滤器,原理是什么,你对他的理解是什么?

15. 好的,我们还是进行一些扩展:假设,疫情的时候,你是你们学校核酸这方面的负责人,现在我要做这么一件事,输入一个学生的学号,判断他有没有做过核酸,你会怎么去做?

16. 好,可以,项目这块我就聊的差不多了,然后我可以问一些基础的问题吗,计网,操作系统,数据库,数据结构熟悉哪个?(数据结构)

17. 说一下排序吧

18. 快排的时间复杂度是什么?分析一下。

19. 我还有一个事情比较感兴趣,我看你Seata-Go这边有个undo log的事情对吧?这个东西你是怎么解决的?介绍一下Seata-Go是个什么样的东西。

20. Seata支持的事务模型是什么知道吗?(说了四个模式,AT, XA, TCC, Saga)

21. 你了解的AT模式是什么?(解释了一下流程)

22. 好的,解释的很棒,那么XA模式能解释一下吗?(没有参与XA相关的工作)

23. 你没有参与的就不聊,除了AT还做了哪个?(Saga)

24. 好的,你讲讲Saga模式。(讲了流程,还有Seata-Go和Seata java的Saga实现的一些小区别)

25. 知识面做的不错,待会面试完把你的commit记录发我邮箱一下吧,我看看。

26. 开共享我们做个题吧,LRU,保证它的线程安全。

27. 把代码拉到最上面,讲一下,你Put这里有个问题,并发安全的问题,发现了吗?(面试官讲完就发现了,size应该用atomic,还有双向链表应该CAS或者加锁,太紧张忘了)

28. 你这个问题如果别人不review你代码的话很难发现的,继续讲吧。

29. 好的我看着差不多了,如果给你过了多久能来入职?能实习六个月对吧?

30. 好,今天面试就到这里,你还有什么要问我的吗?

反问:

1. 您觉得我有什么需要改进的吗?(基础)

2. 如果过了的话是做什么业务?(广告业务)

结束

---

20分钟后Hr约二面

#面经#
全部评论
牛的,问这么深
4 回复 分享
发布于 2025-02-12 20:05 广东
牛逼,这个到校招已经乱杀了
1 回复 分享
发布于 2025-02-13 10:38 北京
看面经看自卑了...佬太牛了
点赞 回复 分享
发布于 2025-02-20 13:37 云南
接好运
点赞 回复 分享
发布于 2025-02-15 23:23 陕西
兄弟真*** mark一下
点赞 回复 分享
发布于 2025-02-15 16:22 广东
佬强的,和佬的差距实在太大
点赞 回复 分享
发布于 2025-02-13 11:09 江苏
太强啦
点赞 回复 分享
发布于 2025-02-13 09:53 浙江
深圳百度一个人管一堆外包,实习生给外包写redis demo,总之很离谱。。
点赞 回复 分享
发布于 2025-02-12 20:34 上海

相关推荐

1.WordCount 具体是怎么跑的?比如怎么分片、map 阶段做了啥、shuffle 是咋回事、reduce 最后怎么汇总的2.MapReduce和Spark 到底差在哪儿?适用场景这些都得对比着说3.Spark 提交任务时,Client模式和集群模式有啥不一样?比如 Driver 在哪跑、日志在陖瞎圈看、适合啥场景4.同一条 SQL,为啥 SparkSQL 跑起来比HiveSQL 快?得从执行引擎、优化器这些底层说说原因5.自定义 UDF 怎么实现?比如在 Hive 或Spark 里,具体步骤是啥,有没有踩过坑6.设计 HBase 表得注意啥?rowkey 怎么设计才合理、列族要不要分、版本数怎么设,这些睪腘狐旨を曽斷纰可能问到7.HBase 里的 HLog 是干嘛的?跟数据持久化、故障恢复有关系吗8.都是存在 HDFS 上的数据,为啥 HBase 能支持在线实时查询,Hive 就不行?底层存储结构不一样在哪9.用 SparkSQL 操作 Hive 数据时,有没有縈区堠浓ゴ壮攥到过兼容性问题?比如某些函数不支持、数据格式读不对之类的,怎么解决的10.Spark Streaming、Storm、Flink 这几个流处理框架,区别在哪?各自的优缺点和适用场景得搞明白场景题:11.数据量特别大,要用三个 Map 和一个Reduce 来做 Top10,哪种方法效率最高?得考虑怎么减少数据传输、避免倾斜
查看11道真题和解析
点赞 评论 收藏
分享
2025-11-20 09:10
门头沟学院 Java
查看11道真题和解析
点赞 评论 收藏
分享
评论
29
71
分享

创作者周榜

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