如果他们愿意,可以向Jr.和Mid级开发人员提供一个简单的问题,以便找到编程到接口的机会(如简单的工厂模式)?
答案 0 :(得分:8)
让他将不同的自定义消息(他可以硬编码)记录到不同类型的文件中(他可以选择是否接口)。
这很简单,不应该花那么长时间。如果这不是面试的重点,你可以帮助实施这些方法。
答案 1 :(得分:3)
不要将自己限制在/或。给出足够大的东西,可能会出现一些模式。
怎么样:我想显示一些数据源的仪表板。日期来自队列中的消息。有些消息是XML,有些是二进制格式。
他们有很多机会询问有关内容的问题。看看他们如何处理这种模糊的要求。
答案 2 :(得分:3)
我不明白为什么越来越需要使用设计模式。他们帮助,但他们不是灵丹妙药。 “如果有机会,如果他们愿意”可以被视为某些环境中的好事或坏事。此外,如果他们是青少年,他们可能没有足够的经验来查看问题,并认识到模式可能适用于那里。
如果您想为您的初中和中期挑战,那么选择真正的挑战。巴利亚多利德网站上有很多,他们有在线评判。这就是我在学院时对我所做的一切。
答案 3 :(得分:2)
坚持你所知道的。您/您的开发团队遇到的典型问题是什么?由于您最近已经完成了这些工作,因此您可以将他的方法与您的团队进行比较。
如果他创造性地或不同地解决问题,他可能会很合适。如果他提出相同的解决方案或具有与团队其他成员相同的思维模式,那么您可能不希望他加入。最好的开发团队往往由程序员组成,他们有很多不同的方法来解决问题。
答案 4 :(得分:1)
如果让候选人从头开始创建可以从工厂模式/接口等中受益的代码。可能更容易使工作模型启动并运行,并要求他们按照他们希望的方式重构它。可能是一个更快的手段到最后。
然后你可以将一些其他“不太完美”的做法与样本捆绑起来,看看他们是否接受了它:异常处理,处置等。
答案 5 :(得分:1)
前几天我在技术测试中遇到了一个非常好的问题。
生成最多为N的Fibonacci序列,适当地创建XML文档以存储单个数字并保存XML文档。
这是一次Web开发者访谈,所以有额外的创建用户界面,允许用户指定保存位置和操作次数(N)。
如果您正在进行TDD,您还可以包括用于生成Fib序列等的适当方法的单元测试。
答案 6 :(得分:0)
对于Jr.级开发人员: 我会考虑ADO.net中DBProviderFactory使用的抽象工厂模式的示例。然后构建一个类似的例子,看看候选人如何解决问题。