摘要:无论你是参与Java面试还是C#面试,设计模式和软件设计问题在程序员面
试中是必不可少的一部分。编程和设计技两者相得益彰,一名出色的程序员也是
一名出色的设计师,他们懂得如何利用代码来解决问题或者软件设计,但是这些
技能需要不断提升。这就要求你不断的保持设计理念,无论编程项目的大
小,...
无论你是参与Java面试还是C#面试,设计模式和软件设计问题在程序员面试中是
必不可少的一部分。编程和设计技两者相得益彰,一名出色的程序员也是一名出
色的设计师,他们懂得如何利用代码来解决问题或者软件设计,但是这些技能需
要不断提升。这就要求你不断的保持设计理念,无论编程项目的大小,从失败中
总结经验。
从面向对象的设计原则开始学习是个不错的起点。本文总结了在各种面试过程中
经常被提及的一些设计问题。文中分为两部分,一类为初学者,另一类专为中高
级技术人员准备。
一、入门级程序员的面试题:
这些软件设计和设计模式的先关问题大多会出现在初学者面试情景中,什么是设
计模式?特定的设计模式又是什么?等等这些概念,也许你很轻易回答这些概念
,但文内提供的这些问题也许能给你带来更多价值。
1. 什么是设计模式?在你编码过程中使用了哪些设计模式?
每位程序员都会利用自身经历来回答这些特定的设计问题。设计模式是代码重用
的扩展。
2. 你能说出在标准的JDK库中使用的一些设计模式吗?
Decorator设计模式常被用于各种Java IO类中,Singleton模式常被用在运行环
节中,Calendar以及各种其他类,Factory(工厂)模式常被用于各种不可变类
,比如Boolean。
听器框架中。
3. 在Java中Singleton设计模式是什么?为线程安全Singleton编码。
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和BufferedWrit
设计模式大集锦 程序员面试全攻略 来自淘豆网m.daumloan.com转载请标明出处.