Episode 8. Onsite Interview Preparation
이제 최종 인터뷰인 온사이트 인터뷰만 남았다.
소프트웨어 엔지니어 인터뷰 프로세스 중에서 마지막 관문이자 가장 힘든 관문이다.
기본적으로 온사이트 인터뷰는 보통 4-6개의 인터뷰를 하루 만에 연달아 봐야 하는 스케줄이라 인터뷰가 하루 종일 진행이 돼서 그 자체만 해도 보통 일이 아니다.
온사이트 인터뷰는 앞서 구글 온사이트 에피소드에서 볼 수 있듯이 기본적으로 인터뷰 방식이나 내용 면에서 전화 인터뷰와는 많이 다르다.
전화 인터뷰는 전화와 온라인 코딩 툴만을 써서 진행이 돼서 인터뷰 문제가 Algorithm 분야로 한정적인데 반해 온사이트 인터뷰는 나오는 문제의 범위도 다양하고 회사마다 각자 다른 방식으로 인터뷰를 진행이 되는 경우가 있어서 회사에 맞춰서 준비를 하는 것도 필요하다.
전화 인터뷰에서 주로 나오는 Algorithm 문제는 기본이고 System Design, Data Modeling처럼 경험/경력이 없이 공부만 해서는 준비가 어려운 문제들이 많이 나온다.
특히 System Design 문제가 가장 까다로운데 어떤 문제가 나올지 예상하기가 힘들고 System Design을 해본 경험이 없으면 깊이 파고드는 인터뷰 질문들에 속수무책으로 당하기 십상이다.
때문에 평소 일을 하면서 System Design 관련해서 참여를 많이 하고 다양한 경력을 쌓는 것이 무엇보다 중요하다.
System Design 준비에 도움이 되는 온라인 리소스는 아직까지 많이 없는데 다음 웹사이트가 개인적으론 도움이 많이 되었다.
http://blog.gainlo.co/index.php/category/system-design-interview-questions/
온사이트 인터뷰 준비에는 공부만큼 중요한 게 인터뷰 스케줄을 짜는 것이다.
회사마다 온사이트 인터뷰 후 오퍼까지 진행되는 속도가 다르기 때문에 리크루터와 미리 이야기를 해서 그에 맞게 인터뷰를 진행하는 것이 좋다.
회사들끼리 인재 영입을 위해 경쟁을 하느라 상황에 따라 빠르면 하루 만에 오퍼를 내주는 경우도 있고 필요하다면 오퍼를 연장해주기도 하지만 안 그런 경우도 더러 있기 때문에 미리 확실히 알아보고 그에 맞게 인터뷰를 스케줄 하는 것이 안전하다.
만약 온사이트 인터뷰를 여러 개 따냈다면 우선순위에 있는 회사들을 중심으로 인터뷰를 잡는 것이 좋다.
인터뷰 날 컨디션이 인터뷰 결과에서 큰 영향을 주기 때문에 자신의 페이스에 맞게 인터뷰 스케줄을 짜는 것 또한 중요하다.
나는 이번에 나름 운이 좋아서 필요 이상(?)으로 온사이트 인터뷰를 받게 되었다.
처음엔 정말 가고 싶은 3개만 추려서 인터뷰를 볼까도 생각해 보았지만 기왕 온사이트 인터뷰를 많이 받아 놓았으니 조금 욕심을 부려 보기로 했다.
그리고 여러 회사들의 온사이트를 경험해 보고 싶은 마음도 있었다.
일단 마음을 먹은 후에는 회사들과 조율을 잘해서 6개의 인터뷰를 한꺼번에 몰아서 볼 수 있도록 인터뷰 스케줄을 짰다.
금, 월, 화, 수, 목, 금
회사에는 휴가를 내고 인터뷰만 6일 동안 연달아 보는 스케줄이다.
확실히 무리가 되는 스케줄이었지만 일단 온사이트 인터뷰도 여러 번 보면서 연습이 되는 거라 생각이 들었고 다양한 인터뷰를 경험해 보고 싶은 욕심에 그렇게 진행을 하였다.
(결과적으론 절대 추천하고 싶진 않다... 이유는 이어지는 에피소드를 통해서 알 수 있다.)
그래서 잡힌 온사이트 인터뷰 스케줄은 다음과 같다.
금: Lyft
월: Netflix
화: Facebook
수: LinkedIn
목: Airbnb
금: Quora
온사이트는 대략 2주 정도의 여유를 두고 잡았다.
남은 2주 동안 온사이트 준비에만 집중을 하고 인터뷰가 잡힌 회사들에 대해 조사를 하는데 시간을 할애하였다.
이어지는 에피소드들에선 각 회사들 온사이트 인터뷰 경험을 자세히 공유해보도록 하겠다.