面试题整理(答案后期补上)

一、java 基础

1.1 请你说明 String 和 StringBuffer 的区别

1.2 请你说明一下 int 和 Integer 有什么区别

1.3 数组(Array)和列表(ArrayList)的区别?什么时候应该使用 Array 而不是 ArrayList?

1.4 什么是值传递和引用传递?

1.5Java 支持的数据类型有哪些?什么是自动拆装箱?

1.6 为什么会出现 4.0-3.6=0.40000001 这种现象?

1.7java8 的新特性吗,请简单介绍一下

1.8 你说明符号“==”比较的是什么?

1.9Object 若不重写 hashCode()的话,hashCode()如何计算出来的?

1.10 为什么重写 equals 还要重写 hashcode?

1.11 若对一个类不重写,它的 equals()方法是如何比较的?

二、关键字

2.1Java 里面的 final 关键字是怎么用的?

2.2 谈谈关于 Synchronized 和 lock

2.3 请你介绍一下 volatile?

2.4 请你介绍一下 Syncronized 锁,如果用这个关键字修饰一个静态方法,锁住了什么?如果修饰成员方法,锁住了什么?

三.面向对象

3.1Java 中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?

3.2 如何通过反射获取和设置对象私有字段的值?

3.3 请说明内部类可以引用他包含类的成员吗,如果可以,有没有什么限制吗?

3.4 当一个对象被当作参数传递给一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

3.5 什么是泛型?

3.6 解释一下类加载机制,双亲委派模型,好处是什么?

3.7”static”关键字是什么意思?Java 中是否可以覆盖(override)一个 private 或者是 static 的方法?

3.8 列举你所知道的 Object 类的方法并简要说明。

3.9 类和对象的区别
 

你可能感兴趣的:(java基础,面试,java)