brunch

You can make anything
by writing

C.S.Lewis

by MrCC Jan 12. 2019

Onsite Interview - Google

Episode 4

(사진: Google Play)

인터뷰가 처음 계획했던 데로만 진행이 되지는 않았다. 


갑자기 구글 온사이트 인터뷰가 잡혀버리게 된 것.

지인 리버럴(referral)을 통해서 지원을 하고 구글 리크루터에게 거의 바로 다음 날 연락이 와서 전화 통화를 하게 되었는데 리크루터와 대화 중에 내가 현재 다른 회사들과도 인터뷰를 진행하고 있다고 하니 구글은 다른 회사들에 비해 인터뷰 프로세스 기간이 길어서 전화 인터뷰를 건너뛰고 바로 온사이트 인터뷰로 진행을 해주겠다는 제안이 왔다. 
마다할 이유가 없었다. 
다만 4주 안으로 인터뷰 스케줄을 잡아야 한다고 하였다. 
전화 통화 당시만 해도 조금 이른 감이 있지만 내가 세운 인터뷰 스케줄과 얼추 맞을듯해서 최대한 늦게 인터뷰 스케줄을 잡았다. 
하지만 그 후 warm-up 그룹 회사들과 전화 인터뷰를 통해서 준비가 더 필요함을 느끼고 1달 정도 다른 회사들과 인터뷰 스케줄을 미루게 된 상황... 
구글은 이미 비행기와 호텔까지 예약을 해 놓았기 때문에 내가 아직 준비가 안 됐다고 미룰 수는 없었다. 
어쩔 수 없이 이번 인터뷰 메인 그룹으로 분류를 해 놓았던 구글과 가장 먼저 온사이트 인터뷰를 하게 돼버렸다. 

※온사이트 인터뷰 (onsite interview)는 최종 면접이라고 보면 되는데 소프트웨어 엔지니어의 경우 전화 인터뷰를 통과하면 회사에 직접 방문을 해서 (onsite) 인터뷰를 치르게 된다. 보통 점심을 포함해서 5-8시간 정도 동안 4-6개의 기술 면접을 치르게 된다.

(사진: google.com)

구글은 따로 설명이 필요 없을 정도로 잘 알려진 회사이고 소프트웨어 엔지니어들에게는 테크 분야 끝판왕이라 불릴 정도로 실리콘밸리의 상징적인 회사이다. 

개인적으론 은퇴 전에 꼭 한 번쯤 경험해 보고 싶은 동경의 대상이다. 
그만큼 인터뷰도 어렵고 들어가기 힘들기로 유명하다. 
앞서 말한 데로 인터뷰 진행 기간도 기본 5주나 걸려서 다른 회사들에 비해 훨씬 비교적 긴 편이다. 
거기다가 구글에 들어갈 땐 보통 포지션 레벨을 한 단계 낮춰서 들어가야 한다는 말이 있을 정도인데 주변 엔지니어들 중에선 구글에 들어갈 수만 있다면 레벨을 낮추는 건 물론이고 연봉이 낮아지더라도 가고 싶다는 말을 할 정도이다. 
암튼 철저히 준비해도 모자를 이런 구글과의 온사이트 인터뷰를 준비가 덜 된 상태에서 보게 되다니 좀 아쉬운 감이 없지 않아 있었지만 기왕 기회가 온 거 일단 도전을 해보기로 하였다. 

(사진: Glassdoor)

인터뷰 하루 전날 구글 본사가 있는 Mountain View 근처 호텔에서 하루를 보내고 아침 일찍 구글 캠퍼스로 향했다. 

사실 준비가 덜 됐다는 불안감과 구글 인터뷰를 한다는 설렘에 잠까지 설쳤다. 
구글 한 건물 로비에 가서 인터뷰를 위해 왔다는 것을 알리고 잠시 소파에 앉아서 대기를 하고 있었다. 
대기를 하면서 리크루터로 받은 대략적인 인터뷰 가이드라인을 살펴보고 있었다.

2 Interviewer will focus on Java
1 Interviewer will focus on Web services
1 Interviewer will focus on General SWE skills
1 Interviewer will focus on System Design skills 

총 5개의 인터뷰 스케줄 되어있는 듯하였다. 
인터뷰가 시작되기 전에 리크루터와 먼저 만나서 간단한 소개나 온사이트 인터뷰 스케줄의 대한 설명이 있을 거라 예상을 했는데 첫 번째 인터뷰어가 로비로 마중을 나왔다. 

나이가 좀 있어 보이는 인도 아저씨였는데 구글에서 일하는지는 10년이 넘었고 구글 맵스 (Google Maps) 팀에서 엔지니어로 일을 하고 있다고 자기소개를 하였다. 
간단한 소개가 끝나고 본격적인 인터뷰를 시작하였다. 

첫 번째 질문은 주식 거래 알고리듬을 짜는 문제였다. 
조금 생소한 문제였지만 문제 자체는 크게 어렵지는 않았고 내가 생각하는 솔루션에 대해 간단히 설명을 하고 화이트보드에 코딩을 시작하였다. 
코딩을 하는 중간중간, 그리고 다 하고 나서도 인터뷰어의 다양한 질문이 이어졌고 내가 아는 한 최선을 다해서 답변을 주었다. 
처음부터 완벽한 답을 주진 못 했지만 인터뷰어와의 문답 과정을 통해서 최종적으로 좀 더 나은 솔루션을 완성할 수 있었다. 
첫 번째 인터뷰는 이 한 문제로 대부분의 시간을 할애하였고 시간이 다 되자 다음 인터뷰어가 와서 바로 인터뷰가 이어졌다. 

두 번째 인터뷰어는 나이가 좀 더 많아 보이는 백인 아저씨였는데 역시나 구글에서 10년 넘게 일하고 있고 현재 AI 팀 중 한 곳에서 엔지니어 매니저를 하고 있다고 소개를 하였다. 
이번 인터뷰어는 오자마자 랩탑을 꺼내서 인터뷰가 끝날 때까지 계속 타이핑을 했다. 
인터뷰 피드백을 자세히 적어야 돼서 인터뷰하는 동안 계속 피드백을 타이핑할 거라고 인터뷰 시작을 하면서 언급을 했지만 인터뷰 과정 내내 타이핑을 하고 있어서 조금 불편한 느낌이었다. 

두 번째 인터뷰, 첫 질문은 Data Structure/Algorithm 문제였다.

Find the longest words in a given list of words that can be constructed from a given list of letters. 

문제를 듣고 성급하게 잘못된 data structure를 고르고 문제를 풀려고 하는 바람에 초반에 조금 헤매다가 인터뷰어가 지적을 여러 번 한끝에 겨우겨우 솔루션을 완성할 수 있었다. 
인터뷰어가 중간중간에 날카로운 지적에 대해 답을 시원하게 하지는 못 했지만 시간 내에 제대로 된 솔루션이 나올 수는 있었다. 
첫 질문이 끝난 후에 남는 시간 동안 Computer Science의 전반적인 다양한 질문들을 쏟아냈다. 
사실 개인적으론 이 질문들이 첫 코딩 질문보다 더 어려웠다. 
그리곤 finite state machine에 관한 질문부터 시작을 해서 design pattern이 뭔지 또 그걸 왜 쓰는지 등등 정말이지 다양하고 많은 질문들을 하였고 내가 답을 할 때마다 표정 변화 한번 없이 계속 타이핑을 하고 있었다. 
힘들게 힘들게 답을 하고 있는 사이에서 어느새 시간이 다 돼서 그다음 인터뷰로 바로 이어졌다.

세 번째 인터뷰어는 반바지 반팔 티셔츠를 입은 앞서 만났던 인터뷰어들보단 젊은 듯하였는데 역시나 10년 이상 구글에서 일하고 있고 Search engine 팀에 매니저로 일하고 있다고 자신을 소개하였다. 
30초 만에 소개를 마치고 바로 질문으로 들어갔다. 
사실 세 번째 인터뷰는 최악이었다. 
인터뷰어는 잠시 질문을 생각하는 듯 하늘을 한번 쳐다보다가 Search Engine을 디자인해보라고 하였다. 
Index, Query 등의 필요한 data structure를 만들고 그것들을 이용해서 Search function을 짜보라는 문제였다. 
사실 Search 쪽은 전혀 경험이 없어서 문제를 듣고 어떤 방향으로 풀어야 할지 감이 잡히지 않았다. 
혼자서 문제에 대해 고민을 해보다가 인터뷰어에게 문제에 대한 힌트를 더 얻기 위해 이런저런 질문들을 했는데 인터뷰어의 태도는 그것도 모르냐는 듯의 어이가 없는 태도를 보였다.
물론 내가 전혀 방향을 못 잡고 있었긴 하지만 아무리 인터뷰를 하는 입장이라도 그런 태도를 보이는 게 어처구니가 없었다. 
어쨌든 인터뷰를 받는 입장에서 화를 꾹 참고 어떻게든 문제를 풀어나가려고 하였지만 인터뷰어는 나중엔 아예 쳐다보지도 않고 핸드폰을 보고 있었다. 
최악의 인터뷰 경험이었다. 
아마도 이 인터뷰어는 내가 문제를 못 풀 것이라 판단이 돼서 인터뷰가 아예 하기 싫은 모양이었다.
그동안 적지 않은 인터뷰를 해보면서 이런 경우는 또 처음이었다. 
이 끔찍한 세 번째 인터뷰가 끝나고 점심시간이 이어졌다. 

