모든 프로그래머는 미래에 면접이라는 일을 겪게 될 것입니다. 면접 때 굉장히 여유로웠을 수도 있고, 많이 불편했을 수도 있을 것 같아요. 좋은 면접관이 중요하다고 생각하는데, 그 면접관들이 어떻게 면접을 진행했는지 이야기 나눠보겠습니다.
기존 면접 채용 과정의 경우 기본적으로 다음과 같습니다.
지원자의 이력서를 읽고 지원자에게 자기 소개를 요청하세요.
질문답변 형식으로 어렵고 매우 상세한 기술적인 질문을 해보세요.
면접관에게 몇 가지 프로그래밍 퍼즐을 제공하세요. (뭔가 이상한 알고리즘 질문같은거)
개인적으로 이 면접 방식이 우스꽝스럽고 끔찍하다고 생각합니다. 특히 마지막 두 점은요. 일반적으로 이런 종류의 인터뷰에서는 일부 "괴상한 사람"이나 "기술적 강박증"만 인터뷰할 수 있습니다. 이들의 단점을 하나씩 분석하겠습니다.
이력서나 자기소개서만으로는 그 사람을 알기가 어렵습니다. 왜냐하면 이것들은 모두 당사자들이 직접 작성하거나 정교하게 작성한 것이기 때문입니다. 따라서 이는 그다지 정확하지 않습니다. 이력서를 통해서는 매우 간단한 것만 알 수 있으며, 이는 귀하가 그룹에 가입할 수 있는지 여부를 결정하기에는 충분하지 않습니다. 면접 초반에 지원자에게 자기소개를 요청하는 것은 면접관이 매우 격식을 갖춘 방식으로 전체 면접에 직면하게 만들 뿐입니다. 인터뷰 과정이 매우 형식적이고 진지해지면 사람들이 속박감을 느끼게 될 것입니다. 사실 우리가 원하는 것은 후보자의 진실되고 자연스러운 성과이므로 가장 실제적인 것을 이해할 수 있습니다.
기술적인 세부 사항에 대해 몇 가지 질문을 해보세요. 예를 들면: 제가 개인적으로 경험한 것 - "ps의 -a 매개변수는 무엇을 의미합니까?", "vi에서 개행 문자를 삭제하는 명령은 무엇입니까?", "C++ 키워드는 무엇을 위해 명시적이고 변경 가능합니까?" ,등. 예전에 취업 지원자였던 나는 이런 질문을 매우 싫어했다. 그런 질문은 매뉴얼만 찾아보면 알 수 있었기 때문이다. 그는 사전과 매뉴얼을 찾고 있습니까? 혼자가 아니신가요? 이를 위해 중요한 것은 지식이 아니라 그것을 찾는 능력입니다.
지원자에게 어려운 알고리즘 질문을 10분 이상 내놓고 면접관에게 의사코드나 코드를 적어달라고 요청하세요. 이런 접근방식은 참 우스꽝스럽습니다. 토론이나 정보 확인도 하지 않고 압박감에 답하게 만듭니다. 이것은 실제 업무 상황이 전혀 아니며, 우리의 인터뷰는 일종의 곤란한 일이 되었습니다. 내 경험으로는 두 페이지에 걸쳐 작성된 코드를 제출한 후 면접관이 컴퓨터에 출력해 확인을 위해 옆에 있던 프로그래머에게 건네주었고, 그 결과 프로그래머는 컴파일 오류가 발생했다고 말했다. 면접관은 "아주 좋다"고 말했는데, 안타깝게도 아직 프로그램을 많이 작성하지 않으셨을 수도 있겠네요. 정말 말도 안 되는 소리입니다. 이때 중요한 것은 문제에 대한 답이 아니라 문제를 해결하는 아이디어와 방법이다.
저는 이전에 많은 인터뷰를 경험했습니다. 기술자들이 저에게 인터뷰를 하러 왔을 때, 어떤 사람들에게는 "기술자의 사고"가 인터뷰와 시험을 구별하지 못한다는 것을 알게 되었습니다. 그 사람을 어렵게 만들고 당신의 기술을 보여줍니다. 저는 개인적으로 제가 좋은 프로그래머라고 생각하지만, 면접은 지원자를 위한 것이 아니라 자기 자신을 위한 것이기 때문에 그런 면접을 통과할 수 없었다고 말씀드릴 수 있습니다.
그럼 제가 어떻게 면접을 봤나요?
1. 이력서를 확인하세요. 우선, 다른 사람의 이력서를 읽어야 하며, 이력서에서 업무 경험, 프로젝트 경험, 기술 능력이라는 세 가지를 이해해야 합니다. 일반적으로 먼저 전화로 업무경력, 프로젝트경력, 기술력 등을 확인한 후, 필요한 사람의 조건에 부합하면 회사에 전화로 대면면접을 하시면 됩니다. 절대로 다른 사람에게 전화해서 귀하의 경험과 우리의 업무 사이에 차이가 있다고 말하지 마십시오. (면접 경험이 있습니다. 회사에 대해서는 이야기하지 않겠습니다. 어쨌든 좋은 의사 소통이 필요하다고 주장하는 회사입니다. 저는 일반 프로그래머, PM, 관리자, 본부장, 그리고 저번에 직접 면접 봤을 때 이전 경험과 요구 사항 사이에 큰 차이가 있다고 말씀해 주세요. 이전 면접에서는 어떤 일을 하셨나요?)
2. 면접의 시작 . 둘째, 면접을 위해 사람들을 회사에 초대할 때, 지원자들이 면접을 위해 회사에 올 때 한 가지 매우 중요한 것이 있습니다. 즉, 전체 면접 과정을 일반적인 채팅이나 대화처럼 캐주얼하고 편안하게 만들어야 한다는 것입니다. 친구. . 그래야만 지원자들이 긴장을 풀고 본연의 모습으로 여러분과 대화할 수 있으며, 여러분은 짧은 시간 안에 더 많은 것을 배울 수 있습니다. 지원자들이 심리적 부담을 덜고 자연스럽게 행동할 수 있도록 하는 것이 채용 담당자의 몫이다. 다른 사람들이 너무 긴장해서 성과를 잘 낼 수 없다고 말하지 마십시오. 때로는 채용 담당자가 자신의 문제에 대해 생각해야 합니다.
면접 시작 시 지원자의 자기 소개를 절대 허용하지 마세요. 지원자가 이미 이력서를 보냈고 당신도 그에게 전화를 했기 때문입니다. 게다가, 후보자들은 일반적으로 이 인터뷰 루틴에 대해 매우 잘 준비되어 있습니다. 반면에, 이는 전체 인터뷰 과정을 너무 공식적이고 진지하게 만들 수 있습니다. 그렇다면 지원자에게 어떻게 여기까지 왔는지 물어보는 것은 어떨까요? 상황은 어때? 또한 후보자가 좋아하는 스포츠, 음악, 영화, 사회적으로 뜨거운 주제 등 일반적인 주제에 대해 이야기할 수도 있습니다. 무표정한 얼굴을 유지하지 말고 그냥 이야기하고 웃으며 모두를 편안하게 만들려고 노력하십시오. 또한, 이러한 작은 대화를 통해 그 사람의 인간관계와 대인관계 능력을 알 수 있습니다. 또한 테이블을 귀하와 지원자로부터 멀리 두고 편안한 분위기를 유지하십시오.
3. 후보자에게 자신의 경험에 대해 이야기하도록 요청하세요. 다음으로, 이 후보자가 문제를 해결하고 일을 처리할 수 있는 사람이라는 느낌을 주고 싶다면 그 사람에게 무엇을 할 것인지 묻지 말고 그 사람이 무엇을 가지고 있는지 직접 물어보세요. 완료? 당신은 무엇을 했나요? 좋은 프로그래머라면 관련 실습이 없다고 상상하기 어렵습니다. 대학에 다녔어도 뭔가를 했어야 했죠. 문제 해결 능력이 있다면 당연히 오늘 많은 문제를 해결하고 많은 일을 성취했어야 합니다. (질의응답 방식을 사용하지 마세요. 지원자가 더 많이 말하고, 더 많이 듣고, 더 많이 생각하게 하세요.)
그가 자신의 프로젝트에 대해 이야기할 때 일반적으로 다음 사항에 주의해야 합니다.
소통 그리고 표현능력. 지원자가 명확하게 설명할 수 있나요? 이 사람이 똑똑하다면 복잡한 문제를 가장 간단한 언어로 명확하게 설명할 수 있습니다. 게다가 이것은 좋은 프로그래머의 가장 기본적인 능력이기도 하다. 또한, 지원자가 자신의 경험을 설명하는 동안 좋은 대화를 나누면서 그의 의사소통 능력과 의사소통 방법을 알 수 있고, 이를 통해 그의 성격을 이해할 수 있습니다.
캐릭터와 위치. 아마도 그는 큰 프로젝트에 참여했지만 아주 간단한 모듈을 만들었을 뿐입니다. 그러므로 프로젝트에서 그들의 역할과 위치를 이해하는 것이 매우 필요합니다. 지원자가 "우리" 또는 "모두"와 같은 단어를 사용할 때는 자세하고 명확해야 합니다.
어떤 기여가 있었고 어떤 문제가 해결되었는지. 이것을 이해하면 면접관이 똑똑하고, 문제 해결 능력이 있고, 기술적 기반이 좋은지 알 수 있습니다.
데모. 가능하다면 응시자에게 자신이 작성한 코드나 디자인을 보여달라고 요청하거나 자신이 작성한 프로그램의 시연을 직접 보여줄 수 있습니다. (디자인, 코드 스타일, 재사용성, 유지 관리성에 대해 많은 것을 배울 수 있습니다.)
기본 지식. 프로젝트에서 후보자가 사용하는 기술에 대한 몇 가지 기본 지식을 이해합니다. 예를 들어 전체 프로세스를 통해 네트워크, 언어, 개체 및 시스템에 대한 몇 가지 기본 지식에 대해 질문할 수 있습니다. 기초 지식은 매우 중요하며 이는 그의 능력과 직결됩니다.
프로세스 및 도구. 후보자가 잘 알고 있는 프로젝트 프로세스(실버 총알, 워터폴, 애자일 등)와 프로세스의 일부 아티팩트(예: 요구 사항 문서, 디자인 문서, 테스트 문서 등)를 이해합니다. 개발 프로세스에 사용되는 도구 도구(메모리 테스트, 코드 검사, BUG 보고, 버전 유지 관리, 개발 및 디버깅...) (프로그래머의 기본 기술은 "프로그래머가 갖춰야 할 기본 기술"을 참조하세요.)
어떤 사람들은 후보자의 경험이 스스로 만들어질 수 있고, 그가 하지 않은 일을 했다고 말할 수도 있습니다. 예, 실제로 가능합니다. 하지만, 거짓말 뒤에는 그 거짓말을 은폐하기 위해 더 많은 거짓말을 사용해야 한다는 점을 잊지 마세요. 따라서 지원자의 설명 중에 질문을 점차 다듬고 다듬어가는 한, 이 문제는 걱정할 필요가 없습니다. 신청자가 내가 이야기를 만들어내는지 여부를 알 수 있습니다.
다음 사항을 꼭 기억하세요.
대화 스타일은 격식을 차리지 않고 캐주얼하고 자연스러워야 합니다.
후보자가 이전에 무엇을 했는지 배우는 데 너무 관여하지 마세요. 채용 담당자도 기술적인 사람들이기 때문에 채용 담당자 자신도 후보자가 진행 중인 프로젝트의 매력적인 기술에 매력을 느끼는 경우가 있습니다.
지도 후보자를 주목해주세요. 내 말을 믿으세요. 해당 직업에 지원하는 프로그래머 10명 중 8명은 자신이 이전에 무엇을 했는지조차 모릅니다. 프로젝트 배경과 해결하려는 문제의 종류를 직접 건너 뛰고 특정 구현으로 직접 이동하기 때문입니다.
단순히 묻고 답하기만 하지 말고, 지원자들이 더 많이 이야기할 수 있도록 하여 한 사람을 더 포괄적으로 알아갈 수 있도록 하세요.
사람의 과거와 과거를 이해하는 것이 앞으로 무엇을 할 것인지보다 더 중요합니다.
사람의 성격, 생각, 생각, 행동을 이해하는 것이 그 사람의 기술적 능력을 이해하는 것보다 더 중요합니다.
의사소통 능력, 표현 능력, 언어 구성 능력, 이해 능력 등은 다른 사람과 함께 일할 수 있는지 여부와 관련이 있습니다.
기본 지식은 단편적인 지식보다 훨씬 더 중요합니다. C++의 키워드는 모르지만 C++의 상속성과 다형성은 알아야 합니다.
기술도 물론 중요하지만 그보다 더 중요한 것은 지식을 습득하는 능력입니다. 컴퓨터처럼 빠르게 변화하는 산업에서는 학습능력이 필요합니다.
기술을 습득하는 것보다 재배할 수 있는지 여부가 더 중요합니다.
4. 실제 참여? ? 이 단계는 구현하기 어려울 수 있습니다. 일부 지원자는 일정 시간을 투자해야 하기 때문에 졸업생이라면 먼저 일정 기간 동안 인턴을 하도록 하십시오. 하지만 다른 사람이 직업을 가지고 있으면 좋지 않습니다. 아마 당신은 이것이 수습기간의 목적이라고 말할 것이다. 하지만 개인적으로는 지원자를 존중해야 한다고 생각합니다. 3개월의 수습 기간 동안 그곳에서 일을 그만두고 입사하게 된다면 원칙적으로는 문제가 없다면 채용 담당자로서 후회하게 될 것입니다. . , 이것은 매우 나쁩니다. 만약 그런 일이 발견된다면 그것은 채용 담당자 자신의 잘못일 뿐입니다.
면접 과정에서 일부 채용 담당자는 후보자들에게 함께 게임을 하거나, 토론 대회를 개최하거나, 현장에서 팀을 구성하여 간단한 일을 하라고 요청하기도 합니다. 회사에 와서 하루 동안 팀과 함께 작업하고, 무언가를 완료해야 하며(마감일까지 설정), 이를 통해 지원자의 실제 참여 능력을 측정합니다.
네, 같이 일해본 적도 없고, 실제로 일어난 일도 있다면, 몇 시간의 인터뷰만으로는 누군가를 이해하기 어렵습니다. 채용 담당자가 이러한 인터뷰 링크를 설정하고 가능한 한 짧은 시간 내에 후보자에 대한 모든 것을 배우는 것은 이해할 수 있는 일입니다. 그리고 때로는 좋은 결과를 얻을 수도 있습니다. 여기서는 한 가지만 언급하겠습니다. 때로는 그러한 주기가 매우 길어서 후보자가 많은 비용을 지불해야 하므로 후보자가 혐오감을 느끼고 지루함을 느끼게 됩니다. .
저는 항상 이것에 대해 회의적이어서 그 뒤에 물음표 두 개를 붙였습니다. 솔직히 말해서 실제로 이 링크에 참여해 본 개인적인 의견은 시간이 너무 짧고 어떻게 하셔도 완전히 이해하실 수 없기 때문에 충분하다는 것입니다. 모든 것을 얻을 수는 없기 때문에 가장 필요한 것을 얻으십시오. 이 글의 시작 부분에 있는 세 가지 질문과 위에서 언급한 "세 번째 요점"(지원자의 과거 경험 이해)입니다.
위에서 설명한 면접 과정과 요약을 통해 자신의 경험을 준비하는 것뿐만 아니라 면접관의 마음도 이해할 수 있기를 바랍니다. 그러나 당신이 어떤 종류의 프로그래머이든지 면접관이 당신과 "인생에 대해 이야기"할 수 있으려면 좋은 기술을 갖고 실제로 발전할 수 있어야 합니다.
관련 권장 사항: