안녕하세요.
맨날 기술적인 내용만 적다가 오늘 처음으로 저에 관한 이야기를 하네요.
몇일뒤면 카카오 모빌리티 (카카오 택시, 카카오 대리…)에 입사합니다.
정말 어려웠던 구글 면접에 관해서 썰도 좀 풀고.. 카카오 모빌리티 면접 이야기도 해볼께요 ㅎㅎ :)

NDA에 싸인했기 때문에 정확한 문제에 대해서는 말씀드릴수 없습니다.
하지만 준비하시는 분들에게 도움이 되도록 써보도록 하겠습니다.

구글

1차 전화 면접

저는 구글에서 먼저 면접 요청이 왔습니다.
먼저 전화 인터뷰에서 영어로 대화하면서 어떠 어떠한 포지션이고 관심있냐? 이게 주요 대화입니다.
간단한 문제가 나올수 있습니다. 그냥 관심있으면 다 통과하는 수준이니까 어려울거 전혀 없습니다.

2차 기초 코딩 인터뷰 + 기초 딥러닝 인터뷰

행아웃으로 전화오고 코딩 인터뷰가 진행이 됩니다.
코딩 인터뷰 수준은 데이터 구조, 알고리즘이 나오고 수준은 Leet Code 중급 수준이 나옵니다.
기본적으로 알아야 하는 알고리즘들이 변형 없이 나옵니다.
아마도.. 개발자로 들어가면 더 어려운 수준이 나올거라 예상합니다.

딥러닝도 당연히 알아야할 내용들이 나오고 어렵지 않습니다.
예를 들어서 Activation이나 loss function 의 특징들에 관해서 질문이 나올 수 있습니다.

3차 리눅스 인터뷰 + 시스템 + 딥러닝 엔지니어링

SQL, 시스템 메모리 영역 문제, 리눅스 문제, 딥러닝의 엔지니어링 관점에서의 질문들이 나옵니다.
정말 실무적인 내용들만 나오고.. 말도 안되는 내용이 나오지 않습니다.
실무에서 일해봤다면 누구나 알만한 내용들이 나옵니다.

다만 제 경력상 서버 개발도 있었기 때문에 이 부분은 쉬웠지만..
이제 막 대학원 졸업한 딥러닝 공부한 학생들한테는 조금 어려울수도 있겠다는 생각이 들었습니다.

4차 기계 학습 (어려움)

여기부터 정말 어려워 집니다.
질문들도 수학수준에서 나오고, 실제 알고리즘을 만드는 방법에 관해서 나옵니다.
문제 출제 또한 재미있는게 이런 방식입니다.

“2개의 클래스가 있는때는 LDA를 못 사용하잖아요. 이럴때 어떻게 합니까?”

(당연히 영어로 질문을 하겠죠..)
틀린 말을 마치 맞는 말처럼 말하는데.. 대충 알면.. PCA사용합니다. 이지랄 하면 당연히 떨어지겠죠.
어려우면 가장 어려울수 있는 면접이고 단지 수학 문제만 나오는게 아니라 실제 라이브러리 없이 구현할수 있을 정도의 문제가 출제가 됩니다.
당연히 Scipy 또는 R 만 써서 구현한 사람들은 바로 떨어짐.

5차 코딩 테스트 (어려움), 아키텍쳐 (어려움)

처음 코딩 테스트는 정말 기초적인 코딩 테스트 였고..
응용한 문제가 출제가 됩니다.
Recursion으로 풀어도 되고 DP로 풀어도 되고 다 할줄 아는게 중요할거 같습니다.

아키텍쳐는 저는 쉬웠습니다.
이건 100% 경험 아니면 풀수가 없습니다.

하둡 생태계, 스파크, 카프카, 글로벌 수준의 아키텍쳐, 분산처리, Redis, RDBMS, TensorFlow 서비스 등등…
위에 열거된 내용들을 실제 구현해보고 빅데이터를 이해하고 있어야 문제를 풀 수 있습니다.
이건 말 그대로 엔지니어링 실력입니다.

실제 실무에서 일어나는 트러블 슈팅에 관해서 문제가 나올수도 있고, 어떤 서비스를 구현하기 위한 아키텍쳐를 구현 할수도 있습니다.
모두 화이트 보드에 적으면서 설명하면 됩니다.

6차 점심 인터뷰

그냥 구글에서 점심 먹으면 됩니다.
맛있어요 얌얌얌~
앞에 있는 사람 너무 신경쓰지 말고 그냥 잘 먹어요. 경험이니까 ㅋㅋㅋ

저는 일본 구글러한테 한국에서는 실력도 중요하지만 폭탄주를 잘 만드는 것 또한 중요한 실력이라고 하니까 빵 웃더군요.

7차 매니져 인터뷰 (헬!!!!)

저는 솔직히 이게 제일 어려웠습니다!
한국 처럼 임원 면접은.. 뭐 인성보거나.. 그런거 아님…

프로젝트 매니지먼트, 마케팅, 시간관리 등등.. 상황설정을 하면서 문제가 출제되는데..
답이 없는 문제이고..;;;;;;;; 논리적으로 설명해야 합니다.
한번만 말하면 끝나는게 아니라.. 계속 질문이 이어질겁니다.. 그리고 다른 것도 있는지 또 물어볼겁니다.
머리가 하얗게 됨….

코딩 테스트, 기계학습, 다 통과하고도.. 여기서 많이 떨어질거 같더군요..
한국은 이런 질문들이 인터뷰에 없죠.

하이어 커미티

여기서부터는 그냥 기다리면 됩니다.
최종 인터뷰를 통과한 사람들중에서 단 몇사람만 뽑히게 되고.. 최종 오퍼가 나오게 됩니다.
할 수 있는게 없고.. 그냥 기다리면 됩니다.

카카오 모빌리티

구글 인터뷰를 모두 통과한 중에 카카오 모빌리티의 면접 기회가 생겼었습니다.
평소에도 많이 이용하던 서비스였고.. 뭔가 막연하게 좋은 가치를 만들수 있지 않을까 생각하던 중에 기회가 와서 면접을 보게 됐습니다.

구글에는 잠시 기다려달라고 요청했고.. (그분들도 진행하면 업무가 생기는 것이고 나중에 안간다고 하면.. 정말 미안한 상황이 될거 같아서..) 카카오에는 사정상 최대한 빠르게 면접 요청을 했었습니다.

원래 2주일 후에 잡힌 면접이었는데.. 그냥 바로 다음주로 잡아버림.
1차는 기술면접이었고.. 어찌어찌 소신있게 답했는데.. 통과되었습니다.
2차 면접도 구글에서 기다리고 있다고 빨리 답을 줬으면 한다고 말했는데.. 면접장 나가자마자 3분뒤쯤에 합격 이메일이 왔었습니다.

그날 밤! 정말 제 인생 최대의 고민이 시작되었습니다.
구글로 가서 정말 세계급 뛰어난 인재들과 함께 일을 할지, 아니면 카카오 모빌리티라는 스타트업? 에서 일을 할지..
이런일이 처음은 아니었습니다. 이전에도 아마존 시애틀 본사에서 면접 기회가 있었는데.. 제 소신을 따라서 스타트업에서 일을 했었죠.

정말 제가 쓰면서 뒤돌아보니.. 미친짓을 많이 한거 같습니다.

결론적으로 돈 적게 받더라도 재미있게 일할수 있는데서 내 뜻을 한번 펼쳐보자라는 심정으로 구글에 제 의사를 메일로 밝혔고.. 최종적으로 카카오를 선택했습니다.

앞으로

어쩌면 이게 제 회사생활의 마지막이 될 수 도 있겠다는 생각이 듭니다.
애초에 자꾸 대기업 보다는 스타트업을 선호한 것도 언젠가는 제 사업을 하고 싶고, 가치있는 뭔가를 만들고 싶다는 열정이 있기 때문인거 같습니다.

3년 뒤, 제 스타트업을 시작할 때 지금 제가 걸어온 길이 많은 도움이 되길 바랄 뿐입니다.