C# - 面试的程序员挑战 - 界面编程&模式

时间:2009-08-11 14:16:53

标签: c# .net design-patterns factory

如果他们愿意,可以向Jr.和Mid级开发人员提供一个简单的问题,以便找到编程到接口的机会(如简单的工厂模式)?

7 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:3)

不要将自己限制在/或。给出足够大的东西,可能会出现一些模式。

怎么样:我想显示一些数据源的仪表板。日期来自队列中的消息。有些消息是XML,有些是二进制格式。

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

答案 2 :(得分:3)

我不明白为什么越来越需要使用设计模式。他们帮助,但他们不是灵丹妙药。 “如果有机会,如果他们愿意”可以被视为某些环境中的好事或坏事。此外,如果他们是青少年,他们可能没有足够的经验来查看问题,并认识到模式可能适用于那里。

如果您想为您的初中和中期挑战,那么选择真正的挑战。巴利亚多利德网站上有很多,他们有在线评判。这就是我在学院时对我所做的一切。

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

答案 3 :(得分:2)

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

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

答案 4 :(得分:1)

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

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

答案 5 :(得分:1)

前几天我在技术测试中遇到了一个非常好的问题。

生成最多为N的Fibonacci序列,适当地创建XML文档以存储单个数字并保存XML文档。

这是一次Web开发者访谈,所以有额外的创建用户界面,允许用户指定保存位置和操作次数(N)。

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

答案 6 :(得分:0)

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