10 분 기술 인터뷰 [폐쇄] 이미 고용

수십 명의 신입생들을 매우 빠르게 평가해야합니다. 나는 그들과 30 분씩 회의를합니다 (2 ~ 3 일). 비 기술적 인 측면에 대해 논의하기 위해 대부분의 시간을 사용하고 싶습니다. 기술적 인 질문에 10 분을 사용할 계획입니다. 그들 모두에게 같은 질문입니다.

그들은 모두 이미 고용 되어 있으며 (학생들입니다), 내가 알아야 할 것은 훈련을 준비하기위한 평균 수준입니다.

이상적으로 must be progressive는 각각에 대한 수준을 설정하기가 어렵습니다 . 레벨 1은 평균을 낼 것이며 각 질문에 대해서도 평균을 할 것입니다.

응시자에게 물어보아야 할 10 분 10 개의 질문 만 있다면 상위 10 점은 무엇입니까?



답변

에릭 Lippert의의 대답의 말에 정성 들여 세 가지 질문에, 여기 :

질문 1:

1-10의 척도에서, 당신은 어디에서 자신을 평가합니까 (여기서 스킬 이름을 지정합니까)? 그들은 1에서 10 사이의 숫자 인 [n]으로 대답합니다.

질문 2 :

[n + 1] 레벨의 누군가에게서 무엇을 배울 수 있습니까?

질문 3 :

[n-1] 레벨의 누군가가 당신에게서 무엇을 배울 수 있습니까?

결정에있어 가장 중요한 요소는 학생이 (실제로) 자신을 어디에 배치 하는지 결정하는 것이며,이 세 가지 질문은이를 신속하게 결정하는 데 도움이됩니다. 또한 Dunning-Kruger 효과 로 인해 손상 될 수있는 사람을 식별하는 데 도움이 되지만 다른 주제입니다.

누구나이 방법에 대한 참조를 SO에서 찾을 수 있고 링크를 포함하도록이 게시물을 편집 할 수 있다면 정말 감사하겠습니다.

어쨌든, 그것은 10 분 안에 잘 떨어질 것입니다.


답변

  1. 수업이란?
  2. 정적 방법은 무엇입니까?
  3. 상속이란 무엇입니까?
  4. 다형성이란 무엇입니까?
  5. 기본 키란 무엇입니까?
  6. 외래 키란 무엇입니까?
  7. HTTP GET과 HTTP POST의 차이점은 무엇입니까?
  8. 웹 서비스 란 무엇입니까?
  9. 일부 데이터 구조의 이름을 지정하십시오.
  10. 객체 / 관계형 매퍼의 목적은 무엇입니까?

이 목록에는 개선의 여지가 많이 있습니다.


답변

  1. 포인터를 설명하십시오!
  2. 폐쇄 란 무엇입니까?
  3. 여가 시간에 어떤 언어를 사용합니까?
  4. 거래에 대해 조금 이야기하십시오!
  5. 통역사와 JIT의 차이점은 무엇입니까?
  6. 컴파일러의 기본 사항을 설명하십시오.
  7. 재귀를 수행 할 때 메모리 수준에서 발생하는 일 (및 TCO가있을 때의 차이점)
  8. OO 프로그래밍의 중요한 개념은 무엇이며 왜 중요한가?
  9. 집에서 어떤 새로운 물건을 조사하고 있는데 왜 흥미로운가요?
  10. 프로세스와 스레드의 차이점을 설명하십시오.

답변

학생들에 대한 나의 경험 나는 처음부터 거의 처음부터 시작했습니다. 사람들이 대학에서 배우는 것과 유용한 것은 두 개의 분리 된 세트라는 것을 알았습니다.

그러나 당신이 그들에게 말할 기회가 있기 때문에 그것을 받아들이지 않는 것은 어리석은 일입니다.

내 가정은 배경에 공통점이 거의 없으므로 언어 ​​관련 질문을 피하고 있다는 것입니다. 내가 한 예외는 그들이 웹에서 무언가를 한 것으로 가정하지만이 질문은 전문가가 포함 된 경우 동등한 것으로 대체 될 수 있습니다.

당신은 그들에게 내가 일종의 시도한 진보적 인 것을 요구했지만 공통점이없는 것에 대한 나의 가정이 옳고 틀린 질문은 상대적으로 까다 롭고 많은 능력은 더 일반적인 답변에 대한 좋은 대답에서 나옵니다. 질문이 있습니다.

어쨌든…

1) 어떤 언어와 기술에 노출되어 있습니까? 실제로 프로그래밍하는 데 50 시간 이상을 소비 한 이들 중 몇 개 (및 어느 것) (강의, 실습 시간 등은 포함하지 않고 혼자서 코딩 한 프로젝트 및 과제 포함)

