在当前的就业环境下,技术面试往往竞争激烈。一份优秀的简历不仅要说你做了什么,更要强调你做到了什么。项目经验介绍应包含背景、职责、解决的问题及收益,并用数据量化成果。例如优化内存占用从 100M 降至 60M,CPU 使用率降低 50% 等。建议重点介绍 2 到 3 个深入的项目,体现技术深度与价值。
面试题
01 Java 中提供了抽象类还有接口,开发中如何去选择呢?
考察点:OOP 思想,抽象与接口的区别与应用场景。
回答思路: 抽象类的设计目的是代码复用,接口的设计目的是对类的行为进行约束。
- 当需要表示 is-a 的关系,并且需要代码复用时用抽象类。
- 当需要表示 has-a 的关系,可以使用接口。
例如狗具有睡觉和吃饭方法,我们可以使用接口定义:
public interface Dog {
public void sleep();
public void eat();
}
如果采用接口,每个派生类都需实现一次 sleep 方法。为了复用,可选择抽象类:
public abstract class Dog {
public void sleep(){
//......
}
public abstract void eat();
}
若需扩展技能(如握手),且不能多继承,则使用接口:
public interface Handshake{
void doHandshake();
}
public class HandShakeDog extends Dog implements Handshake
抽象类强调从属关系,接口强调功能。


