Interview questions: WPF Developer

What should every WPF developer know?

Entry Level

  • Strong .NET 2.0 Background & willing to learn!
  • Explain dependency properties?
  • What's a style?
  • What's a template?
  • Binding
  • Differences between base classes: Visual, UIElement, FrameworkElement, Control
  • Visual vs Logical tree?
  • Property Change Notification (INotifyPropertyChange and ObservableCollection)
  • ResourceDictionary - Added by a7an
  • UserControls - Added by a7an
  • difference between bubble and tunnel routing strategies - added by Carlo
  • Why did Microsoft introduce yet another markup language?
  • XAML
  • Mid-level

  • Routed Events & Commands
  • Converters - Added by Artur Carvalho
  • Explain WPF's 2-pass layout engine?
  • How to implement a panel?
  • Interoperability (WPF/WinForms)
  • Blend/Cider - Added by a7an
  • Animations and Storyboarding
  • ClickOnce Deployment
  • Skinning/Themeing
  • Custom Controls
  • How can worker threads update the UI?
  • DataTemplate vs HierarchicalDataTemplate
  • ItemsControl vs ItemsPresenter vs ContentControl vs ContentPresenter
  • Different types of Triggers
  • Senior

  • Example of attached behavior?
  • What is PRISM,CAL & CAG?
  • How can worker threads update the UI?
  • WPF 3D - Added by a7an
  • Differences between Silverlight 2 and WPF
  • MVVM/MVP - Added by a7an
  • WPF Performance tuning
  • Pixel Shaders
  • Purpose of Freezables
  • Any other "trick" questions to ask?

    Do you expect your WPF developer to know blend?


    I'm surprised no one has mentioned basic knowledge of XAML yet. Knowing what XAML is, and the ability to do some basic editing using XAML rather than a graphical design tool. Mid-level developers should be able to knock up form / graphic prototypes using a tool like XAMLPad.


    Personally I would sit them down in front of a standard developer build machine and ask them to complete some task. No questions, just see what their code is like after a couple of hours (or more if the task is longer).

    I have had a zero failure rate on making a hiring descision based on the results of an actual real life programming test.

    The task doesn't have to be too difficult. I've used a simple message of the day application in the past with the messages being held in a database or XML file and a simple user interface. Ensure you ask them to structure it well (as the task is sufficiently small that it could all be done in one class if they felt inclinded).

    Of the questions above I'd say you cannot get a good idea of whether they are really any good or not. A potential candicate could actually just read these and create canned answers that sound great. All this shows is that the candidate can talk-the-talk, but what matters in the job itself is if they can walk-the-walk.


    我将绑定和转换器放入入门级,因为这是您在WPF中花费大量时间的方式。

    链接地址: http://www.djcxy.com/p/36834.html

    上一篇: 可以在WPF应用程序中调整以改变分辨率?

    下一篇: 面试问题:WPF开发人员