Java 知识点
1、Java 基础
1、HashMap的源码,实现原理,JDK8中对HashMap做了怎样的优化。
2、HaspMap扩容是怎样扩容的,为什么都是2的N次幂的大小。
3、HashMap,HashTable,ConcurrentHashMap的区别。
4、极高并发下HashTable和ConcurrentHashMap哪个性能更好,为什么,如何实现的。
5、HashMap在高并发下如果没有处理线程安全会有怎样的安全隐患,具体表现是什么。
6、java中四种修饰符的限制范围。
7、Object类中的方法。
8、接口和抽象类的区别,注意JDK8的接口可以有实现。
9、动态代理的两种方式,以及区别。
10、Java序列化的方式。
11、传值和传引用的区别,Java是怎么样的,有没有传值引用。
12、一个ArrayList在循环过程中删除,会不会出问题,为什么。
2、JVM
1、JVM的内存结构。
2、JVM方法栈的工作过程,方法栈和本地方法栈有什么区别。
3、JVM的栈中引用如何和堆中的对象产生关联。
4、可以了解一下逃逸分析技术。
5、GC的常见算法,CMS以及G1的垃圾回收过程,CMS的各个阶段哪两个是Stop the world的,CMS会不会产生碎片,G1的优势。
6、标记清除和标记整理算法的理解以及优缺点。
7、eden survivor区的比例,为什么是这个比例,eden survivor的工作过程。
8、JVM如何判断一个对象是否该被GC,可以视为root的都有哪几种类型。
9、强软弱虚引用的区别以及GC对他们执行怎样的操作。
10、Java是否可以GC直接内存。
11、Java类加载的过程。
12、双亲委派模型的过程以及优势。
13、常用的JVM调优参数。
14、dump文件的分析。
15、Java有没有主动触发GC的方式(没有)。
3、数据结构与算法
1、B+树
2、快速排序,堆排序,插入排序(八大排序算法)
3、一致性Hash算法,一致性Hash算法的应用
4、多线程
1、Java实现多线程有哪几种方式。
2、Callable和Future的了解。
3、线程池的参数有哪些,在线程池创建一个线程的过程。
4、volitile关键字的作用,原理。
5、synchronized关键字的用法,优缺点。
6、Lock接口有哪些实现类,使用场景是什么。
7、可重入锁的用处及实现原理,写时复制的过程,读写锁,分段锁(ConcurrentHashMap中的segment)。
8、悲观锁,乐观锁,优缺点,CAS有什么缺陷,该如何解决。
9、ABC三个线程如何保证顺序执行。
10、线程的状态都有哪些。
11、sleep和wait的区别。
12、notify和notifyall的区别。
13、ThreadLocal的了解,实现原理。
5、分布式
1、分布式事务的控制。分布式锁如何设计。
2、分布式session如何设计。
3、dubbo的组件有哪些,各有什么作用。
4、zookeeper的负载均衡算法有哪些。
5、dubbo是如何利用接口就可以通信的。
6、框架相关
1、SpringMVC的Controller是如何将参数和前端传来的数据一一对应的。
2、Mybatis如何找到指定的Mapper的,如何完成查询的。
3、Quartz是如何完成定时任务的。自定义注解的实现。
4、Spring使用了哪些设计模式。Spring的IOC有什么优势。
5、Spring如何维护它拥有的bean。
6、一些较新的东西JDK8的新特性,流的概念及优势,为什么有这种优势。
7、区块链了解如何设计双11交易总额面板,要做到高并发高可用
————————————————
版权声明:本文为CSDN博主「Zero域」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/samurai77/java/article/details/88952739