Java工程师的面试总结 - 极悦
首页 课程 师资 教程 报名

Java工程师的面试总结

  • 2021-05-14 10:38:18
  • 841次 极悦

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在循环过程中删除,会不会出问题,为什么。

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的方式(没有)。

数据结构与算法

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大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交