1、自我介绍2、java有哪几种数据类型?3、分别都占多少字?4、基本数据类型和包装类有什么区别?5、基本数据类型和引用数据类型在内存分布上有什么区别?一个类的成员变量也是在栈上面吗?6、平常经常使用的数据结构有哪些?7、list下面有哪些实现类?8、ArrayList和LinkedList两者有什么区别?9、数组和链表的优缺点?10、HashSet底层?11、HashMap的put的过程?怎么确定数组下标?链表过长怎么办?12、红黑树的查找效率是多少?13、java中加锁的方式有哪些?14、synchronized和ReentranLock有什么区别?15、AQS的底层?16、synchronized的锁升级过程?锁能降级吗?17、线程池原理?18、工作队列的作用?线程报错会这么样?19、Innodb的索引数据结构?20、B+树索引与二叉树索引有什么区别?21、MySQL的事务隔离级别?分别解决什么问题?22、可重复读隔离级别是这么实现的?快照读和当前读有什么区别?23、Redis的IO模型?24、Redis的内存淘汰策略有哪些?25、lru和lfu的区别?26、设计一个LRU27、项目中遇到了哪些困难?28、反问