基本流程:一面,二面,三面。就不分开介绍了,直接是面试中全问到的问题。
这篇文章分享之前我还是要推荐下我自己的JAVA群:452180294 ,不管你是小白还是大牛,小编我都挺欢迎,不定期分享干货,包括我自己整理的一份2017最新JAVA资料和零基础入门教程,欢迎初学和进阶中的小伙伴
java面试第一步:
从项目问起。 对项目进行深入的问,各个模块的技术实现。项目总体的思维。
java面试第二步:
具体的问题:
1,方法重载,何时用重载,为什么要使用重载?而不是把一个方法名字换成不同的。
2,垃圾回收GC,什么时候会回收对象,怎么判断这个对象可以被回收。对象的的几种生存状态。
3,缓存问题,缓存与内存的区别。以及数据库连接池。
4,volatile关键字介绍一下。
5,JVM介绍一下,从他的编译之类,加载(忘记回答父类,子类,以及静态代码块,普通代码块的加载过程)
6,Map,Collection的关系。
7,ArrayList扩充问题。add()方法的底层实现。
8,spring 的核心如:IOC AOP等,注入一个UserDaoImpl时,UserDaoImpl有几个实例,一个还是多个。
9,介绍一下同步,安全与不安全。
10,Thread中,ThreadLocal,Lock等。
11, 数据库索引的底层实现。B二叉树
13.线程池,线程池有多少种,每种的特点。
14.多线程实现方式,三种。
15.多线程同步方式,加关键字;实现Lock接口。
16,各个容器的底层实现,比如arraylist,hashmap,set,底层的数据结构,画出结构图。
java面试第三步:
算法题:
1.环状有序数组,中间剪断,寻找其中一个数值
2.一串长字符串,两个一样的数字,寻找其中出现两次的数字。(两种实现方法)