面灵AI

9.2 大疆 后端开发一面

时间
2026-09
来源
牛客网

《面试题目》

  1. 介绍一下最近做的项目
  2. 项目中为什么使用Redis?
  3. Redis常见的数据结构有哪些?
  4. Redis缓存穿透、缓存击穿、缓存雪崩分别是什么?怎么解决?
  5. Redis分布式锁怎么实现?
  6. 线程池有哪些核心参数?
  7. MySQL索引底层为什么使用B+树?
  8. explain主要看哪些字段?
  9. Spring循环依赖是怎么解决的?
  10. @Transactional的实现原理以及哪些情况下会失效?
  11. JVM内存区域有哪些?
  12. 什么情况下会发生Full GC?
  13. TCP和UDP有什么区别?

《参考解析》

  1. 介绍项目时应说明背景、个人分工、遇到的技术难点及解决方案,并量化收益(性能提升、成本下降等),便于面试官追问细节。
  2. 这类问题建议结合自己的项目经历和岗位要求准备具体案例,突出思考过程而非死记结论,面试官更看重解决问题的逻辑。
  3. 进程是资源分配的基本单位,线程是CPU调度的基本单位,协程是用户态的轻量级调度单位,切换成本远低于线程,但需要语言/运行时支持。
  4. 红黑树是内存内的平衡二叉树,追求单点操作的对数复杂度;B+树针对磁盘/索引场景做了扇出优化,减少IO次数,更适合范围查询和顺序扫描。
  5. Spring/Spring Boot的核心是IOC容器与AOP,理解Bean生命周期、自动装配原理和常见starter的加载顺序是回答这类问题的关键。