面灵AI

字节跳动 后端开发 日常实习一面

时间
2026-08
来源
牛客网

《面试题目》

  1. 一、个人信息
  2. 简单做一下自我介绍
  3. 二、项目一
  4. 手机号验证码登录,Redis存token代替session怎么实现?
  5. Redis缓存穿透、缓存击穿、缓存雪崩分别是什么?产生原因和解决方案?
  6. 缓存与数据库一致性怎么保证?先更新数据库还是先删缓存?缓存删除失败怎么处理?
  7. 秒杀模块,Lua脚本实现秒杀一人一单原理?
  8. 高并发下,Redis + RocketMQ怎么保证Redis和MySQL数据一致性?
  9. 三、项目二
  10. 项目技术选型,为什么选LangGraph,不选LangChain?二者区别?
  11. 多Agent协同怎么实现?
  12. MCP工具、Skill技能包如何使用?
  13. AI编程助手怎么做指令安全分级,如何防止高危命令执行?
  14. 四、计算机基础八股
  15. 进程、线程的区别与联系?协程是什么?三者联系?
  16. 哈希表基础,哈希冲突怎么解决?
  17. 常见排序算法有哪些?快速排序时间、空间复杂度?
  18. 数据库MySQL

《参考解析》

  1. Redis常用于缓存、分布式锁和计数。缓存与数据库更新通常采用“先写数据库、再删除缓存”,并通过重试、延时双删或消息补偿处理删除失败。
  2. MySQL索引通常使用B+树,叶子节点按顺序连接,适合范围查询;设计索引时结合选择性、最左匹配原则和执行计划,避免无效索引与回表开销。
  3. 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。
  4. TCP通过三次握手建立连接、四次挥手释放连接;HTTPS在TLS握手中协商会话密钥,并用证书校验服务端身份,数据传输阶段主要使用对称加密。