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在循环过程中删除,会不会出问题,为什么。
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的方式(没有)。
1.B+树
2.快速排序,堆排序,插入排序(八大排序算法)
3.一致性Hash算法,一致性Hash算法的应用
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的了解,实现原理。
1.分布式事务的控制。分布式锁如何设计。
2.分布式session如何设计。
3.dubbo的组件有哪些,各有什么作用。
4.zookeeper的负载均衡算法有哪些。
5.dubbo是如何利用接口就可以通信的。
1.SpringMVC的Controller是如何将参数和前端传来的数据一一对应的。
2.Mybatis如何找到指定的Mapper的,如何完成查询的。
3.Quartz是如何完成定时任务的。自定义注解的实现。
4.Spring使用了哪些设计模式。Spring的IOC有什么优势。
5.Spring如何维护它拥有的bean。
6.一些较新的东西JDK8的新特性,流的概念及优势,为什么有这种优势。
7.区块链了解如何设计双11交易总额面板,要做到高并发高可用
其他的小编就不继续举例下去啦!!!
面试成功=干净整洁的外在+扎实的技术基础+表现的忠诚度+其他。
面试是一个双向选择的过程,过程就是个展示并推销自己的机会。
以上就是极悦小编介绍的"Java工程师的面试总结",希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为您服务。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习