1. 自我介绍 2. 你之前有过公司项目经验吗?(因为没实习,感觉已经pass了) 3. 一直写java比较多吗? 4. 用的jdk版本? 5. 字节码加载机制(类加载)? 6. 解析过程中有引用的转换,讲解一下? 7. 符号引用是什么?为什么要转为直接引用?(没回答出来,面试官说是class文件中的一些符号串起来是真正引用的东西) 8. java常见的锁? 9. 哪些结构里用了CAS或继承了CAS的工具类? 10. ReentrantLock 你都用到那些地方? 11. 与关键字锁的最大区别是什么? 12. 除了使用方式外重量级不一样,ReentrantLock是重量级。 13. aqs主要是做什么的?其中的node你了解吗? 14. 怎么创建一个公平锁? 15. 你可以去了解下ReentrantLock底层源代码。 16. 创建线程池的类? 17. 如果让线程池工作的话,需要worker,worker中存储什么信息?(存储当前线程id) 18. ThreadLocal是干什么的? 19. ThreadLocal底层节点存储的什么?(我说的是key是ThreadLocal对象,v是对应的value 。面试官说key是对象的key,value是ThreadLocal对象。我蚌埠住了,咱也不敢反驳。) 20. mysql索引结构是什么?存储的是什么数据? 21. mysql配置的结构你能描述一下吗?(这个问题真没明白) 22. buff缓存池中的配置连成一串,这一个个配置都是什么(接上一个问题)存的什么东西?(面试官说存的数据的值和索引,和节点之间的指向) 23. 叶子节点是单向还是双向?为什么这么设计? 24. mysql事务默认隔离级别?解决的什么问题? 25. MVCC为什么在不可重复读没有解决不可重复读?而可重复读解决了? 26. spring bean加载的过程? 27. spring 自动配置原理? 28. autowired 默认按照什么类型装配? 29. aof持久化策略? 30. 存的记录是什么东西? 31. 消息的幂等性怎么保证? 32. 分布式锁你是怎么实现的? 33. 其他进阶锁你知道吗? 34. 一致性哈希算法? 35. 一致性哈希哪些中间价中用到了?(面试官说缓存雪崩用的多一些) 算法:最长无重复子串 面试官评价:其他部分够了,并发有些弱。 上午面,中午凉,原因:之前的项目经历不太匹配。还是太菜了