구글 인터뷰 합격 후기
안녕하세요,
오늘은 구글 인터뷰를 본 후기에 대해서 적어보려고 해요.
프리뷰
일단 저는 구글 캐나다 지사를 지원했고 지원은 구글 채용 사이트 통해서 했어요. 제가 겪은 구글의 인터뷰 프로세스를 정리하자면 아래와 같아요.
서류 - 리쿠르터 리뷰 - 폰 스크린(1) - 버츄얼 온사이트(5) - HC - 추가 버츄얼 인터뷰(2) - 팀매칭 - CC - VP 승인 - 오퍼
HC: Hiring Committe
CC: Compensation Committe
VP: Vice President
괄호 안은 제가 본 인터뷰 횟수 이구요. 폰스크린 1라운드, 버츄얼 온사이트 5라운드 그리고 추가 버추얼 인터뷰 2라운드를 진행했으니 총 8라운드를 진행했어요. 그 중에서 기술 라운드는 총 7번이였고 인성 라운드는 1번이였어요.
코비드 때문에 온사이트를 포함해서 모두 화상 면접으로 진행되었구요. 총 45분이 주어졌지만 몇몇 인터뷰의 경우 인터뷰어에 따라 시간이 모자라 5-10분정도 초과해서 보기도 했어요. 제가 생각했을 때 면접에서 가장 중요한 2항목은 옵티멀 솔루션을 제시하는 것과 그 솔루션을 제시하기 위한 생각의 흐름에 기반한 커뮤니케이션이라고 느껴졌어요. 인터뷰를 보는동안 제가 조금 헤매면 인터뷰어가 힌트를 조금씩 풀기도 하고 만약 옵티멀 솔루션을 못 찾으면 시간이 허용하는 내에서 찾을 때까지 푸시하는거 같았어요. 딱 1번 옵티멀 솔루션을 못 냈는데 그 인터뷰어같은 경우에는 그냥 인터뷰를 바로 종료했고 나머지는 그래도 옵티멀 솔루션을 제시했고 구현까지 대략적으로 하기까지 했어요.
특히 온사이트 기술면접 4라운드의 경우 3번은 팔로업까지 받고 잘 해결했고 위에서 말했듯이 옵티멀을 제시 못한 경우가 있었는데요. 풀었던 3문제는 그래프 관련한 것이였고 나머지는 다른 토픽에서 나왔는데 이 문제를 제대로 못 풀어서 HC에서 추가 라운드 요청을 한 것으로 짐작돼요.
구글 인터뷰의 경우 경력직일 경우 지원자가 가진 경력과 비슷한 인터뷰어들과 인터뷰를 본다고 들었는데 온사이트는 전박적으로 그랬고 추가 2라운드의 경우 딱 봐도 시니어 이상급되는 인터뷰어들과 봤어요. 제 생각에 제가 지원한 레벨이 L4였는데 추가 인터뷰에서 L4를 줄지 L3를 줄지 결정하는 것이 아니였을까하는 생각이 드는데 리쿠르터가 붙었기 때문에 따로 디테일한 피드백은 주지 않아서 짐작만 해봐요.
폰인터뷰까지는 1개월 그 이후로 온사이트까지 2주의 준비 기간이 주어졌구요. 이 기간에 마소랑 같이 준비했기 때문에 문제는 100문제 좀 넘게 풀었던거 같아요. 구글의 경우 접근하는 방식을 많이 본다고 해서 구글관련 문제를 풀기보단 각 토픽에서 기본이 되는 문제들을 여러가지 방법으로 푸는 연습을 했어요. 한가지 이 때 제가 놓쳤던게 있는데 꼭 옵티멀 솔루션이 뭔지 짚고 넘어가세요. 저는 1문제의 경우 여러가지 방법으로 풀 수 있고 풀어본적이 있는 듯한 문제였는데 옵티멀 솔루션을 몰라서 많이 헤맷어요.
저는 북미 면접을 하는 친구가 많이 없어서 딱 한 번 목인터뷰를 했는데요. 기회가 있어서 더 많이 볼 수 있었으면 좋았을거 같아요. pramp나 이런 피어 투 피어 목인터뷰를 제공하는 플랫폼들이 있는데 이용해볼까 하다가 이번에 큰 기대없이 면접을 진행한거라 딱히 사용해보진 않았어요.
이건 코비드 때문에 그런데 모든 프로세스가 화상 면접이기 때문에 캠이 필요하구요. 면접 전에 조용한 공간을 확보하시고 마이크랑 캠이 잘 작동하는지 점검하세요. 그리고 타이핑 해야되기 때문에 무선 이어폰이 편한데요. 배터리 생각하면 유선도 괜찮은 선택이라고 생각해요.
면접을 대하는 자세
결국 인터뷰도 운7기3 이기에 저는 마인드 컨트롤을 하려고 노력 많이 했어요. 그러면서 여러 인터뷰 팁 영상들을 봤는데요. 그 중에서도 제게 도움되었던 마인드에 대해서 공유 드릴게요.
1. 면접관을 회사 동료라고 생각하세요.
면접관을 저를 평가하는 사람이라고 생각하면 긴장만 되고 특히 실수하거나 막히게 되면 더 진행을 못하게 되는 경우가 발생해요. 근데 문제 자체를 같이 푸는 회사 동료라고 생각하면 한결 마음이 편해지고 질문을 할 때도 동료한테 물어본다고 생각하니까 더 좋은 질문을 하게 돼요.
2. 면접을 시험이 아니라 배움이라고 생각하세요.
아무래도 시험이라고 생각하면 실수했을 때 더 긴장하게 되고 틀리지 않으려고 노력하는데 배우는 시간이라고 생각하면 앞에 1번과 비슷하게 자연스럽게 난관을 헤쳐갈 수 있게 되는거 같아요. 내가 모든걸 알 수는 없는거기도 하고 모르면 물어보는게 당연한거잖아요.
3. 감사하는 모습을 보이세요.
면접을 잘 봤던 못 봤던 감사하는 모습을 보이는 것도 중요하다고 생각해요. 면접을 보기 위해 시간을 내준 것, 면접을 통해서 배우고 가는 것들을 인터뷰 처음과 마지막에 코멘트 해주면 좋은 것 같아요. 똑똑한 사람을 뽑을 수도 있겠지만 결국 사람이기 때문에 능력은 조금 부족하지만 함께 일하고 싶은 사람을 뽑을 확률이 높아요.
알고리즘 면접 시에 팁
제가 생각했을 때 도움이 될만한 팁들을 공유드리도록 할게요. 이건 제가 생각한 제게 적합한 방법이기 때문에 만약 여러분한테 안 맞는다면 안 하셔도 되니 참고만 하세요.
1. 머리 속에 든 내용을 말로 하는 연습을 하세요.
진짜 사소한 디테일이라도 다 얘기하는게 중요해요. 5초 이상 침묵이 지속되면 red flag에요. 만약 생각할 시간이 몇 초간 필요하면 인터뷰어에게 몇 초간 생각하면서 침묵해도 되는지 물어보고 진행하세요.
2. 계속 확인하세요.
1번과 이어지는 내용인데 여러분이 생각한걸 무조건 맞다고 생각하지 마시고 중간 중간에 인터뷰어가 잘 따라오고 있는지 확인하세요. 페어 프로그래밍한다고 생각하고 여러분이 생각하신 내용을 상대방도 동의하는지 확인하면 돼요. 간단하게 하나 정하고 나면 Does it make sense to you? What do you think? 이런식으로 추임새를 주면 되겠죠.
3. 힌트를 요구하세요.
못 풀고 헤매고 있으면 인터뷰어가 힌트를 주기 시작할텐데 그래도 모르겠다면 시간을 아끼기 위해서 대놓고 물어보세요. 물론 혼자 힘으로 못 풀었으니 감점이 되겠지만 아예 손도 못대는거보다 나아요. 저도 한 라운드는 그냥 대놓고 물어봤어요.
4. 로직이 반복되면 helper 함수 만들어서 abstract하세요.
저는 수도 코드 만들 때 로직이 나눌 수 있으면 설명만 적어두고 나중에 구현할 때 따로 함수 만들어서 적용했어요. 이거도 습관이랑 관련된거니까 알고리즘 연습할 때 계속 연습해두세요.
5. 생략할 수 있는건 생략하세요.
간혹 문제에서 잘 알려진 로직이나 수학적인 공식을 구현해야 되는 경우가 있어요. 예를 들면 바이너리 서치나 길이를 구하는 함수를 구현해야 된다면 인터뷰어한테 그냥 구현했다고 가정하고 함수명만 이용해서 풀어도 되는지 물어보세요. 중요한 부분이 아니라면 그렇게 하자라고 할거에요.
6. 함수나 변수명은 최대한 구체적으로 쓰세요.
그냥 생각없이 a, b, c 이렇게 네이밍하지 말고 숫자 배열이면 numbers라고 네이밍한다던지 가능하다면 구체적으로 작성하세요. 간혹 인터뷰어가 좀 더 descriptive하게 작성해달라고 요구하기도 하는데 묻기 전에 그렇게 작성한다면 더 좋겠죠.
7. 퀄리티 있는 코드를 작성하는지 계속 확인하세요.
연습 시에 내가 지금 작성한 코드가 퀄리티 있는 코드인지 확인하기 위해서는 친구한테 보여주고 단시간 내에 친구가 이해할 수 있는지 또는 2주 뒤에 자신이 보고 이해할 수 있는지 다시 확인해보세요. 만약 이해가 안 간다면 말 안 해도 알겠죠?
8. 주석을 다세요.
로직이 조금 복잡하다면 코멘트를 다는 연습을 해보세요. 특히 if 문 내에 복잡한 조건이 들어가는 경우가 있는데 말로 조금 풀어서 코멘트 해둔다면 가점이 되겠죠? 물론 그 전에 그 조건을 간단한 형태로 변형할 수 있으면 더 좋긴 해요.
9. 미리 미리 준비하세요.
딱 맞춰서 입장하지 마시고 5분 정도 전에 입장해서 시간이 부족하지 않도록 준비하세요.
10. 가장 베이식이지만 연습 시에 항상 실전처럼 하세요!
구글 팀매치
구글의 경우 채용 결정이 나더라도 여러분을 원하는 팀을 찾아야만 하는데요. 특히 채용이 결정난 후 1년 이내로 팀을 찾고 오퍼를 받아야만 해요. 그러니까 인터뷰를 통과하더라도 다른 인터뷰를 또 해야되는 거죠. 사실 이게 더 피말렸는데요. 알고리즘 인터뷰는 형식이 있으니까 거기에 맞춰서 준비하면 됐는데 팀매치는 팀에 하이어링 매니저랑 미팅을 갖는거라 준비하는데 더 어려웠어요. 특히 초반에 저는 이 라운드가 그냥 캐주얼하게 대화를 나누는건줄 알았는데 계속 떨어지다 보니까 공부를 해야되는거라고 나중에 깨달았어요.
구글 캐나다에는 크롬, 구글에드, 지메일, 클라우드, 스타디아 등의 개발 조직이 있는데요. 저는 5번 다 클라우드 아래에 있는 팀과 팀매칭을 진행했어요. 블라인드에 팀매칭 때문에 오퍼 못 받은 케이스, 6개월 이상 걸린 케이스 등 엄청난 호러 스토리들을 많이 봤어서 더 스트레스 받는 라운드였어요.
결국 매칭이 됐는데 며칠간 유튜브 보면서 해당 조직에 대해서 공부했던게 크게 작용했어요. 매니저가 얘기하기도 전에 이거 보고 공부 좀 해왔다고 하니까 엄청 좋아하더라구요. 저는 좀 호기심이 부족한 사람이라 해당 프로젝트에 열정이 있고 같이 일하고싶다는걸 보여주는게 좀 힘들었어요. 여튼 유튜브 많이 보세요. 짱이에요.
제가 질문한 일반적인 질문 리스트도 공유 드릴게요.
* (I know I don't have much experience about {{해당 팀 기술 스택}} but) what additional skills or experience do you wish I had that would make me a better fit for this job?
* I would like to prepare something before I join. So I think to study general {{해당 팀 시스템}} and language the team uses. Addition to the skills you mentioned before, do you have any recommandation to look at before join?
* Could you tell me who's the most successful recent hire and why?
* What's the team's biggest challenge this year and how will this job help overcome it?
* How will I measure my performance so I know I'm having a positive impact on this challenge?
* What the composition is like in terms of seniors and juniors?
* If I find areas I may need help, what mentorship may I receive during on boarding?
* What are the growth opportunities and what are the projects I can work on after on boarding?
* What your approach to mentorship and growing your juniors?
* What is the work from home policy?
* How many people work in the team and what is the on call frequency?
* What are the next steps in the process?
* I respect your time so do you want to keep the meeting or is it okay to send an email since I have more questions? which one is best for you?
일반적으로 30분 진행하는데 저정도 질문하면 30분은 버티실 수 있을거에요. 저는 위에 질문 외에 해당 팀에 관련한 구체적인 질문들도 5개정도 준비해서 먼저 물어보고 시작했어요.
마무리
구글의 경우 전반적인 인터뷰 경험이 좋았어요. 인터뷰어들도 굉장히 친절했고 리쿠르터도 제가 보낸 메일에 당일 혹은 하루 이내로 회신을 줘서 좋았구요. 다만 아쉬운 점은 전반적인 프로세스 진행이 너무 느렸어요. 5월 초부터 진행한 프로세스가 8월 중순까지 오퍼가 안 나왔으니까요.
구글은 제 드림 컴퍼니였고 제가 이 곳에서 일할 수 있을거란 생각을 해본적이 없었어서 아직도 실감이 잘 나진 않아요. 아마 데이원에 진짜 구글러란걸 실감할거 같네요.
특히, 저는 한국에 있는 평범한 대학을 나왔고 경력도 대기업에서 일한 적이 없어요. 그러니 저처럼 평범한 이력을 가지신 분들도 좌절하지 마시고 계속 준비하시고 문을 두드리시면 언젠간 좋은 결과를 잡을 수 있을거라 생각해요.
제가 적은 이 조그만 팁들이 도움이 되었으면 좋겠고 궁금하신 내용은 아시죠? 답글로 남겨주시면 제가 확인하고 답글 드릴게요.
그럼 안녕!