코딩팍

Cracking the Coding Interview 6th edition을 읽고 정리한 내용:

 

책에서 마이크로소프트, 아마존, 구글, 애플, 페이스북의 개발자 면접 과정이 설명돼 있어서 정리해 보았다. 물론 여기에 소개된 방식만으로 100% 진행된다고 보기 어렵지만, 여기에 소개된 예시들를 보면 회사들이 어떤 면접자들을 뽑고, 어떤 질문들을 낼지, 회사들의 성향에 대한 힌트를 얻을 수 있다. 면접의 시작은 이력서가 뽑히고 나서부터이다.

 

면접 과정 소개

 

미국 대기업들의 기본적인 면접 과정의 틀이 있다. 대부분 전화 면접 → 대면 면접 순서대로 진행된다.

 

먼저 전화로 스크리닝 과정을 거치는데 여기서도 코딩 문제가 나올 확률이 높다. 면접자가 엔지니어 인지 물어보면 기술적인 질문이 나올지 미리 예측할 수 있다. 문제 내는 방식은 온라인 에디터, 종이에 쓰고 읽게 하기, 아니면 집에서 풀어서 이메일로 제출하는 방식이 있다.

 

그러고 나서 뽑히게 되면 회사로 가서 대면 면접을 보는데 3번에서 6번의 면접을 하루 만에 본다. 여기엔 점심 면접이 있는데, 보통 점심 면접에서는 기술적인 질문은 하지 않는다. 이 때는 회사 문화에 대한 질문이나 자신의 관심사를 표현하기 좋은 시간이다. 다른 면접들은 코딩, 알고리즘, 시스템 디자인, 경험, 태도 질문들 같은 기술적인 면접들이다. 

 

회사에서 준비된 질문들이 있는 경우도 있지만 면접관들마다 취향에 따라서 질문은 무작위일 경우가 많다. 면접 후, 면접관들은 면접자들에 대한 평가 혹은 추천서를 채용 부서에 넘기고 채용 매니저가 누굴 뽑을지 고르는 경우가 많다. 대부분의 회사들은 일주일 내로 면접 결과에 대한 대답이 온다. 하지만 회사마다 대답하는 시기는 다르다. 만약 일주일 후에도 연락이 오지 않는다면 채용 담당자에게 연락하는 것이 좋다.

 

마이크로소프트 면접

 

1. 아침에 가서 서류 작성

 

2. 채용담당자랑 짧은 면접. 보통 쉬운 문제를 내서 긴장을 풀어줌. 채용 담당자는 자기편이기 때문에 잘해줄 것

 

3. 하루동안 4,5개의 면접 진행. 다른 회사들과 다르게 미팅룸이 아니라 사무실에서 함

 

4. 면접 후, 인사팀하고 만날 수 돼있는데 거의 붙었다는 뜻.

 

준비할 것:

- 왜 마이크로소프트에서 일하고 싶은가요에 대한 답변

자신이 이 회사 기술에 대해 얼마나 열정적인지 표현하라. 예를 들면, 실제로 이용한 경험을 설명 후, 왜 그 기술이 뛰어난지에 대해서 설명하고 자신의 열정을 표현하라.

 

아마존 면접

 

 

1. 전화 스크리닝 면접. 면접자에 대한 확신이 없을때는 두 번 이상도 전화 면접 진행.

면접자가 어떤 기술에 익숙한지 보기위해서코드 에디터로 다양한 코딩 문제를 냄. 

 

2. 대면 면접: 한두 개의 팀에서 4-5번의 인터뷰를 진행. 화이트보드 코딩 포함. 면접관들은 자신의 피드백을 내기 전에 서로 상의하지 않음.

 

3. 특별한 교육을 받은 면접관이 합격 기준을 높이기 위해서 면접 질문을 어렵게 냄. 그래도 평가는 상대적이기 때문에 못해도 기죽을 필요 없음.

 

준비할 것:

- 스케일 (scalability)에 관한 질문: 시스템 디자인과 scalabitliy (규모 가변성)에 대해 미리 공부하자

- Object-oriented design (객체 지향 설계)

 

구글 면접

 

1. 전화 면접. 어려운 기술적 질문을 내기도함. 난이도가 대면 면접과 비슷함

보통 전화 면접은 결정에 큰 역할을 하지는 않는다. 대면 면접으로 넘어가는 과정일 뿐

 

2. 대면 면접. 4 -6명과 면접. 한 명은 점심 면접. 점심 면접에 관한 평가는 없기 때문에 질문하기 좋은 기회이다. 

기술적 질문은 틀이 없고 면접관에 따라서 자유롭다.

 

3. 평가는 4가지 종목으로 나누어진다: 분석능력,  코딩, 경험, 의사소통

점수는 종목별로 1점에서 4점으로 매긴다.

채용자는 면접자를 뽑을 때 평균적으로 점수가 높은 사람보다 한 가지 종목에서라도 뛰어난 사람을 더 선호한다.

 

준비할 것:

- Scalable system

- 경험 보다도 알고리즘 기술

 

애플 면접

 

 

기술적인 면도 중요하지만 회사에 대한 열정 또한 중요하게 봄. 애플 제품에 익숙해야 함

 

1. 전화 면접: 기술적 스크리닝 여러 번

 

2. 대면 면접: 6-8번의 면접. 1대 1 혹은 2대 1 면접 포함. 화이트보드 문제 풀기.

 

3. VP(임원급)와 면접하면 뽑힐 가능성 높음

 

준비할 것: 

- 자신이 면접하는 팀/제품에 대한 정보: 왜 이 제품을 좋아하는지, 개선해야 할 점을 통해 열정을 표현하라

 

페이스북 면접

 

1. 전화 면접: 온라인 에디터를 통한 코딩 면접 포함

전화 면접 후 숙제를 내줄 수도 있다. 코딩 스타일에 유의해서 꼼꼼히 리뷰 후 제출할 것. 

 

2. 대면 면접: 모든 면접관들이 기본 면접 훈련했음. 각자 물어볼 역할이 있어서 내용이 겹치지 않음.

- 태도/소통 질문: 이 회사 문화에 잘 맞는지, 자신의 관심사, 챌린지를 어떻게 받아들이는지, 페이스북에 대한 흥미, 열정

- 코딩/알고리즘: 아무 언어를 쓸 수 있음

- 설계/디자인: 백엔드는 시스템 디자인, 프런트 엔드는 설계 질문.

이중 1개의 태도/소통 질문, 2개의 코딩/알고리즘, 경험자는 설계/디자인 질문까지 물어봄.

 

준비할 것:

- 기업가 정신이 있는 개발자를 선호, 빠르게 개발하는 것을 좋아하는 것을 보여줘라

 


 

이렇게 대기업들은 보통 전화 면접과 하루종일 보는 대면 면접을 통해서 사원을 뽑는다. 정말 길고 험난한 과정이다. 나의 목표인 구글에 합격하기 위해 코딩 공부를 정말 열심히 해야겠다.

 

 

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band