Programing

면접 질문 : WPF 개발자

lottogame 2020. 5. 18. 08:04
반응형

면접 질문 : WPF 개발자


모든 WPF 개발자는 무엇을 알아야합니까?

입문 단계

  • 강력한 .NET 2.0 배경 & 배우려는 의지!
  • 종속성 속성을 설명 하시겠습니까?
  • 스타일이 뭐야?
  • 템플릿이란 무엇입니까?
  • 제본
  • 기본 클래스의 차이점 : Visual, UIElement, FrameworkElement, Control
  • 비주얼 트리와 로직 트리?
  • 속성 변경 알림 (INotifyPropertyChange 및 ObservableCollection)
  • ResourceDictionary-추가 한 a7an
  • UserControls-a7an에 의해 추가됨
  • 거품과 터널 라우팅 전략의 차이점-Carlo 추가
  • Microsoft가 또 다른 마크 업 언어를 도입 한 이유는 무엇입니까?
  • XAML

중급

  • 라우트 된 이벤트 및 명령
  • 변환기-Artur Carvalho에 의해 추가됨
  • WPF의 2 패스 레이아웃 엔진을 설명 하시겠습니까?
  • 패널을 구현하는 방법?
  • 상호 운용성 (WPF / WinForms)
  • 블렌드 / 사이다 -추가 a7an
  • 애니메이션과 스토리 보드
  • ClickOnce 배포
  • 스키닝 / 테마
  • 맞춤형 컨트롤
  • 작업자 스레드가 UI를 어떻게 업데이트 할 수 있습니까?
  • DataTemplate 및 계층 적 DataTemplate
  • ItemsControl vs ItemsPresenter vs ContentControl vs ContentPresenter
  • 다양한 유형의 트리거

연장자

  • 첨부 된 행동의 예?
  • PRISM, CAL & CAG 란 무엇입니까?
  • 작업자 스레드가 UI를 어떻게 업데이트 할 수 있습니까?
  • WPF 3D-추가 a7an
  • Silverlight 2와 WPF의 차이점
  • MVVM / MVP-추가 한 a7an
  • WPF 성능 조정
  • 픽셀 쉐이더
  • Freezables의 목적

다른 "트릭" 질문이 있습니까?

WPF 개발자가 블렌드를 알고 있습니까?


아직 XAML에 대한 기본 지식을 언급 한 사람이 아무도 없습니다. XAML이 무엇인지 알고 그래픽 디자인 도구가 아닌 XAML을 사용하여 기본 편집을 수행 할 수 있습니다. 중급 개발자는 XAMLPad와 같은 도구를 사용하여 양식 / 그래픽 프로토 타입을 사용할 수 있어야합니다.


개인적으로 나는 표준 개발자 빌드 머신 앞에 앉아 작업을 완료하도록 요청합니다. 의문의 여지없이 몇 시간 후에 (또는 작업이 더 길면 더 많은 코드) 코드가 무엇인지 확인하십시오.

실제 실제 프로그래밍 테스트 결과를 기반으로 채용 결정을 내리는 데 실패율이 0이었습니다.

작업이 너무 어려울 필요는 없습니다. 데이터베이스 또는 XML 파일에 보관 된 메시지와 간단한 사용자 인터페이스로 과거의 간단한 응용 프로그램을 사용했습니다. 그것들이 잘 구조화되도록 요청하십시오. (작업이 충분히 작아서 한 클래스에서 모두 기울일 수 있다고 생각할 수 있기 때문에)

위의 질문 중 나는 당신이 그들이 실제로 좋은지 아닌지에 대한 좋은 아이디어를 얻을 수 없다고 말하고 싶습니다. 잠재적 인 candicate는 실제로 이것들을 읽고 훌륭하게 들리는 통조림 된 답변을 만들 수 있습니다. 이 모든 쇼는 응시자가 대화 할 수 있다는 것입니다. 그러나 직무 자체에서 중요한 것은 그들이 걸을 수있는 것입니다.


바인딩과 변환기를 엔트리 레벨에 두었습니다. WPF에서 많은 시간을 소비하는 방식이기 때문입니다.


내 의견으로는 꽤 좋은 목록입니다.
그러나 나는 인터뷰에 까다로운 질문을 하지 않을 것 입니다. 인터뷰는 충분한 스트레스 자체를 제공하며, 트릭 질문은 숙련 된 사람조차도 혼란스럽게 할 수 있습니다.


Personally, I'd put 'How can worker threads update the UI' right under entry-level. Mid-level, if you really need to. If an entry-level programmer can understand the difference between the logical tree and the visual tree, they should understand how to update the UI from a background thread.

At my organization, we do a lot of WPF development without Blend. I don't particularly like Blend, so I'm a bit biased, but Blend skills should be a nice-to-have, I think.


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.


What about GUI programming/graphics experience in general and cs knowledge? If it's for a full time jobs, it does not matter IMHO if the guy has to spend the first few months some time with learning WPF, if he (or she) has a strong background.


Entry Level

  • Property Change NOtification (INotifyPropertyChange and ObservableCollection)
  • ResourceDictionary
  • UserControls

Mid Level

  • Blend/Cider
  • animations and storyboarding
  • ClickOnce Deployment

Senior

  • WPF 3D
  • Differences between Silverlight 2 and WPF
  • MVVM/MVP
  • WPF Performance tuning
  • Pixel Shaders

  • 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?

  • Converters(simple and multi).
  • Interoperability.

I think I would prefer a dev that would know Blend. He/She could communicate easily with the designer and also do some basic designer stuff faster than just writing in xaml.

The list is interesting, maybe links to the topics would help.

Cheers


Another really basic thing would be the difference between bubble and tunnel routing strategies.


Entry Level

  • Knowledge in UX Design
  • Knowledge in Declarative Binding for business objects
  • Command usage

Senior

  • Resource optimization & Performance tuning
  • Modularity & Scalability
  • Asynchronize Programming Model

Mid or maybe Senior: WinForms and WPF InterOp.


Mid or maybe Senior

  • Skinning/Themeing
  • Custom Controls

  • DataTemplate vs HierarchicalDataTemplate
  • ItemsControl vs ItemsPresenter vs ContentControl vs ContentPresenter
  • Different types of Triggers
  • How to do Animations through StoryBoards

I think lifecycle of WPF application - from creation to runtime should be included in the Beginner level of questions. Without knowing it, its hard to believe one is a real WPF dev.


I'd extend the ClickOnce deployment with WPF Deployment in general, since it's good to know the limitations and peculiarities of each model (ClickOnce, XBAP, browser only). Placing it at mid-level seems fair though.


styles provide a mechanism for you to apply a theme across an application and to override that theme in those specific instances where you want to. Styles are defined like resources; in fact, they are defined within the same section of your XAML file in which resources are defined.


Put in data template selector : http://www.switchonthecode.com/tutorials/wpf-tutorial-how-to-use-a-datatemplateselector Great help with MVVM to swap out templates based on value.


Knowing about unit testing and the effect it has on how you use WPF is a basic skill that I would put at Entry Level. People can learn the details, but if they have not thought about the basics of software design then you have a problem.

참고URL : https://stackoverflow.com/questions/58739/interview-questions-wpf-developer

반응형