Java 高级程序员(10 年左右)面试题目集
下面将最近面试遇到的一些题目进行汇总如下,希望对现在正在找工作的同学和现在
面临毕业找工作的同学有所帮助。
1、常用设计模式
单例模式:懒汉式、饿汉式、双重校验锁、静态加载,内部类加载、枚举类加载。保
证一个类仅有一个实例,并提供一个访问它的全局访问点。
代理模式:动态代理和静态代理,什么时候使用动态代理。
适配器模式:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本
由于接口不兼容而不能一起工作的那些类可以一起工作。
装饰者模式:动态给类加功能。
观察者模式:有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,
让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通
知所有观察者对象,使它们能够自动更新自己。
策略模式:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。
外观模式:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接
口,这个接口使得这一子系统更加容易使用。
命令模式:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数
化。
创建者模式:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同
的表示。
抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具
体的类。