自我介绍
学过哪些Java的东西?
Java基础,JVM和一些框架Spring mvc,Spring boot和Spring cloud
ArrayList和LinkedList有什么区别?有没有什么数据结构结合了ArrayList和LinkedList的优势?讲讲跳跃表的结构?
先讲了HashMap(ArrayList + LinkedList),面试官说再来个,我就说的新版本Redis的list底层重构为了quicklist,即LinkedList + ArrayList优势结合。
JVM内存模型的结构?讲讲堆空间?为什么需要分代回收?什么样的对象进入老年代?
老年代的垃圾回收器Parallel Scavenge(标记-整理)和Concurrent Mark Sweep(标记-清除)
你最常用的集合类是什么?HashMap底层是什么?ConcurrentHashMap和HashTable底层有什么区别?
什么是线程安全?可见性指的是什么?Synchronized和ReentrantLock有什么区别?lockInterruptibly()是怎么实现的?
线程安全就是指的是保证线程运行的原子性、可见性和有序性。
可见性是指当某个线程修改了共享变量的值,其他线程能否立刻知晓。
补充:ReentrantLock使用、底层、AQS
数据库用过么?用的什么引擎Innodb还是MyISAM?Innodb有什么特性?聚簇索引和非聚簇索引的区别?事务的特点?什么是隔离性?事务的隔离级别?用过什么隔离级别?为什么不用读未提交?不可重复读指的是什么?
讲讲Innodb的索引?B树和B+树的区别?
双11大促的时候怎么设计一个高并发接口?
补充:高并发接口幂等性?特别是update操作,需设计幂等性业务逻辑。Insert操作有乐观锁、Token、悲观锁机制。
补充,商品超发怎么解决?
平时怎么学习新知识?遇到问题怎么解决?最近在看什么书?实习时间?用了多久的Java?有什么要问的?