百度后端开发暑期实习一面面经

百度 · 后端开发工程师 · 一面 · 2026-06

《面试题目》

  1. 负载均衡的常见实现方式有哪些?Keepalived 基于什么协议实现,核心配置参数有哪些?
  2. 请解释 TCP 三次握手的过程。
  3. TCP 和 UDP 有什么区别?
  4. DNS 的解析过程是什么?
  5. ICMP 协议有什么用途,ping 如何工作?
  6. 二层交换与三层路由有什么区别?
  7. C++ 智能指针有哪些类型,各自适合什么场景?
  8. 线上 CPU 占用率过高时如何排查?
  9. 项目是否部署到公网或发布到 GitHub?
  10. Kafka 的核心机制是什么?
  11. MySQL 索引如何工作?如何排查和优化慢查询?
  12. 你对 AI 有哪些了解?
  13. 请介绍项目经历。
  14. 是否使用过抓包工具,如何分析网络请求?
  15. MySQL 主从复制和持久化机制分别是什么?
  16. 算法题:实现二叉树的层序遍历。

《参考解析》

  1. Keepalived 与负载均衡:Keepalived 主要通过 VRRP 提供虚拟 IP 漂移和高可用,常见配置包括实例状态、网卡、虚拟路由 ID、优先级、认证和虚拟 IP;它通常与 LVS 或反向代理配合。
  2. TCP 三次握手:客户端发送 SYN,服务端返回 SYN 与 ACK,客户端再回复 ACK。第三次握手用于确认服务端的响应已被客户端收到,避免失效连接请求占用服务端资源。
  3. CPU 过高排查:先用系统指标确认进程与线程,再结合调用栈、性能采样、GC、锁竞争和请求流量定位热点,同时核对近期发布和依赖异常,避免只看平均值。
  4. MySQL 慢查询:通过慢查询日志和执行计划检查全表扫描、索引选择、回表、排序与锁等待;优化时应从查询范围、联合索引、数据量和事务边界共同判断。
  5. 层序遍历:使用队列保存待访问节点,每次取出队首并依次压入左右子节点;若需要按层返回,则在每轮记录当前队列长度。