2

如果有机会编程到接口(如简单的工厂模式),那么向初级和中级开发人员抛出一个好的简单问题是什么?

4

7 回答 7

9

让他将不同的自定义消息(他可以硬编码)记录到不同类型的文件中(他可以选择或不选择界面)。

这很简单,不应该花那么长时间。如果这不是面试的重点,你可以帮助实施这些方法。

于 2009-08-11T14:18:24.220 回答
3

不要将自己限制在那个非此即彼的范围内。给一些足够大的东西,可能会出现一些模式。

怎么样:我想显示一些数据馈送的仪表板。日期出现在到达队列的消息中。有些消息是 XML,有些是二进制格式。

他们有很多机会就内容提出问题。看看他们如何处理这种模糊的要求。

于 2009-08-11T14:21:51.937 回答
3

我不明白为什么越来越需要使用设计模式。他们有帮助,但他们不是灵丹妙药。在某些情况下,“有机会,如果他们愿意”可以解释为好事或坏事。此外,如果他们是大三学生,他们可能没有足够的经验来看待问题并认识到其中可能适用的模式。

如果您想为您的初级和中级挑战,那就选择真正的挑战。巴利亚多利德网站上有很多,他们有一个在线法官。这就是我在大学时对我所做的事情。

http://acm.uva.es/problemset/

于 2009-08-11T14:32:42.963 回答
2

坚持你所知道的。您/您的开发团队遇到的典型问题是什么?由于您最近已经完成了这些工作,因此您可以将他的方法与您团队的方法进行比较。

如果他创造性地或以不同的方式解决问题,他可能会很适合。如果他提出了与您团队其他成员相同的解决方案或具有相同的思维模式,您可能不希望他加入。最好的开发团队往往由解决问题的方式截然不同的程序员组成。

于 2009-08-11T14:44:00.090 回答
1

如果让候选人从头开始创建可以从工厂模式/接口等中受益的代码。启动并运行一个工作模型并要求他们按照他们希望看到的方式重构它可能会更容易。可能是达到目的的更快方法。

然后,您可以将其他一些“不太完美”的做法与示例捆绑在一起,看看他们是否接受了它:异常处理、处置等。

于 2009-08-11T14:52:33.650 回答
1

就在前几天的技术测试中,我有一个很好的问题。

生成最多 N 的斐波那契数列,适当地创建一个 XML 文档来存储各个数字并保存 XML 文档。

这是一次 Web 开发人员采访,因此创建了用户界面以允许用户指定保存位置和迭代次数 (N)。

如果您正在执行 TDD,您还可以包括生成 Fib 序列等的适当方法的单元测试。

于 2009-08-11T14:55:18.123 回答
0

对于初级开发人员:我会考虑 ADO.net 中 DBProviderFactory 使用的抽象工厂模式的示例。然后建立一个类似的例子,看看候选人如何解决这个问题。

于 2009-08-11T14:30:03.453 回答