1

今天我将采访 WPF 开发人员,我想给他们一些简单的任务,但让他们有机会展示他们如何编写代码。我想知道的最重要的事情是人们如何理解 MVVM 模式。此外,很高兴看到他们是否了解线程、数据绑定、主题。你能建议这样的任务吗?

4

5 回答 5

2

任务是什么并不重要。重要的是所展示的技能。

因此,选择任何一个简单的小应用程序,并告诉他们您希望他们使用 MVVM 设计模式构建它,并在项目中演示线程、数据绑定和主题。

该应用程序甚至不必有一个现实的目的。它可能很简单

使用 MVVM 设计模式创建一个 2 屏应用程序,其中一个页面包含要选择的主题下拉列表,另一页面包含一个 TextBox,该文本框在短暂延迟后在后台线程上加载文本

于 2012-06-01T14:11:06.063 回答
1

没有必要让他们编写代码来检查他们对 MVVM 的理解,您可以简单地给他们一个场景并让他们定义他们将定义哪些视图、ViewModel 和 Model 来构建这个应用程序。简单地讨论他们的设计将使您对他们的 MVVM 知识有足够的了解。

作为候选人,无论任务如何,我都不希望在一个小时左右(使用 WPF、MVVM、命令、线程等)内构建一个工作应用程序;

在编码任务方面,我发现最好的是 HR 在我喜欢的时间向我发送(邮件)明确定义的问题并指定时间限制,之后我需要向他们发送工作解决方案;后来一个技术人员根据我的解决方案进行了一轮面试,讨论了我所做的事情以及我为什么要做这样的事情等(这样你总是可以找出解决方案的真实性)。

过去我遇到过这种面试,这是一个展示我的知识和技能的好机会。

您可以提供的一些任务 -

  1. 使用 MVVM 和 WPF 构建计算器;实现加法等简单操作,使 UI 灵活。

    您可以根据时间限制(如 log、mod、factorial 等)增加要实现的操作的数量和复杂性

    您还可以指定应异步执行特定操作(例如数字的阶乘)(使用后台工作程序、线程等)。

  2. 创建一个简单的交易监视器,用户可以在其中添加新股票,股票列表将以网格状结构显示;模拟随机更改股票价格的方式,并根据更改类型(增量/减量)突出显示价格单元格

对于这两个任务,请指定您需要尽可能多地使用 WPF 功能,如 xaml、绑定、命令、模板、样式、触发器。

你可以在网上找到很多这样的任务;但无论遇到什么问题,关键是要有明确的任务,明确你的期望,并为候选人提供充足的时间和舒适的环境。当然还有审查讨论。

于 2012-06-01T10:20:52.957 回答
0

不错的 MVVM 东西 - 使用 DataTemplateSelector 的可切换视图和视图模型。

例如,您有以下内容:

  1. 类型点:
public class Point
{
   public Point(int x, int y)
   {  
      this.X = x;
      this.Y = y;
   }

   public int X { get; private set; }
   public int Y { get; private set; }
}
  1. 点集
  2. 单一主窗口

您需要设计应用程序,该应用程序将使用随机生成器在运行时生成不同的点集,并且每 N 秒将新数据集推送到 UI,UI 不应使用大型数据集冻结事件。应用程序用户应该能够通过单击按钮在不同的数据表示之间切换:网格视图、折线图视图。

  • 网格视图基本上每行显示点,两列 X 和 Y
  • 折线图视图显示趋势线
于 2012-06-01T08:31:00.883 回答
0

我一直想知道为什么人们倾向于给人们任务?通常问一些问题就足够了,这里戳一下,那里戳一下,你会发现更多关于你面前的人的知识水平。反正

  • 向他询问将项目模板提供给 ItemsControl 的不同方法。

  • 让他告诉你他对 Dispatcher 的了解。询问他将如何处理模型中的模型集合以及视图模型的外观。如果你强烈坚持 MVVM。

    类模型 { public ObservableCollection Children{get;set;} }

  • 问他 UserControl 和 CustomControl 有什么区别。

  • 静态资源和动态资源的区别

  • 他将如何处理选择、多重选择和作用于该选择的命令

我知道你要求一个特定的任务,我认为这很难定义,这取决于你想从程序员那里得到什么。但也许这些点会给你一些想法来形成一个任务,或者你只是用它们来问他我之前说的东西。

于 2012-06-01T09:11:42.740 回答
0

为什么不让他们编写一个金融股票监控应用程序。给他们雅虎金融api的url(让你实时获取股票数据),然后他们可以编写一个应用程序来消费和显示实时数据

MVVM - 这可能是一个先决条件

DataBinding - 绑定到股票数据

线程 - 在后台线程上获取数据滴答声

主题 - 为什么不

然而,你冒着雇佣一个读过很多书但没有很多实际经验来完成工作的人的风险。最好让您拥有最热门的开发人员,以便为他们提供彻底的烧烤:)

于 2012-06-01T10:48:40.513 回答