字节跳动后端一面凉经

字节跳动 · 后端开发 · 一面 · 2026-03

《面试题目》

  1. 项目拷打
  2. MySQL相关:最左匹配原则、索引原理、事务机制及项目中的应用场景
  3. 网络协议:HTTPS原理、三次握手与四次挥手、TCP与UDP区别、拥塞控制原理
  4. Java基础:设计模式及应用、锁机制、HashMap底层实现
  5. 软件工程:SOLID原则
  6. 数据结构:常见数据结构分类
  7. 手撕代码:无重复字符的最长子串

《参考解析》

1. 最左匹配原则:在使用联合索引时,检索数据从索引的最左列开始匹配,若中间跳过某列,后续列将无法利用索引。建议查询条件紧跟索引定义顺序。

2. 三次握手与四次挥手:三次握手确保客户端与服务端均具备发送与接收能力;四次挥手是因为TCP全双工特性,被动关闭方需要时间处理剩余数据后再发送FIN包。

3. TCP拥塞控制:通过慢启动、拥塞避免、快重传和快恢复算法,动态调整发送窗口大小,防止网络拥塞导致的丢包。

4. HashMap底层:JDK 1.8采用数组+链表+红黑树实现。链表长度超过8且数组长度大于64时转红黑树,有效降低冲突查找时间复杂度至O(log n)。

5. SOLID原则:核心包括单一职责(SRP)、开闭原则(OCP)、里氏替换(LSP)、接口隔离(ISP)和依赖倒置(DIP),旨在提升代码可维护性与扩展性。