Was sollte jeder WPF-Entwickler wissen?
Einstiegslevel
- Starker .NET 2.0 Hintergrund & lernbereit!
- Abhängigkeitseigenschaften erklären?
- Was ist ein Stil?
- Was ist eine Vorlage?
- Bindung
- Unterschiede zwischen Basisklassen: Visual, UIElement, FrameworkElement, Control
- Visueller vs logischer Baum?
- Benachrichtigung über Eigenschaftsänderungen (INotifyPropertyChange und ObservableCollection)
- ResourceDictionary - Hinzugefügt von a7an
- UserControls - Hinzugefügt von a7an
- Unterschied zwischen Bubble- und Tunnel-Routing-Strategien - hinzugefügt von Carlo
- Warum hat Microsoft eine weitere Auszeichnungssprache eingeführt?
- XAML
Mittlere Ebene
- Weitergeleitete Ereignisse und Befehle
- Konverter - Hinzugefügt von Artur Carvalho
- Erklären Sie die 2-Pass-Layout-Engine von WPF?
- Wie implementiere ich ein Panel?
- Interoperabilität (WPF / WinForms)
- Mischung / Cider - Hinzugefügt von a7an
- Animationen und Storyboarding
- ClickOnce-Bereitstellung
- Häuten / Thematisieren
- Benutzerdefinierte Steuerelemente
- Wie können Worker-Threads die Benutzeroberfläche aktualisieren?
- DataTemplate vs HierarchicalDataTemplate
- ItemsControl vs ItemsPresenter vs ContentControl vs ContentPresenter
- Verschiedene Arten von Triggern
Senior
- Beispiel für angehängtes Verhalten?
- Was ist PRISM, CAL & CAG?
- Wie können Worker-Threads die Benutzeroberfläche aktualisieren?
- WPF 3D - Hinzugefügt von a7an
- Unterschiede zwischen Silverlight 2 und WPF
- MVVM / MVP - Hinzugefügt von a7an
- WPF-Leistungsoptimierung
- Pixel Shader
- Zweck von Freezables
Haben Sie noch andere "Trick" -Fragen?
Erwarten Sie von Ihrem WPF-Entwickler, dass er Blend kennt?
Antworten:
Ich bin überrascht, dass noch niemand Grundkenntnisse in XAML erwähnt hat. Wissen, was XAML ist, und die Möglichkeit, einige grundlegende Bearbeitungen mit XAML anstelle eines grafischen Entwurfswerkzeugs durchzuführen. Entwickler auf mittlerer Ebene sollten in der Lage sein, Formular- / Grafikprototypen mit einem Tool wie XAMLPad zu erstellen.
quelle
Persönlich würde ich sie vor eine Standard-Entwickler-Build-Maschine setzen und sie bitten, eine Aufgabe zu erledigen. Keine Fragen, sehen Sie einfach, wie ihr Code nach ein paar Stunden aussieht (oder mehr, wenn die Aufgabe länger ist).
Ich hatte eine Fehlerquote von Null bei der Entscheidung über die Einstellung, basierend auf den Ergebnissen eines tatsächlichen Programmiertests im wirklichen Leben.
Die Aufgabe muss nicht zu schwierig sein. Ich habe in der Vergangenheit eine einfache Nachricht der Tagesanwendung verwendet, wobei die Nachrichten in einer Datenbank oder XML-Datei und einer einfachen Benutzeroberfläche gespeichert waren. Stellen Sie sicher, dass Sie sie bitten, es gut zu strukturieren (da die Aufgabe so klein ist, dass alles in einer Klasse erledigt werden kann, wenn sie sich geneigt fühlen).
Von den obigen Fragen würde ich sagen, dass Sie keine gute Vorstellung davon bekommen können, ob sie wirklich gut sind oder nicht. Ein potenzieller Kandidat könnte diese einfach lesen und Antworten in Dosen erstellen, die großartig klingen. All dies zeigt, dass der Kandidat sprechen kann, aber was im Job selbst wichtig ist, ist, ob er laufen kann.
quelle
Ich würde Bindungen und Konverter auf Einstiegsebene setzen, da Sie so viel Zeit in WPF verbringen.
quelle
Ziemlich gute Liste meiner Meinung nach.
Allerdings würde ich beim Interview keine kniffligen Fragen stellen. Das Interview gibt selbst genug Stress, Trickfragen können selbst hochqualifizierte Personen verwirren.
quelle
Persönlich würde ich "Wie können Worker-Threads die Benutzeroberfläche aktualisieren" direkt unter dem Einstiegsniveau platzieren. Mittelstufe, wenn Sie es wirklich brauchen. Wenn ein Programmierer der Einstiegsklasse den Unterschied zwischen dem logischen und dem visuellen Baum verstehen kann, sollte er verstehen, wie die Benutzeroberfläche über einen Hintergrundthread aktualisiert wird.
In meiner Organisation entwickeln wir viel WPF ohne Blend. Ich mag Blend nicht besonders, deshalb bin ich ein bisschen voreingenommen, aber Blend-Fähigkeiten sollten eine nette Sache sein, denke ich.
quelle
Ein WPF-Entwickler sollte ein sicheres Verständnis dafür haben, die XAML vom Code-Behind zu trennen, und in der Lage sein, ausführlich zu diskutieren, wo diese Linie gezogen werden soll.
Die Möglichkeit, ein Modell in der Sprache ihrer Wahl einzurichten und dann mithilfe von XAML Ansichten zu diesem Modell über Datenbindung, Datenvorlagen, Steuerungsvorlagen, Stile, Trigger, Wertekonverter und UserControls anzuzeigen, ist eine ziemlich grundlegende Aufgabe für die Mitte -Stufenprogrammierer. (Obwohl ein kleiner Spielraum eingeräumt werden sollte, wenn jemand gebeten wird, so etwas wie eine Kontrollvorlage "aus dem Herzen" zu erstellen.)
Wirklich, es gibt viel in WPF, und wenn es nicht die MSDN-Foren und ausführlichen Bücher zu diesem Thema gäbe, wäre es eine ziemliche Aufgabe, "es einfach aufzugreifen". Aus diesem Grund würde ich Ausdauer und die Fähigkeit, von anderen zu lernen, als oberste Voraussetzung für jedes Level bewerten.
Für einen WPF-Programmierer der Einstiegsklasse würde ich keine Kenntnisse über WPF an sich erwarten, aber ich würde Kenntnisse über objektorientierte Prinzipien, Trennung der Benutzeroberfläche von der Geschäftslogik und Komfort mit einem ähnlichen Ereignismodell verlangen. Erfahrung im Layout von UI-Elementen in einem ähnlichen Stil wie WPF (mit DockPanel-Containern usw.) ist von Vorteil.
Edit: Auch was Colin Mackay gesagt hat.
quelle
Was ist mit GUI-Programmierung / Grafikerfahrung im Allgemeinen und CS-Kenntnissen? Wenn es sich um einen Vollzeitjob handelt, spielt es meiner Meinung nach keine Rolle, ob der Typ die ersten Monate mit dem Erlernen von WPF verbringen muss, wenn er (oder sie) einen starken Hintergrund hat.
quelle
Einstiegslevel
Mittlere Ebene
Senior
quelle
quelle
Ich denke, ich würde einen Entwickler bevorzugen, der Blend kennt . Er / Sie konnte leicht mit dem Designer kommunizieren und einige grundlegende Designer-Dinge schneller erledigen als nur in xaml zu schreiben.
Die Liste ist interessant, vielleicht würden Links zu den Themen helfen.
Prost
quelle
Eine andere wirklich grundlegende Sache wäre der Unterschied zwischen Blasen- und Tunnel-Routing-Strategien.
quelle
Einstiegslevel
Senior
quelle
Mitte oder vielleicht Senior: WinForms und WPF InterOp.
quelle
Mitte oder vielleicht Senior
quelle
quelle
Ich denke, der Lebenszyklus der WPF-Anwendung - von der Erstellung bis zur Laufzeit - sollte in die Anfängerstufe der Fragen aufgenommen werden. Ohne es zu wissen, ist es schwer zu glauben, dass man ein echter WPF-Entwickler ist.
quelle
Ich würde die ClickOnce-Bereitstellung im Allgemeinen um die WPF-Bereitstellung erweitern, da es gut ist, die Einschränkungen und Besonderheiten jedes Modells zu kennen (nur ClickOnce, XBAP, Browser). Es scheint jedoch fair, es auf mittlerem Niveau zu platzieren.
quelle
Stile bieten einen Mechanismus, mit dem Sie ein Thema auf eine Anwendung anwenden und dieses Thema in den spezifischen Fällen überschreiben können, in denen Sie möchten. Stile werden wie Ressourcen definiert. Tatsächlich werden sie in demselben Abschnitt Ihrer XAML-Datei definiert, in dem Ressourcen definiert sind.
quelle
Fügen Sie die Datenvorlagenauswahl ein: http://www.switchonthecode.com/tutorials/wpf-tutorial-how-to-use-a-datatemplateselector Große Hilfe bei MVVM, um Vorlagen basierend auf dem Wert auszutauschen.
quelle
Das Wissen über Unit-Tests und deren Auswirkungen auf die Verwendung von WPF ist eine grundlegende Fähigkeit, die ich auf Einstiegsebene anwenden würde. Die Leute können die Details lernen, aber wenn sie nicht über die Grundlagen des Software-Designs nachgedacht haben, haben Sie ein Problem.
quelle