점심시간엔 Google Play 팀에서 일하는 여자 엔지니어가 점심을 함께 먹어주었다. 
이 친구는 구글에 다닌 지 3-4년쯤 되고 점심시간은 인터뷰에 포함이 안 되니 편하게 먹고 궁금한 질문을 하면 솔직히 답해준다고 하였다. 
구글에 다니고 있는 엔지니어의 솔직한 의견을 듣고 싶어서 구글에서 일하는 장단점을 물었다. 
이 친구의 말로는 장점은 똑똑한 엔지니어들과 함께 일 할 수 있고 엔지니어들이 일하기에 최적의 환경을 제공해준다고 하였다. 
단점으론 최근 구글이 AI 쪽에 중점을 두게 돼서 Mobile first에서 AI first로 바뀌면서 mobile 팀에 속하는 Google play 팀은 뒷전이 되고 있다고 하였다. 
사무실도 Main Campus에서 밀려나서 옆 건물로 옮겨가야 했고 회사가 전반적으로 mobile보단 AI 관련 팀들을 밀어주는 중이라고 하였다. 
점심시간 동안 다양한 대화를 나누고 시간에 맞춰 4번째 인터뷰를 위해 다시 인터뷰룸으로 돌아왔다. 

4번째 인터뷰어는 나이가 좀 있어 보이는 인도 엔지니어 매니저였다. 
역시나 10년 넘게 구글에서 일하고 있는 베테랑. 
4번째 인터뷰에서는 난이도가 꽤 어려운 Data structure & algorithm 문제와 추가로 Web security 관련 문제들이 나왔다. 
다행히 3번째 인터뷰와는 달리 그럭저럭 잘 해낼 수 있었고 분위기 좋게 인터뷰를 끝낼 수 있었다. 
5분 정도 시간이 남아서 구글 장단점을 묻는 질문을 하였고 구글에서 10년 동안 있었던 만큼 다양한 각도에서 솔직한 의견을 들려주었다. 

5번째, 마지막, 인터뷰어는 역시나 구글 10년 이상 경력의 베테랑인 data center 관련 팀에서 일을 하고 있는 백인 엔지니어 매니저였다. 
인터뷰 시작에 앞서 자신은 인터뷰를 하면서 피드백을 타이핑하면서 인터뷰를 진행을 할 거라고 이해를 해달라는 말과 함께 인터뷰 질문을 하였다. 
System design 문제였는데 간단히 설명을 하자면 data center cluster를 관리하는 system을 만들어보라고 하였다. 
Data center 쪽은 전혀 경험이 없었지만 다행히 이번 인터뷰어는 충분한 설명과 함께 질문을 하면 거기에 대한 방향 제시를 해주었다. 
그러면서도 중간중간에 날카로운 질문을 던지면서 내가 어떻게 답변을 하는지 세세하게 타이핑을 하였다. 
마지막 인터뷰에서는 주어진 시간 동안 끊임없이 질문당하고 대답하면서 1시간 동안 꽉 찬 인터뷰를 하였다. 
하나의 질문으로 이리 파고 저리 파고 내 모든 걸 탈탈 털린 느낌이었다. 
그래도 나름 나쁘지 않게 본 느낌이었고 인터뷰어는 시간이 조금 오버되면서까지 내 질문도 들어주고 자신의 솔직한 생각과 내가 구글에 대해서 궁금해하는 점들을 친절하게 답해주었다. 

그렇게 5개의 인터뷰를 모두 마치고 구글 온사이트 인터뷰가 끝이 났다. 
아쉬움이 많이 남는 인터뷰였다. 
개인적인 평가로는 첫 번째, 4번째, 5번째 인터뷰는 평타 이상은 한 느낌이었고 두 번째는 평타, 3번째는 0점짜리 인터뷰였다. 
탈락 느낌이 강하게 왔다. 


온사이트 인터뷰를 보고 일주일 뒤에 리크루터로부터 연락이 왔다. 

결과는 역시나 불합격
인터뷰 결과에 대한 피드백을 물어봤고 내 예상과 비슷했다. 
역시나 3번째 인터뷰가 문제였고 두 번째 인터뷰도 생각보다 성적이 좋지 않았다. 
결국 아쉽게도 이번엔 구글은 이렇게 보내야 했다 ㅠㅠ

구글 온사이트 인터뷰 프로세스에 대해 간단히 설명을 하자면 우선 인터뷰어들이 자세한 피드백과 함께 4점 만점으로 인터뷰 점수를 매긴다.
인터뷰 후 리크루터가 피드백을 다 모은 후 그다음 단계인 Hiring Committee로 진행을 할지 결정을 내린다. 
여기서 평균 3점이 넘지 못하면 여기서 탈락
내 경우 여기서 탈락하게 된 것이다. 
평균 3점이 넘는 경우엔 Hiring Committee로 넘어가서 오로지 피드백과 점수만 가지고 평가 후 오퍼가 결정이 된다. 
또 한 가지 재미있는(?) 설은 만약 온사이트 인터뷰 3번을 떨어지게 되면 다시는 구글에서 인터뷰 기회를 얻지 못한다는 것이다. 
구글에서 officially 제공하고 있는 정보는 아니지만 공공연한 사실로 전해지고 있다. 
때문에 구글을 목표로 하고 있는 사람들은 인터뷰를 한번 할 때 이러한 사실을 입지 하고 신중히 준비해야 한다. 

매거진의 이전글 전화 인터뷰 Part 1
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari