Что должен знать каждый разработчик WPF?
Начальный уровень
- Сильный. NET 2.0 фона и готовы учиться!
- Объяснить свойства зависимости?
- Что за стиль?
- Что за шаблон?
- переплет
- Различия между базовыми классами: Visual, UIElement, FrameworkElement, Control
- Visual vs Логическое дерево?
- Уведомление об изменении свойства (INotifyPropertyChange и ObservableCollection)
- ResourceDictionary - добавлено a7an
- UserControls - добавлено a7an
- Разница между пузырьковой и туннельной стратегиями - добавила Карло
- Почему Microsoft ввела еще один язык разметки?
- XAML
Средний уровень
- Направленные события и команды
- Конвертеры - добавлено Артуром Карвалью
- Объясните 2-проходный движок WPF?
- Как реализовать панель?
- Совместимость (WPF / WinForms)
- Смесь / Сидр - добавлено a7an
- Анимация и раскадровка
- Развертывание ClickOnce
- Обшивка / Themeing
- Пользовательские элементы управления
- Как рабочие потоки могут обновлять интерфейс?
- DataTemplate против HierarchicalDataTemplate
- ItemsControl против ItemsPresenter против ContentControl против ContentPresenter
- Различные типы триггеров
Старшая
- Пример прикрепленного поведения?
- Что такое PRISM, CAL & CAG?
- Как рабочие потоки могут обновлять интерфейс?
- WPF 3D - добавлено a7an
- Различия между Silverlight 2 и WPF
- MVVM / MVP - добавлено a7an
- Настройка производительности WPF
- Пиксельные шейдеры
- Назначение Freezables
Любые другие вопросы с подвохом ?
Ожидаете ли вы, что ваш WPF-разработчик знает blend?
Ответы:
Я удивлен, что никто еще не упомянул базовые знания XAML. Знание XAML и умение выполнять базовое редактирование, используя XAML, а не инструмент графического дизайна. Разработчики среднего уровня должны иметь возможность создавать прототипы форм / графики с помощью такого инструмента, как XAMLPad.
источник
Лично я сажал их перед стандартной машиной для сборки разработчиков и просил их выполнить какую-то задачу. Никаких вопросов, просто посмотрите, как выглядит их код через пару часов (или больше, если задача длиннее).
У меня был нулевой процент отказов при принятии решения о найме на основе результатов реального теста программирования в реальной жизни.
Задача не должна быть слишком сложной. В прошлом я использовал простое приложение дневного приложения с сообщениями, хранящимися в базе данных или XML-файле, и простой пользовательский интерфейс. Убедитесь, что вы попросили их хорошо структурировать (поскольку задача достаточно мала, чтобы ее можно было выполнить в одном классе, если они чувствовали склонность).
Из вышеупомянутых вопросов я бы сказал, что вы не можете получить хорошее представление о том, действительно ли они хороши или нет. Потенциальный кандидат мог бы на самом деле просто прочитать их и создать готовые ответы, которые звучат великолепно. Все это говорит о том, что кандидат может говорить в режиме разговора, но для самой работы важно, чтобы он мог ходить и ходить.
источник
Я бы поставил связывание и конвертеры на начальном уровне, потому что именно так вы проводите много времени в WPF.
источник
Довольно хороший список на мой взгляд.
Однако я не стал бы задавать каверзные вопросы на собеседовании. Интервью дает достаточно стресса, вопрос с подвохом может сбить с толку даже высококвалифицированного человека.
источник
Лично я бы поставил «Как рабочие потоки могут обновлять интерфейс» прямо под начальным уровнем. Средний уровень, если вам действительно нужно. Если программист начального уровня может понять разницу между логическим деревом и визуальным деревом, он должен понять, как обновить пользовательский интерфейс из фонового потока.
В моей организации мы много занимаемся разработкой WPF без Blend. Мне не особенно нравится Blend, поэтому я немного предвзят, но навыки Blend должны быть хороши, я думаю.
источник
Разработчик WPF должен иметь четкое представление о том, как отделить XAML от выделенного кода, и уметь подробно обсуждать, где должна быть проведена эта линия.
Возможность настроить модель на выбранном языке, а затем использовать XAML для отображения представлений этой модели с помощью привязки данных, шаблонов данных, шаблонов элементов управления, стилей, триггеров, преобразователей значений и пользовательских элементов управления - довольно простая задача для среднего уровня. программист (Хотя небольшая свобода действий должна быть предоставлена, если кто-то попросит создать что-то вроде шаблона управления «от души».)
На самом деле, в WPF есть много , и если бы не форумы MSDN и подробные книги по этой теме, было бы достаточно просто «поднять его». По этой причине я бы оценил настойчивость и способность учиться у других как главное требование для любого уровня.
Для программиста начального уровня WPF я бы не ожидал, что знание WPF само по себе, но я бы потребовал знания объектно-ориентированных принципов, отделения пользовательского интерфейса от бизнес-логики и комфорта с аналогичной моделью событий. Опыт разработки элементов пользовательского интерфейса в стиле, аналогичном WPF (с контейнерами DockPanel и т. Д.), Является плюсом.
Редактировать: Кроме того, что сказал Колин Маккей.
источник
А как насчет программирования / графического интерфейса в целом и знания CS? Если это работа на полный рабочий день, ИМХО не имеет значения, должен ли парень потратить первые несколько месяцев на изучение WPF, если у него (или у нее) сильный опыт.
источник
Начальный уровень
Средний уровень
Старшая
источник
источник
Думаю, я бы предпочел разработчика, который бы знал Blend . Он / она может легко общаться с дизайнером, а также делать некоторые базовые дизайнерские вещи быстрее, чем просто писать на xaml.
Список интересный, возможно, ссылки на темы помогут.
ура
источник
Еще одна очень важная вещь - это различие между стратегиями маршрутизации пузырьков и туннелей.
источник
Начальный уровень
Старшая
источник
Средний или, может быть, старший: WinForms и WPF InterOp.
источник
Средний или, может быть, старший
источник
источник
Я думаю, что жизненный цикл приложения WPF - от создания до времени выполнения должен быть включен в уровень вопросов для начинающих. Не зная этого, трудно поверить, что кто-то - настоящий разработчик WPF
источник
Я бы в целом расширил развертывание ClickOnce с помощью развертывания WPF, поскольку полезно знать ограничения и особенности каждой модели (ClickOnce, XBAP, только браузер). Размещение на среднем уровне кажется справедливым.
источник
Стили предоставляют вам механизм для применения темы в приложении и для переопределения этой темы в тех конкретных случаях, где вы хотите. Стили определяются как ресурсы; фактически они определены в том же разделе вашего файла XAML, в котором определены ресурсы.
источник
Поместите в селектор шаблонов данных: http://www.switchonthecode.com/tutorials/wpf-tutorial-how-to-use-a-datatemplateselector Отличная помощь с MVVM для замены шаблонов на основе значения.
источник
Знание модульного тестирования и его влияния на использование WPF - это базовый навык, который я бы поставил на начальном уровне. Люди могут изучить детали, но если они не думают об основах проектирования программного обеспечения, у вас есть проблема.
источник