기타의 난의 문제로 upvoted 한 답변 제공 한 해야합니다 . 내가 다른 대답을 쓰는 이유는 내가 말하고 싶은 것이 주석에 맞지 않을 것이고, 좋은 프로그래밍 면접이 어떻게 이루어질 수 있는지에 대해 말해야하기 때문입니다.
내가 기억하는 첫 번째 좋은 인터뷰에서, 우리는 서두르지 않고 많이 이야기했습니다. 전화로 객체 지향 디자인과 C ++로 구현하는 장단점에 대해 전화로 한 시간 동안 먼저하십시오. 그런 다음 현장에서 여러 사람들과 소프트웨어 개발 실무, 통합, 테스트, 버전 관리 및 구성 관리, 팀 및 책임, 기술 및 디자인에 대해 이야기했습니다. 저를 인터뷰 한 사람들과 점심을 포함한 하루 종일 인터뷰였습니다. 뒤늦은 시각에서, 그들이 이미하고있는 것에 생산적으로 적합 할 것인지에 대한 모든 것이 중요했습니다.
그 이후로 좋은 인터뷰는 소프트웨어 개발에 관한 1 시간에서 2 시간 정도의 긴 대화였습니다. 문제 해결 질문, 퍼즐 및 코딩 문제가 없었습니다.
오늘 프로그래밍 작업을 위해 누군가와 인터뷰를한다면 좋아하는 과정을 진행할 것입니다. 광범위한 주제에 대한 의견을 요청하고 깊이 따로 둡니다.
- 프로그래밍 언어 환경 설정은 무엇입니까? 왜?
- 예외 처리에 접근하는 방법?
- 레이어드 디자인의 장점은 신화가 아닌가?
- 지속적인 통합이 효율성에 대한 부담이 아닙니까?
- 코드를 작성한 사람은 누구나 코드를 소유해야합니다.
- "흐름"에 들어가기 위해 무엇을합니까?
- 보고 된 결함을 프로젝트 계획에 어떻게 포함시켜야합니까?
- ...
이러한 질문은 둘 이상의 답변이 포함 된 질문이며 소프트웨어 개발자가 정보에 대해 의견을 가져야하는 주제에 관한 것입니다. 대화 주제로 경험 한 이전의 실제 문제 (질문이 아님)에 대한 답변에 전적으로 동의합니다.
Peopleware 이후 효과적인 소프트웨어 개발에 대한 과학적 연구에 따르면 최고의 프로그래머는 IQ가 가장 높지 않더라도 소프트웨어 개발의 역학을 이해하는 사람들이라고합니다. 차라리 n
경험을 가진 사람보다 몇 1
년의 경험을 반복적으로 반복 하는 사람보다 배우기를 열망하는 신인을 원합니다 n
. 내 개인적인 편견은 상자 밖에서 생각하는 경향이있는 후보자에 대한 것이며, 동시에 현재 (내) 상자에 맞는 방법을 알고 있습니다.