2) 지금까지 작성한 가장 복잡한 프로그램을 설명하십시오. 무엇이 복잡 해졌습니까?

3) 대학에서 프로그래밍과 관련하여 무엇을 제대로 이해하지 못했다고 가르쳤습니까? 모든 것을 이해했다고 생각한다면 (이 시점에서 성적을 확인하십시오) 코딩하는 방법과 그것에 대해 어떻게 생각할 수 있는지 알지 못하는 응용 프로그램 또는 응용 프로그램 요소에 대해 이야기하십시오.

4) 객체 지향 프로그래밍의 기본 원리는 무엇입니까?

5) 1 분 안에 가능한 한 관계형 데이터베이스에 대해 알려주십시오.

6) 웹 애플리케이션의 경우 페이지 간 사용자 정보를 유지하는 방법을 설명하십시오. 설명한 메커니즘에 어떤 장단점이 있습니다.

7) 컴퓨팅 내에서 일반적으로 사용되는 기능을 선택하고 프로그래밍 방식 (예 : 암호화, 압축)에서 작동 방식을 매우 간략하게 설명합니다. 또한 당신이 그 기능을 어떻게 사용해야했는지 설명하십시오 (여기서 어떻게 작동하는지 알 수 있지만 라이브러리를 얻는 것이 더 낫다는 사실을 찾고 있습니다).

편집 : 원래 요청 한대로보다 진보적으로 만들기 위해 몇 가지 질문을 재구성하고 추가했습니다.


답변

이것들이 학생이고 당신이 그들이 공부하고있는 곳을 측정 할 수 있기를 원한다면, 어려운 질문이나 질문을하지 않아야합니다. 저의 충고는 기본에 초점을 두는 것입니다. 반향이 여전히 객체와 상속에 속도를 낼 수 없다면 반사가 어떻게 작동하는지 설명 할 필요가 없습니다.

다음은 사용할 수있는 몇 가지 샘플 질문이며 핵심 지식 범주에서 시작하여 적응 형 테스트의 작동 방식 과 같은 질문에 대한 답변 방법을 기준으로 이동할 수 있습니다.

기초

  1. 기본적인 프로그램 흐름 제어 명령은 무엇입니까?
  2. 기본적인 논리 연산은 무엇입니까?
  3. while 루프와 for 루프의 차이점은 무엇입니까?

핵심

  1. 객체 지향 프로그래밍에 대해 간단히 설명하십시오.
  2. 상속의 개념을 간단히 설명하십시오.
  3. 데이터베이스 작동 방식을 간략하게 설명하십시오.
  4. 언제 어떤 enum키워드를 사용합니까?

많은, 진보 한, 많이 경과 한

  1. C # 제네릭 또는 C ++ 템플릿에 대해 무엇을 알려줄 수 있습니까?
  2. 운영자 과부하에 대해 무엇을 알려줄 수 있습니까?
  3. 클래스와 구조체의 차이점은 무엇입니까?
  4. .NET에서의 리플렉션에 대해 무엇을 말해 줄 수 있습니까?

답변

위의 의견에 대한 답변이 없으면 일반적으로 말하게되는 것들이지만 이러한 기술을 고려할 것인지는 확실하지 않습니다.

  • 어떤 유형의 버전 관리를 사용 했습니까?
  • 애자일, 워터 폴, tdd와 같은 소프트웨어 개발 방법론에 익숙하십니까?
  • 소프트웨어 문서화의 목적은 무엇입니까?
  • 정적 및 동적 유형 언어의 차이점은 무엇입니까?

답변

나는 당신이 그들이 모르는 것에 기초하여 훈련을 구축하려고 노력하고 있으며, 당신은 다른 그룹의 학생들을 위해 여러 개의 “버킷”훈련을 계획하고 있음을 알고 있습니다. 할당 된 시간이 10 분이므로 훈련에 포함시킬 생각을 나열하고 구체적인 질문을 해보십시오. 그래서 당신은 그들에게 C #을 가르 칠 계획입니다. 그들이 잘 알고 있는지 물어보십시오. 최신 기능 (LINQ, nullable type, generics 등)을 사용했는지 묻습니다. 훈련에 데이터베이스 내용이 있으면 그것에 대해 몇 가지 질문을하십시오. 결국 당신은 당신이 계획 한 주제 중 하나가 불필요하다는 것을 알 수 있습니다. 왜냐하면 그들은 모두 그것을 알고 있고, 다른 주제는 모두에게 필요하기 때문입니다. 그것은 당신이 무엇과 관련이없는 질문을 생각해내는 것보다 더 실용적입니다.