답변:
실제 기술적 인 질문 외에도 일반적으로 인터뷰가 끝날 때 업계에 대한 관심 수준을 파악하려고 노력하며 문화는 다음과 같은 질문으로 구성됩니다.
최근에 흥미롭고 다른 프로그래머에게 추천하고 싶은 프로그래밍 관련 사항이 있습니까? 새로운 언어, 도구, 플랫폼, 기술, 웹 사이트?
당신이 좋아하거나 영감을 얻은 작품을 우리 업계에서 잘 알려진 사람의 이름으로 말할 수 있습니까? (개발자, 웹 사이트 창립자, 저자, 연사 등)
지금 무엇을 읽고 있거나 마지막으로 읽은 소프트웨어 관련 서적은 무엇입니까?
어떤 프로그래밍 관련 사이트를 자주 방문하십니까?
이 질문들에 전혀 대답하지 못한다고해도 (슬프게도 매우 빈번하게 일어난다) "나에게 '무용지물"을 의미하는 것은 아니지만, 소프트웨어 개발 분야에 사람이 접근하는 방식에 대해 많은 사람들이 말합니다.
코드를 작성하고 실제 코드를 작성하십시오.
면접관은 C ++, Java, C # 또는 무엇이든 가장 편한 프로그래밍 언어를 선택하고 간단한 문제를 해결하도록 요청할 수 있습니다 (예 : 문자열 또는 이중 연결 목록 또는 기타 작업). 간단한 문제를 해결하는 데 가장 적합한 언어를 사용하는 데 문제가 있으면 문제가있는 것입니다. Steve Yegge의 블로그 게시물 과 특히 "정신 준비"섹션을 참조하십시오 .
팀원 몇 명이 독립적으로 인터뷰하도록하십시오. 당신의 생각을 공유 한 후, 인터뷰하기 전에 대화를 나누지 마십시오. 그 사이에 대화를하면 당신의 판단이 흔들리고 독립적 인 의견이 없을 것입니다.
인터뷰를하는 기술적 인 사람들을 위해 코드를 작성하십시오. 비 기술적 인 경우, 경험이없는 것을 묻지 마십시오. 적어도 몇 명의 기술 담당자가 인터뷰를해야합니다.
인터뷰는 관리자 만 수행해서는 안되며, 앞으로 작업 할 모든 작업자에게 매우 중요합니다.
인터뷰 대상자가 이전 프로젝트와 수행 한 작업을 설명하고 싶습니다. 이 답변을 통해 후속 질문을 할 수 있습니다. 왜 그들이 특정 방식으로 일했는지, 그들이 언급 한 경우 특정 문제를 어떻게 해결 했습니까? 그러나 가장 중요한 것은 프로젝트의 목적이 무엇 이며이 문제가 해결 된 비즈니스 문제입니다.
나는 그들이하고있는 일을 이해할 수있는 방식으로 그들이 분명히 설명 할 수 있는지, 그들이하고있는 것을 이해하는지 알아보기 위해 이것을한다.
프로젝트의 목적과 비즈니스 문제에 대한 마지막 질문으로 많은 사람들이 여행을 떠났다는 것은 놀라운 일입니다. 그들은 왜 그들이 작업하고있는 프로젝트가 전혀 수행되지 않았는지 전혀 모른다. 왜 프로젝트가 처음에 존재하는지 모르는 경우 솔루션을 제공하고 있는지 또는 내가 말한대로 수행하는지 궁금합니다.
(다른 모든 답변은 기술적 인 경향이 있기 때문에이 질문을 거기에 던졌습니다. 나는 그들이 해결하는 문제를 해결하는 이유를 아는 사람들을 원합니다. 그렇지 않으면 최종 사용자가 잘못 알고있는 잘못된 문제를 해결하는 경향이 있습니다. t 신경 쓰지 :)
중요한 건축 결정을 내릴 것을 요청하십시오
예를 들어. 다음은 y 개의 하위 작업을 동시에 실행하는 프로그램 x입니다. 다중 프로세스 또는 스레딩 구조를 선택하십시오.
두 가지의 장점 / 단점은 무엇입니까? 그들은 얼마나 잘 작동하고 어떻게 멀티 코어, 멀티 프로세서 플랫폼을 활용할 수 있습니까? 개인 취향은 무엇입니까? 개인적인 편견은 실제로 지식을 적용하고 경험을 공유 할 수있는 출발점을 제공해야하는지 여부를 식별하는 데 도움이 될 수 있습니까?
면접관이 다음과 같이 제기 할 수있는 수많은 질문이 있습니다.
이러한 주제의 대부분은 컴퓨터 시스템의 작동 방식 / 이유에 대한 친밀한 지식이 포함 된 유형입니다. 그들은 모두 명확한 답이없는 문제에 대한 문제 / 해결책이므로 그 사람이 당면한 문제를 얼마나 잘 적응 시키거나 극복 할 수 있는지에 대한 감각을 제공합니다. 실제 경험이 없어도 쉽게 선택할 수있는 개념이 아닙니다.
참고 : 신청자가 의사 코드를 작성하도록하는 것도 필수이지만 그 답변은 이미 취해지고 있습니다.
화이트 보드에서 수행 할 몇 가지 기본 코드 (예 : 링크 된 목록 구현, 정렬 또는 이와 유사한 코드)를 제공하십시오.
당신은 컴파일러의 도움없이 그들의 언어에 대해 얼마나 편안한 지 판단 할 수 있고 그들의 사고 과정을 판단 할 수 있습니다 (특히 그들이 그렇게하지 않은 경우 – 대부분의 "새로운"프로그래머들은하지 않았습니다).
대화를 나누고 기술적이고 전문적인 경로를 따라 표류하고 구불 구불하게하며 길을 따라 통찰력이 있거나 어리석은 의견을 찾으십시오. 이것은 인터뷰에서 필요한 것의 3/4, 사람 기술 및 성격, 일반 지능 및 대략적인 기술 기술 평가에 대한 정보를 제공합니다.
인터뷰 "질문"을 주제 시작점으로 사용하고 대화를 기술적 인 주제와 상관 관계를 유지하십시오. 문제 / 관심 분야를 적절히 조사하기 위해 때때로 대화를 코딩해야합니다 (예 : 코딩 연습 수행).
이 기술의 진정한 요령 은 모든 대화를 확실 하게 하는 것입니다. 그렇지 않으면 말한 모든 것에 귀를 기울이거나 동의함으로써 기분 이 좋게 되므로 유리한 평가의 위험이 있습니다.