程序员面试攻略

进修社 人气:4.76K

一、入门级程序员的面试题:

程序员面试攻略

这些软件设计和设计模式的先关问题大多会出现在初学者面试情景中,什么是设计模式?特定的设计模式又是什么?等等这些概念,也许你很轻易回答这些概念,但文内提供的这些问题也许能给你带来更多价值。

1。 什么是设计模式?在你编码过程中使用了哪些设计模式?

每位程序员都会利用自身经历来回答这些特定的设计问题。设计模式是代码重用的扩展。

2。 你能说出在标准的JDK库中使用的一些设计模式吗?

Decorator设计模式常被用于各种Java IO类中,Singleton模式常被用在运行环节中,Calendar以及各种其他类,Factory(工厂)模式常被用于各种不可变类,比如Boolean。Boolean。valueOf和Observer模式常被用于Swing和许多事件监听机器框架中。

3。 在Java中Singleton设计模式是什么?为线程安全Singleton编码。

Singleton模式在整个系统中主要是共享模式。在整个应用程序实例中只保持一个特定的类,这是由所以模块共享决定的。Java。lang。Runtime是Singleton设计模式中一个典型范例。关于此问题你可以查看更多。从Java 5版本开始,你可以为安全线程singleton模式使用enum。

4。 使用Factory模式主要优势是什么?你会在哪种情况下使用?

Factory模式最主要的优势在于当创建对象时可提高封装水平。如果你使用Factory模式来创建对象,你可以在后期重置最初产品的装置或者无须任何客户层就可实现更先进更高性能的类。可以查看我曾发表过的有关Factory模式的更多细节及优点。

5。 Java中Observer设计模式是什么?

Observer设计模式基于对象的变化而改变。比如:天气系统,在这里必须将天气变化的视图呈现给观众。这里天气项目是主体而非不同的观察者。通过这篇文章,查看在Java中Observer模式。

6。 例举一个在Java中使用Decorator模式的案例?它从事的是对象级别还是类级别?

Decorator模式可提高个体对象的能力。Java IO广泛使用Decorator模式和Buffered类型的一些经典例子,比如BufferedReader和BufferedWriter,增强读者和作家执行Buffer级别的阅读和写作从而提高性能。

7。 什么是MVC设计模式?请例举一个MVC设计模式案例。

8。 Java中FrontController设计模式是什么?请例举一个FrontController设计模式案例。

9。 Responsibility设计模式是什么?

10。 Adapter设计模式是什么?请例举一个在Java中的Adapter设计模式案例。

二、进阶级程序员的面试题:

1。 举例说明你什么时候会用抽象类,什么时候更愿意使用接口?

这是一个很常见的面试问题,并不算难。接口和抽象类都按照“不为实现写代码”的设计原则,这是为了增加代码的灵活性,