모든 좋은 .NET 개발자가 질문에 대답 할 수 있어야합니까?


Answers

Scott Hanselman 의 blog 에서이 목록을 발견했습니다.

다음은 카테고리로 분류 된이 게시물의 가장 중요한 질문입니다. 나는 그들을 편집하고 재 배열했다. 다행히도 이러한 질문의 대부분은 Stack Overflow에 대한 좋은 대답입니다. 그냥 링크를 따라 가십시오 (나는 최대한 빨리 업데이트 할 것입니다) .

플랫폼 독립적 인. NET 질문

ASP.NET

Question

우리 회사는 .NET 개발자 를 고용하려고합니다. 우리는 다양한 .NET 플랫폼 (ASP.NET, Compact Framework, Windowsforms, 웹 서비스)에서 작업합니다. 나는 신청자가 경험이 있는지보기 위해 최소한의 표준의 일종 인 좋은 질문 목록 / 카탈로그를 작성하고 싶다. 그래서, 내 질문은 :

좋은 .NET 프로그래머가 어떤 질문에 대답 할 수 있어야한다고 생각하십니까?

나는 또한 내 자신의 결점이 어디에 있는지 알기 위해 나 자신을위한 체크리스트 로 보았다.

* 업데이트 : .NET 지식에 대해서만 테스트하지는 않으며, 문제 해결 기능과 일반적인 프로그래밍 기술은 우리에게 더욱 중요하다는 것을 분명히하고 싶습니다.




나는 그 사람들에게 "교과서의 어떤 것을 안다"는 질문을하지 않고 오히려 다음과 같이 약간의 질문을한다.

  • foreach 루프는 평범한 C #에서 무엇을합니까? (반복자 루프를 작성해야한다.)
  • 싱글 톤은 무엇입니까?
  • 그 / 그녀가 Datetime에 문자열을 파싱하게하십시오 (try / catch 대신 tryParse를 사용할 것을 기대합니다)
  • 싱글 톤, 전략 및 명령 패턴 구현
  • 시험용 코드 조각을 리팩터링하게하십시오. 시험중인 장비에서 외부 서비스를 추상화하고 자체 Test-double 서비스를 구현할 것을 기대합니다 (조롱 프레임 워크 제공 없음).

이것들은 제가 물어볼 수있는 사람에 따라 100 % 확실하지 않습니다 :

  • 그 / 그녀가 null 입력에서 방법을 지키게하십시오 (그 / 그녀가 여러 반환을 사용하여 중첩을 줄이기를 기대 함)
  • 객체 이니셜 라이저는 어떻게 작동합니까? (스레드 안전 지정을 쓰려고합니다)

또한 나는 그 / 그녀가 그 / 그녀의 물건과 그 / 그녀가 읽고있는 것 (블로그, 책)을 어떻게 배웠는지 물어볼 것입니다.







몇 가지 질문은 dotnet을 사용하여 프로그래밍 개념을 이해하는 데 초점을 맞출 것을 제안합니다.

관리되는 환경과 관리되지 않는 환경의 차이점은 무엇입니까? GC 장단점 JIT 장단점 우리가 X 응용 프로그램을 개발해야한다면 dotnet을 사용할 수 있습니까? (이것은 그가 어떻게 도트 넷을 보는지 식별 할 것입니다)

작은 방법을 쓰고 더 나은 닷넷 클래스 나 표준 방법을 사용하여 더 나은 성능으로 다시 작성하도록 요청합니다. 또한 논리적 인 방법이나 부정확 한 방법을 논리적으로 작성하고 수정하도록 요청하십시오.




나는 그것이 단지 질문이 아니어야한다고 생각한다. 나는 당신이 인터뷰 할 때 매우 빛나는 몇 사람을 안다. 그러나 그들은 현실주의에 빠지면 너무 많은 완벽 주의자이다. 나는 그들이 비참하게 작업을 코딩하지 못한다고 말할 것이다.

나는 한 번 인터뷰를 한 적이 있는데, 처음 고용주가 30 분 안에 기술 설문지를 작성하는 접근법을 좀 좋아했습니다. 그 중 하나가 성공하면 성격 심판 및 인물 찾기 질문과 기술 전문 용어를 포함하는 1 시간의 인터뷰를 요청 받게됩니다.

그런 다음 6 시간 안에 3 페이지 웹 응용 프로그램을 개발하도록 요청 받았습니다. 작은 ERD, Layerd 디자인, UI 일관성, GridView에서 라디오 버튼 사용, 웹 페이지의 DB에서 이미지 유형 가져 오기, 특정 알고리즘 개발과 같은 특정 문제 제어와 같은 애플리케이션 개발의 주요 측면을 스마트하게 응용 한 제약이있었습니다. 보안, 암호화, 해싱, 데이터 표현 및 조작.

그런 다음 다음 날 그들은 성능 병목 영역과 디자인 및 사용 된 알고리즘의 개선을 다루는 개발 된 응용 프로그램에 대한 30 분 토론을했습니다. 그리고 특정 조건으로 이전 단계에서 개발 된 알고리즘을 개선하기위한 1 시간 옵션 테스트.

