面试面经 · 百度
【百度】Go后端一面(消息队列+分布式锁+Reactor模型)
【百度】Go后端一面
基本信息
| 项目 | 内容 |
|---|---|
| 公司 | 百度 |
| 岗位 | Golang 后端开发(秋招) |
| 轮次 | 技术一面 |
| 时间 | 2025年8月 |
| 面型体感 | 面试官友善,从实习项目出发深入追问 |
| 结果 | 通过,进入二面 |
面试题目(按提问顺序)
- 自我介绍,聊实习项目
- 使用消息队列时有没有遇到过并发问题?耗时问题怎么处理?
- 如何保证消息队列的消费幂等性?
- 分布式锁怎么设计?用过哪些方案?各有什么优缺点?
- 说一下 IM 系统中的 Reactor 模型?
- 做过内存占用、响应时间的性能测试吗?怎么做的?
- 了解哪些 Linux 命令?awk 和 sed 的使用场景?
- 了解哪些常见端口号以及对应的服务?(HTTP 80、HTTPS 443、SSH 22 等)
- 了解哪些 HTTP 状态码?各自含义?
- LEFT JOIN 和 RIGHT JOIN 的区别?
- MySQL 索引是什么?为什么用 B+ 树?
- MySQL 事务的 ACID?隔离级别有哪些?
- Redis 的常用数据结构?各自使用场景?
- Golang 的 goroutine 和线程的区别?
- 手撕代码:判断链表是否有环(LeetCode 141)
面试感受 / 反馈
- 面试约 30 分钟,节奏适中
- 面试官从实习项目出发,逐步深入追问技术细节
- 问题覆盖面较广但不算特别深,一面更看重基础扎实程度
- 手撕比较简单,链表判环属于经典题
准备建议
- Go 方向要重点准备:goroutine 调度模型、channel 原理、GC 机制
- 消息队列(Kafka/RocketMQ)的使用和原理是高频考点
- 分布式锁的多种实现方案(Redis/ZooKeeper)要能对比分析
- Linux 常用命令要熟练,百度比较看重运维基础
反问示例
- 业务方向是什么?搜索相关的业务有哪些?
- 团队用的主要技术栈?