Que doit savoir chaque développeur WPF?
Niveau d'entrée
- Forte expérience .NET 2.0 et désir d'apprendre!
- Expliquer les propriétés de dépendance?
- Qu'est-ce qu'un style?
- Qu'est-ce qu'un modèle?
- Contraignant
- Différences entre les classes de base: Visual, UIElement, FrameworkElement, Control
- Arbre visuel vs logique?
- Notification de changement de propriété (INotifyPropertyChange et ObservableCollection)
- ResourceDictionary - Ajouté par a7an
- UserControls - Ajouté par a7an
- différence entre les stratégies de routage de bulle et de tunnel - ajouté par Carlo
- Pourquoi Microsoft a-t-il introduit un autre langage de balisage?
- XAML
Niveau moyen
- Événements et commandes acheminés
- Convertisseurs - Ajouté par Artur Carvalho
- Expliquer le moteur de mise en page en 2 passes de WPF?
- Comment mettre en place un panel?
- Interopérabilité (WPF / WinForms)
- Blend / Cider - Ajouté par a7an
- Animations et storyboard
- Déploiement ClickOnce
- Skinning / Thème
- Contrôles personnalisés
- Comment les threads de travail peuvent-ils mettre à jour l'interface utilisateur?
- DataTemplate vs HierarchicalDataTemplate
- ItemsControl vs ItemsPresenter vs ContentControl vs ContentPresenter
- Différents types de déclencheurs
Sénior
- Exemple de comportement attaché?
- Qu'est-ce que PRISM, CAL & CAG?
- Comment les threads de travail peuvent-ils mettre à jour l'interface utilisateur?
- WPF 3D - Ajouté par a7an
- Différences entre Silverlight 2 et WPF
- MVVM / MVP - Ajouté par a7an
- Réglage des performances WPF
- Pixel Shaders
- But des surgelés
D'autres questions «pièges» à poser?
Vous attendez-vous à ce que votre développeur WPF connaisse le mélange?
Réponses:
Je suis surpris que personne n'ait encore mentionné les connaissances de base de XAML. Savoir ce qu'est XAML et la possibilité d'effectuer des modifications de base en utilisant XAML plutôt qu'un outil de conception graphique. Les développeurs de niveau intermédiaire devraient être capables de créer des prototypes de formulaires / graphiques à l'aide d'un outil tel que XAMLPad.
la source
Personnellement, je les asseoir devant une machine de construction de développeur standard et leur demander de terminer une tâche. Pas de questions, voyez à quoi ressemble leur code après quelques heures (ou plus si la tâche est plus longue).
J'ai eu un taux d'échec nul lors d'une décision d'embauche basée sur les résultats d'un test de programmation réel.
La tâche ne doit pas être trop difficile. J'ai utilisé une application simple de message du jour dans le passé avec les messages conservés dans une base de données ou un fichier XML et une interface utilisateur simple. Assurez-vous de leur demander de bien la structurer (car la tâche est suffisamment petite pour que tout puisse être fait dans une classe s'ils se sentent enclins).
Parmi les questions ci-dessus, je dirais que vous ne pouvez pas avoir une bonne idée de si elles sont vraiment bonnes ou non. Un candidat potentiel pourrait simplement les lire et créer des réponses en conserve qui sonnent bien. Tout cela montre que le candidat peut parler, mais ce qui compte dans le travail lui-même, c'est de savoir s'il peut marcher.
la source
Je mettrais la liaison et les convertisseurs au niveau d'entrée, car c'est ainsi que vous passez beaucoup de temps dans WPF.
la source
Très bonne liste à mon avis.
Cependant, je ne poserais pas de questions délicates lors de l'entretien. L'entrevue donne suffisamment de stress en soi, une question piège peut confondre même une personne hautement qualifiée.
la source
Personnellement, je mettrais `` Comment les threads de travail peuvent-ils mettre à jour l'interface utilisateur? '' Juste sous l'entrée de gamme. Niveau intermédiaire, si vous en avez vraiment besoin. Si un programmeur d'entrée de gamme peut comprendre la différence entre l'arborescence logique et l'arborescence visuelle, il doit comprendre comment mettre à jour l'interface utilisateur à partir d'un thread d'arrière-plan.
Dans mon organisation, nous faisons beaucoup de développement WPF sans Blend. Je n'aime pas particulièrement Blend, donc je suis un peu biaisé, mais les compétences de Blend devraient être chouettes, je pense.
la source
Un développeur WPF doit avoir une solide compréhension de la séparation du XAML du code-behind et être en mesure de discuter longuement de l'endroit où cette ligne doit être dessinée.
Être capable de configurer un modèle dans la langue de son choix, puis d'utiliser XAML pour afficher des vues sur ce modèle via la liaison de données, les modèles de données, les modèles de contrôle, les styles, les déclencheurs, les convertisseurs de valeur et les UserControls est une tâche assez basique pour le milieu programmeur de niveau. (Bien qu'une petite marge de manœuvre devrait être accordée si vous demandez à quelqu'un de créer quelque chose comme un modèle de contrôle "de cœur".)
Vraiment, il y en a beaucoup dans WPF, et s'il n'y avait pas les forums MSDN et les livres approfondis sur le sujet, ce serait tout à fait la tâche de "simplement le ramasser". Pour cette raison, je qualifierais la persévérance et la capacité d'apprendre des autres comme une exigence primordiale pour tous les niveaux.
Pour un programmeur WPF d'entrée de gamme, je ne m'attendrais pas à une connaissance de WPF en soi, mais j'exigerais une connaissance des principes orientés objet, la séparation de l'interface utilisateur de la logique métier et du confort avec un modèle d'événement similaire. Une expérience de la disposition d'éléments d'interface utilisateur dans un style similaire à WPF (avec des conteneurs DockPanel, etc.) est un plus.
Edit: Aussi, ce que Colin Mackay a dit.
la source
Qu'en est-il de la programmation GUI / expérience graphique en général et des connaissances cs? Si c'est pour un emploi à temps plein, peu importe à mon humble avis si le gars doit passer les premiers mois à apprendre WPF, s'il (ou elle) a une solide expérience.
la source
Niveau d'entrée
Niveau moyen
Sénior
la source
la source
Je pense que je préférerais un développeur qui connaîtrait Blend . Il / Elle pouvait communiquer facilement avec le concepteur et faire des tâches de conception de base plus rapidement que simplement écrire en xaml.
La liste est intéressante, peut-être que des liens vers les sujets seraient utiles.
À votre santé
la source
Une autre chose vraiment fondamentale serait la différence entre les stratégies de routage de bulles et de tunnel.
la source
Niveau d'entrée
Sénior
la source
Moyen ou peut-être Senior: WinForms et WPF InterOp.
la source
Moyen ou peut-être Senior
la source
la source
Je pense que le cycle de vie de l'application WPF - de la création à l'exécution doit être inclus dans le niveau de questions Débutant. Sans le savoir, il est difficile de croire que l'on est un vrai développeur WPF.
la source
J'étendrais le déploiement de ClickOnce avec le déploiement de WPF en général, car il est bon de connaître les limites et les particularités de chaque modèle (ClickOnce, XBAP, navigateur uniquement). Le placer au niveau intermédiaire semble cependant juste.
la source
Les styles vous permettent d'appliquer un thème dans une application et de remplacer ce thème dans les instances spécifiques où vous le souhaitez. Les styles sont définis comme des ressources; en fait, ils sont définis dans la même section de votre fichier XAML dans laquelle les ressources sont définies.
la source
Mettez dans le sélecteur de modèle de données: http://www.switchonthecode.com/tutorials/wpf-tutorial-how-to-use-a-datatemplateselector Grande aide avec MVVM pour échanger des modèles basés sur la valeur.
la source
Connaître les tests unitaires et leur effet sur la façon dont vous utilisez WPF est une compétence de base que je mettrais au niveau d'entrée. Les gens peuvent apprendre les détails, mais s'ils n'ont pas réfléchi aux bases de la conception de logiciels, vous avez un problème.
la source