java基础知识
1、HashMap实现原理,HashMap和HashTable实现区别,HashTable的key值是否允许为空,为什么,HashMap中的循环链表什么情况下怎么形成的,java8中对HashMap做了哪些优化,多线程情况下最容易抛出的异常,ConcurrentHashMap实现原理 (详见 http://dwz.cn/5pC5sc)
2、ArrayList和LinkList实现,区别,哪一种数据结构占用内存多
3、java有哪几种异常类型,分别在什么情况下使用java多线程
1、volatile和synchronized区别,Lock和synchronized区别
2、CountDownLatch、CyclicBarrier和Semaphore使用场景和区别,怎么实现CountDownLatch功能
3、ThreadPoolExecutor有那些参数,分别含义是什么,是否初始化好coreSize的线程数,怎么样才能在初始化的时候有coreSize个线程初始化好了
4、ThreadLocal实现原理
5、SimpleDataFormat是否为线程安全的,为什么,怎样变成线程安全JVM
1、对象的生命周期
2、什么情况下发生OOM和StackOverFlow,举个例子,如何排查OOM
3、如何定为到Java程序中cpu利用率高的代码
4、java内存模型,回收算法,CMS实现
5、mirror gc和full gc数据库
1、做过那些数据库相关优化
2、MySql联合索引,联合索引数据结构实现
3、聚簇索引和非聚簇索引区别
4、数据库分库分表
5、事务的隔离级别
6、分布式事务,二阶段提交和三阶段提交其它
1、AIO、BIO和NIO区别,unix IO模型
2、TCP三次握手和四次挥手,为什么不是两次握手,如何查看连接状态
3、RPC和HTTP区别
4、一致性hash
5、有三个线程名字分别为A、B和C,打印线程名ABBCCCAAAABBBBBCCCCCC……..直到200个字符为止( 见:http://dwz.cn/5qoxbi)
6、linux如何打印日志中的两行数据
7、paxos协议选主过程
8、tcp粘包/拆包
9、netty线程模型
java面试题
最新推荐文章于 2022-04-14 18:58:23 发布