원래 면접 후기는 잘 안쓰는데 이런 식의 코딩 면접은 처음이라 후기를 써놓고자 한다.
사실 아무 기대도 안하고 영어 이력서를 대강 만들어서 제출했는데 운좋게도 서류를 통과하여 면접까지 갈 수 있었다.
머신러닝/딥러닝과 NLP를 주로 공부하는 나에게 데이터구조와 알고리즘을 물어보는 코딩테스트는 항상 어렵다. 그래서 나름 준비를 한다고 했는데 역시나 쉽지 않았다. 두 번의 코딩테스트가 있었고, 라이브로 면접관과 대화하며 보는 테스트였다. 따로 파이썬 환경에서 응시한 것이 아닌 구글 독스를 기반으로 마련된 별도의 페이지가 있었다. 정답을 맞추는 것보다 알고리즘을 설명하는 것이 포인트인 면접 방식이었다.
내부 규정상 문제를 정확히 말할 수는 없지만 문제 자체는 직관적이고 어렵지 않았다. 정답을 맞추는 건 백준 실버 수준의 문제들이었다. 하지만 면접관들은 계속해서 이 알고리즘을 어떻게 발전시킬 수 있을지를 물어봤다.
내가 가장 애먹었던 건 알고리즘 구현 자체보다 알고리즘의 time complexity를 Big-O 형식으로 계산하는 것이었다. Big-O notation으로 O(n^2) 처럼 구하는 건 사실 쉬워서 공부한 면이 아니었는데, 막상 문제를 풀다보니 n만 쓰는게 아니라 m, k 등 여러 문자로 표현해야 했다. 여기서 대답을 제대로 못해서 아마 떨어지지 않았나 싶다.
자료구조에 대해서도 HashMap, Queue, Stack 같은 건 많이 써봤어도 Hash Set으로 문제를 풀어야 하는 상황이 있었어서, 이 부분도 사실상 거의 제대로 대답하지를 못했다.
그래서 아쉽지만 탈락이 100프로 확정인 것 같다. 그래도 이런 형식으로 면접을 본 건 처음이라 경험은 잘 쌓은 것 같다. 알고리즘 공부도 앞으로 꾸준히 병행해야 할지... 그 동안 백준에서 한두문제씩 풀어오기만 했지 이런 식으로 더 빠른 알고리즘, 더 좋은 알고리즘을 찾아나간 건 처음이라 많이 힘든 면접이었다.
추가로 안내 메일에선 구글 드로잉을 준비하라고 했지만 실제 면접에선 면접관과 대화하는 느낌이 강했기 때문에 사용할 일이 없었다. 면접관들께서도 드로잉은 굳이 필요없다고 말해주셨다. 또한 구글 서울에서 근무하시는 엔지니어 분들이 면접 당 한 분씩 들어오셨었고, 영어로 진행되긴 했으나 한국어를 아주 일부 사용할 수는 있었다.