Вопросы об интервью: Разработчик WPF [закрывается]

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

182
задан 23 revs, 8 users 61% 29 January 2011 в 01:01
поделиться

18 ответов

Я удивлен, что никто еще не упомянул элементарные знания XAML. Знание, что XAML, и способность сделать некоторое основное редактирование с помощью XAML, а не инструмента графического дизайна. Разработчики среднего уровня должны быть в состоянии поднять форму / графические прототипы с помощью инструмента как XAMLPad.

41
ответ дан Mark Heath 23 November 2019 в 06:07
поделиться

Я расширил бы развертывание ClickOnce с помощью Развертывания WPF в целом, так как хорошо знать ограничения и особенности каждой модели (только ClickOnce, XBAP, браузер). Размещение его в среднего уровня кажется справедливым все же.

1
ответ дан Ruben Steins 23 November 2019 в 06:07
поделиться

Я думаю, что жизненный цикл приложения WPF - от создания до времени выполнения должен быть включен в уровень Новичка вопросов. Не зная, что это, его твердое верит, каждый - реальный WPF dev.

1
ответ дан krishna 23 November 2019 в 06:07
поделиться

Середина или возможно пользовательские элементы управления Senior

  • Skinning/Themeing
2
ответ дан cplotts 23 November 2019 в 06:07
поделиться

Середина или возможно Senior: WinForms и WPF InterOp.

2
ответ дан Nidonocu 23 November 2019 в 06:07
поделиться
  • Преобразователи (простой и много).
  • Совместимость.

я думаю, что предпочел бы dev, который будет знать Смешение . Он мог связаться легко с разработчиком и также сделать некоторый основной материал разработчика быстрее, чем просто запись в xaml.

список интересен, возможно, ссылки на темы помогли бы.

Аплодисменты

5
ответ дан Artur Carvalho 23 November 2019 в 06:07
поделиться

Начальный уровень

  • Уведомление об Изменении Свойства (INotifyPropertyChange и ObservableCollection)
  • Середина смешения/сидра ResourceDictionary
  • UserControls

Уровня

  • анимации и работа с архивами
  • Развертывание ClickOnce

Senior

  • WPF, 3D
  • Различия между Silverlight 2 и производительностью WPF
  • MVVM/MVP
  • WPF, настраивающейся
  • Пиксельные шейдеры
7
ответ дан Alan Le 23 November 2019 в 06:07
поделиться

Что относительно GUI программирование/графика испытывают в общем и cs знании? Если это для рабочие места с полной занятостью, не имеет значения, по моему скромному мнению, если парень должен провести первые несколько месяцев некоторое время с изучением WPF, если у него (или она) есть серьезная подготовка.

8
ответ дан Nils 23 November 2019 в 06:07
поделиться

Лично, я поместил, 'Как рабочие потоки могут обновить UI' прямо под начальным уровнем. Среднего уровня, если Вы действительно должны. Если программист начального уровня может понять различие между логическим деревом и визуальным деревом, они должны понять, как обновить UI от фонового потока.

В моей организации, мы делаем большую разработку WPF без Смешения. Мне особенно не нравится Смешение, таким образом, я немного смещаюсь, но навыки Смешения должны быть хорошим, чтобы, я думаю.

15
ответ дан Rob 23 November 2019 в 06:07
поделиться

Довольно хороший список, по-моему.
Однако я не спросил бы хитрый вопросы на интервью. Интервью дает самого достаточно напряжения, вопрос о приеме может смутить даже высококвалифицированного человека.

19
ответ дан aku 23 November 2019 в 06:07
поделиться

Я поместил привязку и преобразователи в начальном уровне, с тех пор именно так Вы проводите много времени в WPF.

23
ответ дан Robert Jeppesen 23 November 2019 в 06:07
поделиться
  • What is the relationship between threads and Dispatchers?
  • What is the purpose of Freezables?
  • What is the difference between properties and Dependency Properties? Why use one or another?
7
ответ дан 23 November 2019 в 06:07
поделиться
  • DataTemplate vs HierarchicalDataTemplate
  • ItemsControl vs ItemsPresenter vs ContentControl vs ContentPresenter
  • Различные типы триггеров
  • Как выполнять анимацию с помощью StoryBoards
2
ответ дан 23 November 2019 в 06:07
поделиться

Лично я бы сажал их перед стандартной машиной для сборки разработчиков и просил выполнить какую-нибудь задачу. Никаких вопросов, просто посмотрите, на что похож их код через пару часов (или больше, если задача длиннее).

У меня было нулевое количество отказов при принятии решения о найме на основе результатов реального программирования в реальной жизни. test.

Задача не должна быть слишком сложной. В прошлом я использовал простое ежедневное приложение с сообщениями, хранящимися в базе данных или XML-файле, и с простым пользовательским интерфейсом. Убедитесь, что вы попросили их хорошо ее структурировать (так как задача достаточно небольшая, чтобы все ее можно было выполнить в одном классе, если бы они почувствовали склонность).

Из приведенных выше вопросов я бы сказал, что вы не можете получить четкое представление о том, действительно ли они действительно хороши или нет. Потенциальный кандидат может просто прочитать их и создать готовые ответы, которые звучат великолепно. Все это свидетельствует о том, что кандидат может разговаривать, но в самой работе важно то, умеет ли он ходить пешком.

34
ответ дан 23 November 2019 в 06:07
поделиться

A WPF developer should have a firm grasp of separating the XAML from the code-behind, and be able to discuss at length where that line is to be drawn.

Being able to set up a model in the language of her choice, and then using XAML to display views on that model through data binding, data templates, control templates, styles, triggers, value converters and UserControls is a fairly basic task for the mid-level programmer. (Though a small amount of leeway should be granted if asking someone to create something like a control template "from heart.")

Really, there is a lot in WPF, and if it weren't for the MSDN forums and in-depth books on the subject, it'd be quite the task to "just pick it up." For that reason, I would rate perseverance and the ability to learn from others as a top requirement for any level.

For an entry-level WPF programmer, I wouldn't expect any knowledge of WPF per se, but I would demand knowledge of object-oriented principles, separation of UI from business logic, and comfort with a similar event model. Experience laying out UI elements in a style similar to WPF (with DockPanel containers, etc.) is a plus.

Edit: Also, what Colin Mackay said.

9
ответ дан 23 November 2019 в 06:07
поделиться

Еще одна очень важная вещь - это разница между стратегиями пузырьковой и туннельной маршрутизации.

4
ответ дан 23 November 2019 в 06:07
поделиться

стили предоставляют вам механизм применения темы в приложении и переопределения этой темы в тех конкретных случаях, когда вы хотите. Стили определяются как ресурсы; фактически, они определены в том же разделе вашего файла XAML, в какие ресурсы определены.

1
ответ дан 23 November 2019 в 06:07
поделиться

Начальный уровень

  • Знания в UX-дизайне
  • Знания в декларативном связывании для бизнес-объектов
  • Использование команд

Старший

  • Оптимизация ресурсов и настройка производительности
  • Модульность и масштабируемость
  • Асинхронное программирование Модель
3
ответ дан 23 November 2019 в 06:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: