무서운 C # 프로그래밍 인터뷰 테스트-조언? [닫은]


21

가능한 C # 개발 작업이 준비되어 있지만 인터뷰를하기 전에 고용 기관에 테스트를 통과해야합니다.

지금은 10 년 이상의 프로그래밍 경험과 3 년 이상의 C # 경력을 가진 선임 개발자이지만이 테스트를 기대하지 않고 실패 할 가능성이 높다고 생각합니다.

내 경험상 이러한 테스트는 일상 업무 상황에서 거의 사용하지 않는 것을 요구하는 예측할 수 없습니다.

예를 들어 좋은 책이나 웹 사이트와 같이 수정해야 할 사항에 대한 최선의 조언이 필요합니다. 나는 준비하는 데 1 주일도 채 걸리지 않으며 이것을 통과하는 것이 필수적입니다.

미리 감사드립니다.

편집 : 이러한 테스트 작성에 대한 내 우려를 더 정당화하려면 다음 질문을 고려하십시오.

12) 이벤트는 :

   a) The result of a users action - correct answer
   b) The esult of a party
   c) code to force users action

테스트에 따른 정답은 A이지만 SOA 개발을 수행 한 이후 (종종 이벤트가 시스템 이벤트 (사용자 작업이 아님)를 기반으로 할 수있는 경우)에 의해 이벤트가 진행될 필요가 없다고 100 % 확신합니다. 사용자 작업.이 또한 C # 질문 (ASP.net 질문이 아님)이었습니다. 내 이해를 바탕으로, 나는 실제로 정답을 찾을 수는 없었지만 B가 가장 좋은 것 같습니다 (파티의 정의가 : 사건을 유발할 수있는 실체 이런 종류의 질문은 저를 두려워합니다.


4
'고급 개발자'이고 3 년 동안 C #을 매일 사용하고 있다면 괜찮을 것입니다. 이 테스트는 일반적으로 언어 나 그 사용법을 모르는 사람들을 제거하기위한 것입니다. 3 년 동안 매일 사용했다면, 주어진 테스트에서 거의 모든 함정에 부딪쳤을 것입니다.
George Stocker

11
@GeorgeStocker-실제로, 나는이 테스트 중 일부 (전체 .NET 프레임 워크에서 더 많은 것을 목표로 했음)를 가져 가야했고 매우 상세했습니다. 처음에는 경험이 많지 않은 WCF와 같은 프레임 워크 영역으로 이동했기 때문에 매우 어려웠으며 .config 파일에서 어떤 구성 옵션을 사용하여 설정 해야하는지 등 모호한 옵션. 아마도 한 번만 사용하고 Google에서 그것을 사용하기 때문에 암기하는 일은 거의 없습니다. 나는 경험이 약간 실망 스럽다는 것을 알았다.
Scott Whitlock

7
아, 그리고 내가 틀린 질문 중 하나는 "VB.NET에서 구조를 선언하는 데 사용되는 키워드는 무엇입니까?"a) struct b) Struct c) 구조 d) 구조입니다. 나는 "지능형이 이것을 알고 있기 때문에 내가 할 필요가 없습니다!" 물론, 그 대답은 나의 기억 속에 빠져 있습니다.
Scott Whitlock

17
@ScottWhitlock : 제대로 설계되지 않은 인터뷰를 적절히 준비 할 수있는 방법이 없습니다. 어떤 시점에서 당신은 그들이 당신이 실제로 전문화한다고 주장하는 영역과 일부 개념적 능력에 기초하여 요구하고 판단 할 수있는 능력이 있다는 것을 믿어야합니다. 그렇지 않다면 어쨌든 그들을 위해 일하는 비참한 시간이있을 것입니다.
Aaronaught

2
C # 언어 테스트입니까, 아니면 .NET Framework 테스트입니까?
개미

답변:


24

다소 오래된 블로그이지만이 블로그 게시물이 도움이 될 것입니다. 위대한 .NET 개발자가 알아야 할 내용

코드를 작성하는 사람

  • 스레드와 프로세스의 차이점을 설명 하시겠습니까?
  • Windows 서비스 란 무엇이며 수명주기는 "표준"EXE와 어떻게 다릅니 까?
  • Windows에서 단일 프로세스가 처리 할 수있는 최대 메모리 양은 얼마입니까? 시스템의 최대 가상 메모리와 다른가요? 이것이 시스템 설계에 어떤 영향을 미칩니 까?
  • EXE와 DLL의 차이점은 무엇입니까?
  • 강력한 타이핑과 약한 타이핑이란 무엇입니까? 어느 것이 선호됩니까? 왜?
  • Corillian의 제품은 "구성 요소 컨테이너"입니다. Windows Server 제품군과 함께 제공되는 구성 요소 컨테이너를 3 개 이상 지정하십시오.
  • PID 란 무엇입니까? 시스템 문제를 해결할 때 어떻게 유용합니까?
  • 단일 TCP / IP 포트에서 청취 할 수있는 프로세스는 몇 개입니까?
  • GAC 란 무엇입니까? 어떤 문제가 해결됩니까?

중급 .NET 개발자

  • 인터페이스 지향, 객체 지향 및 화면 지향 프로그래밍의 차이점을 설명하십시오.
  • 인터페이스가 무엇이고 클래스와 어떻게 다른지 설명하십시오.
  • 리플렉션이란?
  • ASMX를 사용하는 XML 웹 서비스와 SOAP를 사용하는 .NET Remoting의 차이점은 무엇입니까?
  • XmlSchema 및 CLS 동형으로 표현 된 형식 시스템입니까?
  • 개념적으로 초기 바인딩과 후기 바인딩의 차이점은 무엇입니까?
  • Assembly.Load를 정적 참조 또는 동적 참조를 사용하고 있습니까?
  • Assembly.LoadFrom 또는 Assembly.LoadFile을 언제 사용해야합니까?
  • 어셈블리 정규화 된 이름은 무엇입니까? 파일 이름입니까? 어떻게 다릅니 까?
  • 이것이 유효합니까? Assembly.Load ( "foo.dll");
  • 강력한 이름의 어셈블리와 다른 이름의 어셈블리는 어떻게 다릅니 까?
  • DateTimes가 null 일 수 있습니까?
  • JIT 란 무엇입니까? NGEN이란 무엇입니까? 각각의 한계와 장점은 무엇입니까?
  • .NET CLR의 세대 가비지 수집기는 개체 수명을 어떻게 관리합니까? 비 결정적 마무리 란 무엇입니까?
  • Finalize ()와 Dispose ()의 차이점은 무엇입니까?
  • using () 패턴은 어떻게 유용합니까? IDisposable이란 무엇입니까? 결정 론적 마무리를 어떻게 지원합니까?
  • 이 유용한 명령 줄은 무엇을합니까? 작업 목록 / m "mscor *"
  • 절차 내 절차와 절차 외의 차이점은 무엇입니까?
  • .NET에서 어떤 기술이 외부 통신을 가능하게합니까?
  • ASP.NET에서 구성 요소를 실행할 때 Windows XP에서 어떤 프로세스를 실행하고 있습니까? Windows 2000? Windows 2003?

선임 개발자 / 건축가

  • 이 같은 라인에 어떤 문제가 있습니까? DateTime.Parse (myString);
  • PDB 란 무엇입니까? 디버깅을 위해 어디에 위치해야합니까?
  • 순환 복잡성이란 무엇이며 왜 중요한가?
  • 표준 잠금 ()과 "이중 확인"을 작성하여 변수 액세스에 대한 중요한 섹션을 만듭니다.
  • FullTrust 란 무엇입니까? GAC 어셈블리에는 FullTrust가 있습니까?
  • 특정 보안 권한을 요구하는 속성으로 코드를 꾸미면 어떤 이점이 있습니까?
  • 이것은 무엇을 하는가? gacutil / l | / i "Corillian"찾기
  • 이것은 무엇을 하는가? sn -t foo.dll
  • 방화벽을 통해 DCOM을 위해 어떤 포트를 열어야합니까? 포트 135의 목적은 무엇입니까?
  • 대비 OOP와 SOA. 각각의 신조는 무엇입니까?
  • XmlSerializer는 어떻게 작동합니까? 프로세스를 사용하는 프로세스에는 어떤 ACL 권한이 필요합니까?
  • catch (Exception)가 거의 항상 나쁜 생각 인 이유는 무엇입니까?
  • Debug.Write와 Trace.Write의 차이점은 무엇입니까? 각각 언제 사용해야합니까?
  • 디버그 빌드와 릴리스 빌드의 차이점은 무엇입니까? 상당한 속도 차이가 있습니까? 그 이유는 무엇?
  • JITting은 조립 또는 방법별로 발생합니까? 이것이 작업 세트에 어떤 영향을 줍니까?
  • 인터페이스에 대한 추상 기본 클래스의 사용을 대조합니까?
  • a.Equals (b)와 a == b의 차이점은 무엇입니까?
  • 비교의 맥락에서 객체 동일성과 객체 동등성은 무엇입니까?
  • .NET에서 어떻게 딥 카피를 수행합니까?
  • IClonable에 대한 현재의 생각을 설명하십시오.
  • 권투 란?
  • 문자열이 값 유형입니까 아니면 참조 유형입니까?
  • XmlSerializer에서 사용하는 "PropertySpecified"패턴의 중요성은 무엇입니까? 어떤 문제를 해결하려고 시도합니까?
  • .NET에서 매개 변수가 나쁜 생각 인 이유는 무엇입니까? 그들이 있습니까?
  • 메소드의 특정 매개 변수에 속성을 배치 할 수 있습니까? 이것이 왜 유용한가요?

C # 구성 요소 개발자

  • new를 사용하여 재정의를 병치합니다. 그림자 란 무엇입니까?
  • 가상, 봉인, 재정의 및 요약 사용에 대해 설명하십시오.
  • 이 문자열의 각 구성 요소의 중요성과 사용법을 설명하십시오. Foo.Bar, Version = 2.0.205.0, Culture = neutral, PublicKeyToken = 593777ae2d274679d
  • 공공, 보호, 개인 및 내부의 차이점을 설명하십시오.
  • PIA (Primary Interop Assembly)를 사용하면 어떤 이점이 있습니까?
  • NUnit은 어떤 메커니즘을 통해 테스트 할 방법을 알고 있습니까?
  • 차이점은 무엇입니까 : catch (Exception e) {throw e;}와 catch (Exception e) {throw;}
  • typeof (foo)와 myFoo.GetType ()의 차이점은 무엇입니까?
  • 첫 번째 생성자에서 무슨 일이 일어나고 있는지 설명하십시오. public class c {public c (string a) : this () {;}; public c () {;}}이 구문은 어떻게 유용합니까?
  • 무엇 ? 정적 메소드 내에서 사용할 수 있습니까?

ASP.NET (UI) 개발자

  • 브라우저 기반 양식 POST가 Button1_OnClick ...과 같은 서버 측 이벤트가되는 방법을 설명하십시오.

1
여기에 나열된 모든 답변이 도움이되고 좋았지 만 목록에있는 모든 질문을 받았고 (4 시간이 걸렸습니다) 온라인으로 샘플 테스트를 작성하여 통과했습니다. .net 개발자는 적어도 한 번은 이러한 질문을 겪고 답변을 이해하고 2 차 및 3 차 의견을 얻도록 권장합니다. 많은 사람들이 (Google에서 찾은) 질문에 대답하지만 많은 답변이 때때로 간결하지는 않습니다. 그러니 조심해. 당신이 찾은 답변을 교차 확인하십시오.
JL01

2
좋은 링크! 내가 아는 사람들이 몇 명이나 놀랐습니다. this.Ego ++;
저스틴 셀프

@ justnS : 게시물을 발견했을 때도 마찬가지였습니다. :-)
Konamiman

몇 주 전에 면접을 보러 갔는데 그들은 답을 얻기 위해 이것을 인쇄했습니다. 나에게 인터뷰에 반영.
dbones

1
언제 답변을 추가 하시겠습니까? ;)
Thijs van Dien

10

그냥 걸어가

나는이 같은 테스트를 몇 번 보았습니다. 이제 그냥 걸어가 테스트는 가장 사소한 프로그래밍 지식을 측정합니다. 이 테스트가 프로그래머를 평가하는 좋은 방법이라고 생각하는 사람을 위해 일하고 싶습니까? 난 아니야


1
그것들은 최소 표준 으로서 좋은 방법 , 즉 필요한 조건이지만 충분한 조건은 아닙니다 .
Sklivvz

4
@ Sklivvz : 아마도 그들이 좋은 테스트 라면 . 상용 테스트는 대부분 사소한 연습입니다. "텍스트 파일을 읽는 데 어떤 수업을 사용 하시겠습니까?" 좋은 개발자는 바이트 스트림과 문자 스트림의 차이점 및 UTF 인코딩의 세부 사항에 대해 10 분 동안 대화 할 수 있지만 여전히이 질문을 놓칠 수 있습니다. 정보에 쉽게 접근 할 수 있으면 암기 할 필요가 없습니다.
케빈 클라인

2
나는 케빈에 동의합니다. 귀하의 직무와 관련이없는 정보가 너무 많아서 테스트 할 수 있습니다. 그들은 구글과 인텔리을 발명 이유입니다 - 우리가 답변을 필요로 할 때, 우리가 필요로 사용할 수있는 그것으로, 그들을 찾을
ADNow

2
그는 테스트에 따라 다릅니다. 멀리 떨어진 테스트가 있지만 좋은 테스트가 있습니다. 간단한 3 가지 프로그래밍 질문 테스트가 있습니다. 첫 번째 질문은 간단한 C # 앱을 작성하는 것입니다. 두 번째는 5 개의 간단한 SQL 쿼리를 작성하도록 요청합니다. 세 번째는 응시자가 더 많은 정보를 요구하지 않으면 대답 할 수없는 질문입니다. 첫 번째와 두 번째 질문은 완전히 무능한 프로그래머를 배제합니다. 그것은 우리의 시간이 가치가없는 사람들을 인터뷰 할 때 시간을 절약 해줍니다. 세 번째 질문은 프로그래머가 문제 해결에 어떻게 접근하는지에 대한 통찰력을 제공합니다. 매우 귀중한 것들.
Pete

8

나는 작년과 같은 상황에 처해있었습니다. 인터뷰를하다 보니 너무 무서웠습니다. C # 인터뷰 질문을 검색 한 후 여러 사이트 (다른 ​​포스터에 많은 사이트가 나열 됨)를 발견하여 연구했습니다. 많은 놀랍게도 인터뷰의 90 %, 그 매우 사이트에서 있었다 그대로 . 인터뷰 담당자는 Google을 사용하여 질문을 찾습니다.


6

나는 당신에 전적으로 동의합니다 :

일상 업무 상황에서 거의 사용하지 않는 것을 요구하는 테스트는 예측할 수 없습니다.

..하지만 프로세스의 일부이므로 실제로 수행 할 수있는 작업이 없습니다. .NET C #에서 약 10 년의 경험을 가진 당신과 같은 것입니다. 나는이 두 가지 아주 좋은 책을 발견했습니다 :

깊이있는 C #

간단히 말해서 C #

C #에 대해 알아야 할 모든 것을 다루어야합니다. 나머지는 ASP.NET 등과 같은 C #을 기반으로 특정 기술에서 선택하는 자신의 기술과 기술입니다.


3
그러나 그것들은 프로세스의 일부이므로 실제로 우리가 할 수있는 일은 없습니다. 채용 프로세스의 일환으로 직장에서 바보 같은 프로그래밍 테스트를하지 말라고 주장하는 것은 어떻습니까? 고용 과정은 모호한 사소한 일을 암기 할 수있는 것이 아니라 자신의 역량을 보여 주어야합니다.
joshin4colours

@ joshin4colours-그래서 나는 인터뷰에서 좋은 오랜 대화를 믿습니다 ...하지만 그들은 제거에 좋습니다
TheBoyan

2
나는 실제로 그 책 중 하나의 저자 를 인터뷰하고 그를 거부했습니다 ...
Sklivvz

3

이러한 시험은 점점 더 전문 채용 회사 및 일부 회사의 사전 심사 신청자의 일부가되었습니다. 비 기술적 인 면접관에게 누군가의 기술 능력을 평가할 수있는 방법을 제공하도록 설계되었습니다. 그러나, 그들은 본질적으로 아무 것도 모르는 사람들을 제거하는 것 외에 프로그래머의 능력에 대해 의미있는 것을 말하지 않는 사소한 테스트입니다. 불행히도 일부 회사 / 채용 업체는이 결과에 너무 많은 비중을 두었습니다.

그들을 위해 공부하는 방법은 인터뷰 질문 사이트, 합법적 인 사이트를 찾고 답을 판매하려는 사람들이 아닌 팝업 광고 또는 기타 그와 같은 말도 안되는 답변을 찾는 것입니다. 그렇게하면 괜찮은 점수를 얻고 장애물을 뛰어 넘을 수 있습니다. 회사가이 결과에 너무 많은 비중을 두는 경우 어쨌든 최상의 회사는 아닐 것입니다.


2

그것이 고용 기관 시험이라면 그렇게 어렵지 않아야합니다. 시험을 개발할 언어 전문가가있는 것은 아닙니다. 웹 사이트에서 질문을 복사 / 붙여 넣기 만하면됩니다.

프레임 워크가 일반적으로 작동하는 방식과 작업에 대한 가장 일반적인 네임 스페이스 / 라이브러리, 특정 작업에 사용해야하는 항목을 알고 있다면 좋을 것입니다.


2

면접 시험의 경우 기업 문화와 시험 제작자에 따라 달라집니다. 그들이 모호한 질문을하고 당신을 놀라게하려는 의도라면, 나는 똑똑하고 업무를 수행 할 수있는 양질의 개인에 더 관심이있는 다른 회사 나 기관으로 옮길 것입니다.

즉, 일상 업무에서 c #을 사용함에 따라 문제 해결 및 논리에 대한 노력을 책 학습 측면에 집중하지 않을 것입니다.

프로젝트 오일러는 약간 녹슬었을 가능성이있는 기술을 연습하고 연마하기에 좋은 곳입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.