面灵AI

虾皮Java开发一面-8.13

时间
2026-08
来源
牛客网

《面试题目》

  1. 一、java基础
  2. Hashmap结构
  3. Hashmap扩容机制
  4. Hashmap线程安全吗,为什么
  5. 怎么保障线程安全
  6. 频繁full gc怎么排查
  7. 二、操作系统
  8. 进程和线程的区别
  9. 用户态和内核态的区别
  10. 三、数据库
  11. MySQL事务隔离级别
  12. MVCC原理,为什么可以做到可重复读
  13. redis分布式锁
  14. 四、计算机网络
  15. tcp三次握手
  16. tcp四次挥手
  17. tcp拥塞控制和流量控制
  18. 五、ai-coding手撕

《参考解析》

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