Java高级工程师面试题总结和参考答案

年爸 1年前 ⋅ 3215 阅读

一、基础部分

1、Java对象的生命周期

答:创建阶段(Created)、应用阶段(In Use)、不可见阶段(Invisible)、不可达阶段(Unreachable)、收集阶段(Collected)、终结阶段(Finalized)、对象空间重分配阶段(De-allocated)

2、String,StringBuilder,StringBuffer三者的区别

答:1、速度上的区别为:StringBuilder > StringBuffer > String;2、在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的

3、接口和抽象类的相同与不同之处

答:相同之处:

(1) 都可以被继承

(2)都不能被实例化

(3)都可以包含方法声明

(4)派生类必须实现未实现的方法

不同之处:

(1)抽象类可以有构造方法,接口中不能有构造方法

(2)抽象类中可以有普通成员变量,接口中没有普通成员变量

(3)抽象类中可以包含静态方法,接口中不能包含静态方法

(4) 一个类可以实现多个接口,但只能继承一个抽象类

(5)接口可以被多重实现,抽象类只能被单一继承

(6)如果抽象类实现接口,则可以把接口中方法映射到抽象类中作为抽象方法而不必实现,而在抽象类的子类中实现接口中方法

 

二、Redis部分

1、Redis的几大数据类型

答:Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。


全部评论: 0

    我有话说: