code

인터뷰 질문: WPF 개발자

starcafe 2023. 4. 23. 11:00
반응형

인터뷰 질문: WPF 개발자

모든 WPF 개발자가 알아야 할 것은 무엇입니까?

엔트리 레벨

  • 강한.NET 2.0 배경과 학습 의욕!
  • 종속성 속성을 설명하시겠습니까?
  • 스타일이 뭐죠?
  • 템플릿이 뭐죠?
  • 바인딩
  • 기본 클래스 간의 차이:비주얼, UILEment, FrameworkElement, 컨트롤
  • 시각 트리와 논리 트리의 비교
  • 속성 변경 알림(INOTIFY)Property Change 및 Observable Collection)
  • Resource Dictionary - a7an에 의해 추가됨
  • 사용자 컨트롤 - a7an에 의해 추가됨
  • 버블과 터널 라우팅 전략의 차이 - 카를로에 의해 추가됨
  • 왜 마이크로소프트는 또 다른 마크업 언어를 도입했을까?
  • XAML

미드레벨

  • 루티드 이벤트 및 명령어
  • 변환기 - Artur Carvalho에 의해 추가됨
  • WPF의 2패스 레이아웃 엔진에 대해 설명하십시오.
  • 패널 구현 방법
  • 상호운용성(WPF/WinForms)
  • 블렌드/사이다 - a7an에 의해 추가됨
  • 애니메이션 및 스토리보드
  • 클릭원스 전개
  • 스킨링/테마잉
  • 커스텀 컨트롤
  • 작업자 스레드는 어떻게 UI를 업데이트합니까?
  • Data Template vs Hierarchical Data Template
  • 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와 같은 도구를 사용하여 폼/그래픽 프로토타입을 복제할 수 있어야 합니다.

개인적으로 저는 그들을 표준 개발자 빌드 머신 앞에 앉히고 몇 가지 작업을 완료하도록 요청하곤 했습니다.질문 없습니다. 몇 시간 후(또는 작업이 더 길면 그 이상) 코드가 어떻게 되는지 확인하세요.

저는 실생활 프로그래밍 테스트 결과에 따라 채용 명세서를 작성하는 데 불합격률이 전혀 없었습니다.

그 일은 그렇게 어렵지 않아도 된다.데이터베이스나 XML 파일에 보관되어 있는 메시지와 심플한 유저 인터페이스와 함께, 지금까지의 심플한 오늘의 애플리케이션을 사용한 적이 있습니다.작업을 잘 구성하도록 요청하십시오(작업이 너무 작아서 고객이 마음이 내키면 한 클래스로 모두 수행할 수 있습니다).

위의 질문들 중 당신은 그것들이 정말 좋은 것인지 아닌지를 잘 알 수 없다고 말하고 싶습니다.잠재적 후보자는 실제로 이것들을 읽고 훌륭한 답을 만들어 낼 수 있다.이 모든 것은 후보자가 말을 할 수 있다는 것을 보여주지만, 직업 자체에서 중요한 것은 그들이 걸을 수 있느냐 하는 것이다.

WPF에서 많은 시간을 보내는 방법이기 때문에 바인딩과 컨버터를 엔트리 레벨로 하겠습니다.

내 생각에는 꽤 괜찮은 목록이야.
하지만 나는 면접에서 까다로운 질문을 하지 않을 것이다.면접 자체가 충분한 스트레스를 주고, 트릭 질문은 고도의 기술을 가진 사람도 혼란스럽게 할 수 있습니다.

개인적으로 저는 '작업자 스레드 업데이트 방법'을 엔트리 레벨 바로 아래에 두겠습니다.미드레벨, 꼭 필요하다면.엔트리 레벨 프로그래머가 논리 트리와 비주얼 트리의 차이를 이해할 수 있다면 백그라운드 스레드에서 UI를 업데이트하는 방법을 이해해야 합니다.

저희 조직에서는 Blend 없이 WPF 개발을 많이 하고 있습니다.저는 특별히 블렌드를 좋아하지 않기 때문에 조금 편견이 있지만 블렌드 스킬은 가지고 있으면 좋을 것 같습니다.

WPF 개발자는 XAML과 코드 배후의 분리를 확실히 파악하여 그 선을 그리는 장소에 대해 상세하게 논의할 수 있어야 합니다.

선택한 언어로 모델을 셋업하고 XAML을 사용하여 데이터 바인딩, 데이터 템플릿, 컨트롤 템플릿, 스타일, 트리거, 값 변환기 및 사용자 컨트롤을 통해 해당 모델에 대한 뷰를 표시할 수 있는 것은 중간 수준의 프로그래머에게는 매우 기본적인 작업입니다.(단, 누군가에게 컨트롤 템플릿과 같은 것을 "마음으로부터" 작성하도록 요청하면 약간의 여유를 주어야 합니다.)

