我正在为高级发展职位的工作面试准备问题。这项工作将包括面向对象的设计,而现有的软件使用设计模式,所以我想请应聘者解释一些他们知道的设计模式,他们已经使用过,如何使用它们,为什么使用了它们用过它们等等。但是,在之前的采访中,当我问具有至少5-10年经验的高级开发人员有关设计模式时,几乎没有人听说过它们。我认为二十个开发人员中就有两个可以命名一个设计模式(分别为Singleton和MVC)。
所以我的问题是:问这些问题有意义吗?还是这是一个晦涩的主题,以至于您不能期望新员工已经了解他们?
高级开发人员是否应该具有设计模式方面的经验,或者您说设计模式是一个简单的主题,每个体面的开发人员都可以在培训期间掌握它们?如果是这样,您会问什么问题来衡量其设计能力?
添加 在阅读了到目前为止的答案之后,我应该做出一些澄清:
- 该工作是针对具有OOP / OOD经验的.NET开发人员的。
- 现有代码在许多地方都使用类名,例如
IParameterGraphVisitor
和IStorageFactory
- 如果他们没有词汇来解释他们的设计,您如何询问人们过去使用OO设计的经历?这就是我想要做的,而我所能想到的就是“请在白板上绘制上一个项目的设计/对象层次结构”。