Co powinien wiedzieć każdy programista WPF?
Poziom wejścia
- Silne tło .NET 2.0 i chęć do nauki!
- Wyjaśnić właściwości zależności?
- Jaki jest styl
- Co to jest szablon?
- Wiążący
- Różnice między klasami podstawowymi: Visual, UIElement, FrameworkElement, Control
- Drzewo wizualne a logiczne?
- Powiadomienie o zmianie właściwości (INotifyPropertyChange i ObservableCollection)
- ResourceDictionary - Dodane przez a7an
- UserControls - Dodane przez a7an
- różnica między strategiami routingu bąbelkowego i tunelowego - dodane przez Carlo
- Dlaczego Microsoft wprowadził kolejny język znaczników?
- XAML
Średni poziom
- Przekierowane zdarzenia i polecenia
- Konwertery - dodał Artur Carvalho
- Wyjaśnić 2-przebiegowy układ układu WPF?
- Jak wdrożyć panel?
- Interoperacyjność (WPF / WinForms)
- Mieszanka / Cydr - Dodane przez a7an
- Animacje i scenorysy
- Wdrożenie ClickOnce
- Skinning / Themeing
- Kontrola niestandardowa
- W jaki sposób wątki robocze mogą aktualizować interfejs użytkownika?
- DataTemplate vs HierarchicalDataTemplate
- ItemsControl vs ItemsPresenter vs ContentControl vs ContentPresenter
- Różne rodzaje wyzwalaczy
Senior
- Przykład dołączonego zachowania?
- Co to jest PRISM, CAL i CAG?
- W jaki sposób wątki robocze mogą aktualizować interfejs użytkownika?
- WPF 3D - Dodane przez a7an
- Różnice między Silverlight 2 a WPF
- MVVM / MVP - Dodane przez a7an
- Strojenie wydajności WPF
- Pixel Shaders
- Cel zamrażania
Jakieś inne „podstępne” pytania?
Czy spodziewasz się, że programista WPF zna mieszankę?
Odpowiedzi:
Dziwi mnie, że nikt jeszcze nie wspomniał o podstawowej wiedzy o XAML. Wiedza o tym, czym jest XAML i możliwość wykonania podstawowej edycji przy użyciu XAML zamiast graficznego narzędzia do projektowania. Programiści średniego poziomu powinni mieć możliwość podrzucania prototypów formularzy / grafik za pomocą narzędzia takiego jak XAMLPad.
źródło
Osobiście usadziłbym je przed standardową maszyną deweloperską i poprosiłbym ich o wykonanie jakiegoś zadania. Bez pytań, po prostu zobacz, jak wygląda ich kod po kilku godzinach (lub dłużej, jeśli zadanie jest dłuższe).
Miałem zerową awaryjność przy podejmowaniu decyzji o zatrudnieniu w oparciu o wyniki rzeczywistego testu programistycznego.
Zadanie nie musi być zbyt trudne. W przeszłości korzystałem z prostej wiadomości z aplikacji dnia, która była przechowywana w bazie danych lub pliku XML i z prostym interfejsem użytkownika. Upewnij się, że poprosisz ich, aby dobrze go ustrukturyzowali (ponieważ zadanie jest wystarczająco małe, aby można je było wykonać w jednej klasie, gdyby czuli się nierozerwalnie).
Z powyższych pytań powiedziałbym, że nie można zorientować się, czy są naprawdę dobre, czy nie. Potencjalny kandydat może po prostu je przeczytać i stworzyć puszkowane odpowiedzi, które brzmią świetnie. Wszystko to pokazuje, że kandydat może rozmawiać, ale ważne w samej pracy jest to, czy może chodzić.
źródło
Umieściłem bindowanie i konwertery na poziomie podstawowym, ponieważ tak spędzasz dużo czasu w WPF.
źródło
Moim zdaniem całkiem dobra lista.
Jednak nie zadawałbym trudnych pytań podczas wywiadu. Wywiad sam w sobie daje wystarczający stres, podstępne pytanie może dezorientować nawet wysoko wykwalifikowanych pracowników.
źródło
Osobiście umieściłem „Jak wątki robocze mogą aktualizować interfejs użytkownika” bezpośrednio pod poziomem podstawowym. Średni poziom, jeśli naprawdę potrzebujesz. Jeśli programista na poziomie podstawowym może zrozumieć różnicę między drzewem logicznym a drzewem wizualnym, powinien zrozumieć, jak zaktualizować interfejs użytkownika z wątku w tle.
W mojej organizacji dużo pracujemy nad WPF bez Blend. Nie szczególnie lubię Blend, więc jestem trochę stronniczy, ale myślę, że umiejętności Blend powinny być przyjemne.
źródło
Deweloper WPF powinien mieć silną wiedzę na temat oddzielania XAML od kodu i być w stanie szczegółowo omówić, gdzie ta linia ma zostać narysowana.
Możliwość skonfigurowania modelu w wybranym przez nią języku, a następnie użycie XAML do wyświetlania widoków tego modelu poprzez powiązanie danych, szablony danych, szablony sterujące, style, wyzwalacze, konwertery wartości i UserControls to dość podstawowe zadanie dla średnich -poziomowy programista. (Chociaż należy przyznać niewielką swobodę, jeśli poprosimy kogoś o stworzenie czegoś takiego jak szablon kontrolny „z serca”).
Naprawdę, jest dużo w WPF, a gdyby nie fora MSDN i szczegółowe książki na ten temat, byłoby po prostu „po prostu to podnieść”. Z tego powodu oceniłbym wytrwałość i zdolność uczenia się od innych jako najwyższy wymóg na każdym poziomie.
Dla początkującego programisty WPF nie spodziewałbym się żadnej wiedzy o WPF per se, ale wymagałbym znajomości zasad obiektowych, oddzielenia interfejsu użytkownika od logiki biznesowej i wygody z podobnym modelem zdarzeń. Doświadczenie w układaniu elementów interfejsu użytkownika w stylu podobnym do WPF (z kontenerami DockPanel itp.) To plus.
Edycja: Ponadto, co powiedział Colin Mackay.
źródło
A co z doświadczeniem w programowaniu / grafice GUI w ogóle i znajomości cs? Jeśli jest to praca na pełny etat, nie ma znaczenia IMHO, czy facet musi spędzić kilka pierwszych miesięcy na nauce WPF, czy ma (lub ona) silne doświadczenie.
źródło
Poziom wejścia
Średni poziom
Senior
źródło
źródło
Myślę, że wolałbym programistę, który zna Blend . Potrafiłby łatwo komunikować się z projektantem, a także robić podstawowe rzeczy projektanta szybciej niż pisanie w xaml.
Lista jest interesująca, być może linki do tematów mogłyby pomóc.
Twoje zdrowie
źródło
Kolejną naprawdę podstawową rzeczą byłaby różnica między strategiami routingu bąbelkowego i tunelowego.
źródło
Poziom wejścia
Senior
źródło
Średni, a może starszy: WinForms i WPF InterOp.
źródło
Średni, a może starszy
źródło
źródło
Myślę, że cykl życia aplikacji WPF - od tworzenia do środowiska wykonawczego powinien być uwzględniony na poziomie pytań dla początkujących. Nie wiedząc o tym, trudno uwierzyć, że jest się prawdziwym twórcą WPF.
źródło
Rozszerzyłbym wdrożenie ClickOnce ogólnie o WPF, ponieważ dobrze jest znać ograniczenia i osobliwości każdego modelu (ClickOnce, XBAP, tylko przeglądarka). Umieszczenie go na średnim poziomie wydaje się jednak sprawiedliwe.
źródło
style zapewniają mechanizm do zastosowania motywu w aplikacji i zastąpienia tego motywu w tych konkretnych przypadkach, w których chcesz. Style są zdefiniowane jak zasoby; w rzeczywistości są one zdefiniowane w tej samej sekcji pliku XAML, w której zdefiniowane są zasoby.
źródło
Wstaw selektor szablonów danych: http://www.switchonthecode.com/tutorials/wpf-tutorial-how-to-use-a-datatemplateselector Wielka pomoc w MVVM do wymiany szablonów na podstawie wartości.
źródło
Wiedza o testowaniu jednostkowym i jego wpływie na sposób korzystania z WPF jest podstawową umiejętnością, którą postawiłbym na poziomie podstawowym. Ludzie mogą poznać szczegóły, ale jeśli nie myśleli o podstawach projektowania oprogramowania, masz problem.
źródło