收集了一下最近面试时一些中级面试的题目
一、Java基础
1、ArrayList和LinkedList的区别?
2、HashMap底层实现原理?哈希冲突的处理方法有哪些?
3、你知道的算法有哪些?
4、类加载机制说一下,类加载生命周期有哪些?
5、JVM原理,程序运行区域如何划分?
6、简单说说Java中的内存溢出?
7、Java中的NIO、BIO、AIO分别是什么?
8、Builder是什么?如何使用?有的面试官也会问多属性的实体类,如何优化构造方法?
9、创建一个类的实例有哪几种实现方式?
10、JVM的垃圾算法有哪些?
11、如何查看一个线程的资源耗用?
12、抽象类和接口有什么区别?
二、框架部分
1、spring中的scope有哪几种?
2、spring实物传播行为?
3、springMVC的执行原理?
4、分布式实物有哪些?
5、你项目中为什么使用这种分布式实物?和其他的实现方式有什么区别?
6、springcloud组件有哪些?
7、什么是线程死锁,死锁是如何产生的?如何避免死锁?
8、缓存穿透是什么?如何避免?
三、数据库部分
1、MySQL引擎有哪几种?区别是什么?
2、如果1回答出来,谈一谈你对MySQL InnoDB的了解和认识?
3、MySQL索引有哪几种?
4、数据库优化方式有哪些?
后续继续补充