八股: 1. 线程池七大参数和作用?有大量执行时间短的任务如何设置线程池参数?2. Synchronized和ReentrantLock实现上的区别?哪个能尝试获取锁?tryLock方法参数是什么?返回是什么?3. ReentrantLock的公平锁和非公平锁怎么实现的?4. JVM堆内存怎么划分的?5. CMS垃圾回收机制下新生代和老年代各自用什么垃圾回收算法?6. 复制算法(gc)的过程?7. G1和CMS在结构和回收上有什么区别?8. HashMap的结构?什么时候链表树化?什么时候回退为链表?9. MySQL有哪些隔离级别?分别有什么问题?10. 如何通过非命令方式测试数据库的隔离级别?11. Redis你经常在哪些场景下使用?12. 什么场景下适合用redis hash?什么场景不适合?13. 怎么保证redis和数据库数据一致性?14. 消息中间件平常用什么?(rocketMQ)15. RocketMQ的事务消息执行过程是怎样的?16. 限流、熔断、降级分别是什么意思?分别解决什么问题?17. 熔断后如何恢复?需要人工介入吗?最后问了一嘴实习:为什么RAG得到了解决方案不直接使用MCP去执行?手撕:实现LRU