面灵AI

字节一面凉面

时间
2026-08
来源
牛客网

《面试题目》

  1. 没人告诉我要背这么多八股啊T.T
  2. Java和C++区别
  3. Java编译到运行全流程
  4. 为什么用JVM
  5. 编译器和解释器区别?Java用的什么
  6. Redis如何实现高可用性
  7. MySQL的InnoDB引擎为什么用B+树不用B树
  8. 准备一堆项目的说辞结果项目一句话都没问
  9. 算法题给的最小栈我还脑子一空忘了辅助栈了

《参考解析》

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