정말로 WPF에는 많은 것이 있고, MSDN 포럼이나 그 주제에 관한 심도 있는 서적들이 없다면, "그냥 주워담는 것"은 꽤 힘들 것이다.그렇기 때문에 저는 끈기와 다른 사람에게 배우는 능력을 어떤 레벨에서도 가장 중요한 요건으로 꼽을 것입니다.

엔트리 레벨의 WPF 프로그래머라면 WPF 자체에 대한 지식은 기대하지 않지만 객체 지향의 원칙, UI와 비즈니스 로직의 분리, 유사한 이벤트 모델에 대한 쾌적함을 요구합니다.WPF와 유사한 스타일로 UI 요소를 배치하는 것이 좋습니다(DockPanel 컨테이너 등).

편집: 그리고 콜린 맥케이가 말한 것.

GUI 프로그래밍/그래픽스의 일반적인 경험과 cs지식은 어떻습니까?만약 정규직이라면, IMHO가 처음 몇 달 동안 WPF를 배워야 한다면, 그 혹은 그녀가 강한 배경을 가지고 있다면, IMHO는 중요하지 않다.

엔트리 레벨

  • 속성 변경 알림(INOTIFY)Property Change 및 Observable Collection)
  • Resource Dictionary(리소스 딕셔너리)
  • 사용자 제어

미드레벨

  • 블렌드/사이다
  • 애니메이션과 스토리보드
  • 클릭원스 전개

선배

  • WPF 3D
  • Silverlight 2와 WPF의 차이점
  • MVVM/MVP
  • WPF 퍼포먼스 튜닝
  • 픽셀 셰이더
  • 스레드와 디스패처는 어떤 관계가 있습니까?
  • Freezables의 목적은 무엇입니까?
  • 속성과 종속성 속성의 차이점은 무엇입니까?왜 하나 또는 다른 것을 사용하는가?
  • 변환기(단순 및 다중).
  • 상호 운용성

난 블렌드를 수 있는 개발자가 더 좋을 것 같아.디자이너와 쉽게 소통할 수 있고 기본적인 디자이너 일을 xaml로 쓰는 것보다 더 빨리 할 수 있었다.

목록이 흥미롭습니다. 주제에 대한 링크가 도움이 될 수 있습니다.

건배.

버블 라우팅 전략과 터널 라우팅 전략의 차이도 매우 기본적인 것입니다.

엔트리 레벨

  • UX 설계에 관한 지식
  • 비즈니스 객체의 선언적 바인딩에 관한 지식
  • 명령어 사용방법

선배

  • 자원 최적화 및 퍼포먼스 조정
  • 모듈러성과 확장성
  • 비동기 프로그래밍 모델

중급자 또는 상급자:WinForms 및 WPF InterOp.

중간 또는 시니어

  • 스킨링/테마잉
  • 커스텀 컨트롤
  • Data Template vs Hierarchical Data Template
  • ItemsControl vs ItemsPresenter vs ContentControl vs ContentPresenter
  • 다양한 유형의 트리거
  • StoryBoard를 통한 애니메이션 제작 방법

WPF 어플리케이션의 라이프 사이클 - 작성부터 런타임까지를 초급 수준의 질문에 포함해야 한다고 생각합니다.모르는 사이에 진짜 WPF 개발이라는 것을 믿기 어렵다.

WPF Deployment를 사용하여 ClickOnce 도입을 확장합니다.각 모델의 제한사항과 특성을 알면 좋기 때문입니다(ClickOnce, XBAP, 브라우저만 해당).중간 레벨에 배치하는 것은 공평한 것 같습니다.

스타일은 응용프로그램 전체에 테마를 적용하고 원하는 특정 인스턴스에서 해당 테마를 재정의할 수 있는 메커니즘을 제공합니다.스타일은 리소스와 같이 정의됩니다.실제로 스타일은 리소스가 정의되는 XAML 파일의 동일한 섹션 내에서 정의됩니다.

데이터 템플릿 실렉터 삽입 : http://www.switchonthecode.com/tutorials/wpf-tutorial-how-to-use-a-datatemplateselector MVVM을 사용하면 템플릿이 값에 따라 교체됩니다.

유닛 테스트와 유닛 테스트가 WPF 사용 방법에 미치는 영향을 이해하는 것은 엔트리 레벨에서 사용하는 기본적인 스킬입니다.사람들은 자세한 내용을 배울 수 있지만, 소프트웨어 설계의 기본에 대해 생각하지 않는다면 문제가 있습니다.

언급URL : https://stackoverflow.com/questions/58739/interview-questions-wpf-developer

반응형