百度提前批后端一面 —— 亚历山大,特批拿下

这几篇志颜学长想聊聊当时百度一面的感受。25 届校招,加了总监面一共四场技术面,没有 HR 面,因为是双非,非目标院校。最终是走了特批流程才拿下的 offer。第一面强度直接拉满。说实话,当时压力挺大,毕竟是提前批的第一批,准备还没特别充分,上来就围绕我做的素材推送系统深挖,特别是 "如何保证不重发、不多发、不漏发" 这个问题,前后追问了两轮。后面还问了很多 Go 底层的东西,比如 map 的实现、sync.Map 的锁机制、go run 的编译流程…… 问得特别细。 我面完开玩笑说:"大佬,您太强了,压力有点大。" 面试官也笑着回我:"没有啦,就是想多了解一下候选人,后面定级也要参考嘛。" 整体氛围还算轻松,但内容真的不轻。这场面试也让我意识到:你以为准备得差不多了,其实还有很多盲区;你以为理解得还行,其实被一追问就原形毕露了。真正有深度的项目,是你能从设计、性能、异常、底层各个角度都讲得明明白白。面试结束不是终点,而是暴露问题、快速成长的起点。这次我虽然答得不完美,但收获很大。后续能拿下 offer,也算是幸运+积累的双重结果。感恩那位面试官,也感谢当时没放弃的自己。下面是一面的面经。 🧱 一、项目与工程实践相关问题滴广重1、请挑一个你认为最有技术深度的项目讲讲。2、为什么要重构?原系统哪里"难用"?分析老系统时是如何排查问题的?3、新架构中对 "下载素材重复"、"并发控制"、"diff任务积压" 等问题具体做了哪些优化?4、并发控制是怎么做的?如何动态调整任务数量与资源负载?5、diff任务的 "重复推送" 是怎么出现的?你怎么设计逻辑防止这种情况?6、你提到 "推送效率提升20倍",请问这个收益是如何统计出来的?是精确对比还是估算?7、系统一小时内最大推送吞吐量是多少?是否能支撑 100 万消息/小时?8、推送视频时是否为推二进制?为啥不用 CDN 地址?9、多媒体渠道(百度、腾讯等)上传素材时,如何保证不重发、不多发、不漏发?10、单次 API 调用时如何规避漏发(网络异常、DNS失败、连接超时)?RPC 层面能做什么?🧠 二、分布式系统与中间件机制1、Redis 使用中提到了 SET NX,请问你如何管理这个锁的生命周期?2、如果锁过期了还在执行推送,会不会出现 "重复推送"?下游如何处理这种重推?3、Redis 中用过 Hash 吗?了解常用命令吗?(如 HSET、HGET)4、Redis 的 Hash 底层结构是怎样的?5、Redis 的淘汰策略(如 LRU)你了解哪些? 🧩 三、可观测性与告警处理逻辑(夜莺监控相关)侧重探讨你做的告警分发机1、你在夜莺监控中参与了哪些功能?2、告警如何保证 "不多发"?是否存在 "同一事件多个实例重复告警" 的问题?3、多实例部署时,如何确保内存中的事件处理不重复触发告警?🧬 四、Go语言底层知识与实现原理1、你说看过 Go 源码,请描述从 go run main.go 开始,程序启动都经历了哪些阶段?2、哪些逻辑是编译期完成的?哪些是在运行时执行?3、Go 中的 map 底层结构是什么?如何解决哈希冲突?topHash 的作用是什么?4、Go 的 sync.Map 和普通 map 有什么区别?适用什么场景?5、sync.Map 的锁粒度是什么?锁的是整个 map 还是某个部分?6、sync.Map 中的 readMap / dirtyMap 是如何切换的?"misses" 指标怎么用?🧮 五、算法题与代码能力1、请用 Go 写一个合并两个有序链表的函数。2、请用 Go 写一个求二叉树左视图的函数。写完后问:还有更优解吗?是否可以用 DFS 前序遍历? 六、反问环节问了两个问题:1、这个岗位后续的面试流程是怎样的?2、团队主要做哪方面的内容?

#面试问题记录##提前批第一面##牛客创作赏金赛##秋招##百度#
全部评论
真遇到大佬了
1 回复 分享
发布于 07-22 11:50 河南
一面的面经,关注我后续会逐渐更新几十次大厂面试的面经!!!
1 回复 分享
发布于 07-22 10:56 贵州
入职了鹅厂了,牛佬们快来当兄弟姊妹,内推码:34X35C2T,可帮看简历,投了私信我可全程跟进流程(别找野鸡内推码,看不到流程状态的)
点赞 回复 分享
发布于 07-30 09:57 北京
接好运
点赞 回复 分享
发布于 07-28 14:51 天津
学长 百度提前批已经挂了
点赞 回复 分享
发布于 07-23 03:54 北京
百度哪儿来的目标院校
点赞 回复 分享
发布于 07-22 14:58 北京
哥们,你真是耐面王
点赞 回复 分享
发布于 07-22 11:49 陕西

相关推荐

09-07 15:09
南开大学 Java
📍面试公司:B站🕐面试时间:9月7号💻面试岗位:后端开发❓面试问题:**一、八股**1. Java中线程池的七大参数及其工作原理2. JVM中ZGC的染色指针技术如何实现3. Spring循环依赖的解决原理及三级缓存机制4. MySQL的索引下推优化原理5. Redis的HyperLogLog实现原理及误差范围6. 分布式系统中的Paxos算法核心思想7. Kafka的零拷贝技术具体实现方式8. 如何设计一个分布式系统的配置中心9. 什么是CQRS架构模式及其适用场景10. Java中ForkJoin框架的工作窃取算法11. 数据库分库分表后全局ID生成方案12. 服务网格中如何实现流量镜像13. 如何设计一个高性能的本地缓存14. 分布式系统的熔断器模式实现原理15. 谈谈你对响应式编程背压机制的理解**二、项目**1. **苍穹外卖项目**:- 分布式环境下如何保证订单号的全局唯一性- 多级缓存架构是如何设计的2. **黑马点评项目**:- 热点Key探测和本地缓存方案- 用户积分系统的防刷机制**三、手撕**1. 力扣1249.移除无效的括号:给定一个由'('、')'和小写字母组成的字符串,移除最少数量的括号使得剩下的括号有效- 思路:使用栈记录括号位置,标记需要删除的索引2. 力扣621.任务调度器:给定一个字符数组表示的任务列表和冷却时间n,计算完成所有任务所需的最少时间- 思路:优先安排出现次数最多的任务,利用贪心算法计算时间
查看19道真题和解析
点赞 评论 收藏
分享
评论
7
31
分享

创作者周榜

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