따라서 상당한 시간이 걸렸지 만,이 방법을 사용하면 고용인이 잘 아는 개발자가 될 수있는 개념을 알 수 있습니다.




없음. 아마도 세계에서 가장 똑똑한 사람들이 답을 모른다는 것은 매우 간단한 질문 일 것입니다. 그들이 열심히하기 때문에가 아니라 단순히 그들이 그걸 보지 않았기 때문입니다. 개발자는 임의의 질문에 답할 수 있는지 여부가 아닌 전체 패키지와 개발자의 기술을 조사해야합니다.

질문이 짧은 문장이나 2 문장으로 쉽게 대답 할 수 있다면, 모르는 사람에게 말하기 만하면됩니다. "모든 .NET 개발자가 대답 할 수 있어야합니다."라는 질문에 대답하는 능력이 아니라 개념과 추론 능력에 대한 이해를 찾고 있어야합니다.




나는 LINQ 경험이있는 사람을 인터뷰했다면 LINQ를 설명하도록 요청했을 것입니다. 그들이 지연된 실행, 스트리밍, IEnumerable / IEnumerator 인터페이스, foreach, iterator 블록, 표현 트리 (보너스 포인트 용)를 설명 할 수 있다면 나머지 부분은 대처할 수 있습니다. (확실히 "OK"개발자 일 수도 있고 LINQ를 아직 얻지 못했을 수도 있습니다 - 나는 그들이 공정한 질문을하기에 충분한 LINQ를 알고 있다고 주장한 경우를 정말로 생각하고 있습니다.)

과거에는 이미 나열된 몇 가지 질문과 몇 가지 다른 질문을했습니다.

  • 참조 유형과 값 유형의 차이점
  • 참조로 전달하고 값으로 전달
  • IDisposable 및 finalizers
  • 문자열, 불변성, 문자 인코딩
  • 부동 소수점
  • 대표자들
  • 제네릭
  • Null 가능 유형



스레드 란 무엇입니까?

GC가 무엇입니까?




나는 항상 자신의 연약한 기술을 찾겠다. 그래서 좋은 OO 디자인, 테스트 주도 개발, 좋은 멀티 (프로그래밍) 언어 배경과 모든 라운드 일반 smartness (그리고 점점 일을 다 끝났어!).

지능적인 개발자는 이전에 한번도 본 적이 없더라도 알 필요가있는 개별 기술을 배우는 데 어려움을 겪지 않아야합니다. WCF / 컴팩트 프레임 워크와 관련된 특정 질문에 대해서는 너무 걱정하지 않아도됩니다.

나는 그들이 그들이 무엇을 알고 어떻게 작동하는지 알아내는 가장 좋은 방법을 몇 가지 코드로 작성하게 할 것이다. 누구나 '참조 유형과 값 유형의 차이점은 무엇입니까?'라는 대답을 암기 할 수 있습니다.




다음은 C # 프로그래머로 일하는 프로그래머를 필터링하는 데 사용 된 몇 가지 예입니다.

참조 유형과 값 유형의 차이점은 무엇입니까?

IDisposable 인터페이스를 설명하십시오. C # 언어 구문에는이 인터페이스가 필요하며 구현 방법은 무엇인지 설명하십시오.

null가 그 파라미터에 null를 허가하지 않는 계약을 가지는 메소드에 인수로서 건네받는 경우는, 어느 쪽의 예외를 throw합니까?




이것은 흥미 롭습니다. 내 의견을 말하면서 투표를 거절 당할 위험에 처해 있습니다. 귀가 먹을 때 태어날 때, 그런 질문을하는 것이 내 생각을 개인적으로 의사 소통하는 데 더 많은 노력을 요구하게됩니다.

무디게하기 위해서, 나는 전형적인 질문을 너무 많이 읽지 않을 것입니다. 근본적인 패러다임은 ' 당신의 생각과 이해를 얼마나 잘 표현할 수 있습니까? ', 그것은 정말로 면접관이 찾고있는 것입니다. 의사 소통은 내가하는 방식으로 인해 항상 가장 큰 약점이며 아주 쉽게 좌절 할 수 있습니다.

지식을 갖고 노하우가있는 유형이되는 것이 이상적이지만 불행히도 모르는 일이 있습니다. 실제로 대답을 모르고 허풍을 부르는 대신 두려워하지 마십시오. 그것을 통해. 면접관이 위의 질문 중 하나와 같은 질문을했는데 질문을 잘못 이해했거나 잘못 해석 한 경우이를 개인적으로 당혹스럽게 할 수는 있지만 선생님은이를 처리하는 방법을 배웠습니다.

얼마나 많은 사람들이 실제로 와플을하고 허세 부리는 것이 놀랍습니까? 하루가 끝나면 은유 적으로 말하면서 '바지를 내리고'내려갑니다.

내 2 센트, 안부 인사, 톰.




Jon Skeet은 누구입니까?




Links



Tags

.net .net