2020 카카오 신입 개발자 블라인드 채용 후기

4 minute read

서론

드디어 길고 길었던 2019년 취준 시즌이 끝났다. 2014년 연세대학교 경제학과로 입학하여 이후 개발자를 꿈꾼 나로서는 정말 다사다난한 한 해였다. 취업을 하면서 느꼈던 열등감과 불안함, 그리고 앞으로의 다짐 등을 잊지 않기 위해 글을 작성하고자 한다. 먼저 결론적으로 말하면 이번 취준은 4전 2승 2패이다. 나는 SKT T브레인, 삼성 리서치, 카카오 브레인, 네이버에 지원하였으며 삼성리서치와 카카오 CIC (?)에 합격하게 되었다. 카카오 후기를 시작으로 각 기업별로 내가 느꼈던 것들을 정리해보도록 하겠다. 참, SKT T브레인은 서류탈락이라.. 따로 쓸 게 없다. SKT 채용 설명회에서는 간단한 포트폴리오만 받는다고 했는데, 사실 간단하게 쓰면 안되는 모양이다.

1차 온라인 코딩테스트

이름과 이메일, 지원하는 계열사정도를 적게 되면 누구나 1차 온라인 코딩테스트를 볼 수 있다. 나는 딥러닝, 머신러닝을 공부하고 싶어 카카오 브레인으로 지원하였다. 프로그래머스 에 들어가면 카카오 블라인드 코딩테스트에 대한 기출문제가 올라와있다. 문제는 난이도 순으로 배치되어 있으며 7개 문제가 나오고, 총 5시간의 시험 시간이 주어지게 된다. 나는 1,2,3번문제를 맞고 4번 문제에서 정확성 테스트만 통과하였다. 즉 3.5솔이 된 것이고 결과는 합격할 수 있었다. 정확한 정보인지는 모르겠으나 3개를 맞고 떨어진 사람이 있다는 걸로 봐서는 내가 문을 닫았던 것이 아닐까? 문제에 대한 해설은 이곳에서 확인할 수 있다. 당일에 태풍이 와서 굉장히 정신없게 코딩을 했었는데, 사실 3번까지 푸는 데에는 2시간정도면 충분하고 나머지 문제를 푸는 싸움이 될 것이다. 따라서 너무 걱정하지 말고 천천히 정확하게 코딩하는 것이 중요하다. 뿐만아니라, 카카오의 경우에는 모든 TC를 공개해주기 때문에 맞추면 맞는것이다.

2차 오프라인 코딩테스트

온라인 코딩테스트를 합격하고 나면 다음과 같은 안내메세지를 받을 수 있다.

kakao_offline

불안감이 엄습한다. JSON format을 parsing할 수 있어야 하며 듣도보도 못한 REST API를 사용한다는 문구는 나를 공포심에 빠뜨렸다. 그렇지만 크게 걱정할 것은 없었다. 왜냐하면 카카오는 2019 블라인드 공채 당시의 오프라인 코딩 테스트 자체를 로컬에서도 해볼 수 있게 깃허브를 제공해주고 있기 때문이다. 이곳에 들어가서 문제의 방식이 어떤지, 어떤 방식으로 API를 사용해야하는 지를 익힐 수 있다. 그러니 추후에 신입공채에 지원하시는 분은 “반드시” 이곳에 들어가서 코드를 짜서 돌려보기를 강력하게 추천한다. 이 깃허브에 나와있는 문제의 경우 어떻게 할 지 감이 안오시는 분들을 위해 내 풀이를 공유하고자 한다. 단, 단순히 풀어보기만하려고 했기 때문에 코드가 매우 더럽고 가독성이 부족할 것이다 ㅠㅠ. 2차 오프라인 코딩테스트 역시 리뷰가 이곳에서 제공된다. 2차를 준비하는 여러분이 반드시 아셔야할 것은 ‘파이썬이 훨씬 편하다’와 ‘미리 API사용법에 익숙해’ 지는 것이다.

먼저 장소에 도착하면, 실제로는 오프라인 코딩테스트만 보는 것이 아니라 간단한 설문과 CS 전공 지식 테스트도 이뤄진다. 설문같은 경우 평소에 관심있는 기술 등에 관한 서술을 하면 되며 평가에는 반영되지 않는다고 한다. 그리고 CS 전공지식 같은 경우는 따로 준비해갈 것 없이 평소에 공부를 열심히 했다면 충분히 풀 수 있는 난이도의 문제이다. 바이너리 서치의 수도코드 채우기, 트리 순회 출력 순서 등 어렵지 않았다.

오프라인 코딩테스트는 재미있게 스코어보드를 통해 자신이 몇 등인지 몇 점을 획득했는 지 확인할 수 있다. 종료 30분 전에 보드가 freeze된다고 하는데, 나는 40분 전에 나와서 정확히 몇 등인지는 모르겠으나 나올 당시에는 10등을 기록하고 있었다. 그도 그럴 것이, 위에 올린 카카오 공식해설을 보면 2개의 난이도로 나누어지는 2차 코딩테스트에서 2번째 난이도를 클리어한 사람이 40명 밖에 없었다고 한다. 이는 문제 자체가 어려웠던 것이 아니라 일반적인 형식과 매우 다른 방법으로 진행되는 코딩테스트에 사람들이 적응하지 못한 것 같다.

내가 해줄 수 있는 조언은 시작할 때 아예 가장 어려운 난이도를 구현한다고 생각하고 구현을 시작하라는 것이다. 생각보다 4시간이 그렇게 짧지 않다. 뿐만아니라 가장 어려운 난이도를 구현하면 더 쉬운 난이도의 문제는 자동으로 풀리는 것이기 때문에, 여러 개를 푼다기 보다 어려운 하나를 4시간동안 푼다고 생각해도 괜찮을 것 같다.

카카오 브레인 과제

보통 1,2차 코딩테스트가 완료되면 1,2차 면접이 남게 되는데, 카카오 브레인의 채용과정은 조금 달랐다. 과제를 부여받고 이를 수행해 제출하는 내용이다. 과제 내용은 RAdam 이라는 새로운 optimizer에 대한 이해를 바탕으로 논문에 대한 간단한 리뷰, 그리고 코드 개선이었다. 문제는 논문에는 여러 수식이 덕지덕지 나왔고, 감마 분포가 뭔지도 몰랐던 나에겐 1주일의 시간이 고됐다. 어찌저찌 논문 내용을 모두 이해하고 나름 논문에 있는 수식의 typo도 많이 발견해서 issue를 재기할 수도 있었다. 문제는 코드 개선이었는데 이부분이 감이 오지 않았다. 왜냐하면 주어진 코드 내용은 저자의 공식 깃허브의 소스코드였기 때문에 일부로 넣으신 작은 오류를 빼고는 어디를 고쳐야할 지 전혀 모르겠었기 때문이다. 내 나름대로 코드를 논문의 논리전개 방향과 일치시키고 안정성을 챙겨보았으나, 어딘가에 문제가 있었고 과제탈을 하게 되었다. 과제라는 것 자체가 일반 신입공채과정과는 달라서 너무 재미있었기 때문에 굉장히 아쉬웠다. 개인적으로 슬펐던 것은 탈락의 이유를 가르쳐주지 않는다는 점이다. 어디가 부족했는지, 어떤 점을 지원자에게 원했는 지를 알면 인생에 큰 피드백이 될 수 있을 것 같았는데, 이부분이 정말 아팠다.

카카오 CIC 면접

과제탈 이후 우울한 나날을 보내고 있다가 카카오에서 온 이메일을 받게 되었다. 이는 새로 생기는 사내 독립법인 카카오 CIC의 채용과정에 지원해달라는 내용이었다. 카카오 CIC는 카카오 엔터프라이즈라는 이름으로 12월 1일에 분사될 예정이었고, 나는 AI 기술팀에 면접을 보게 되었다. 지금부터는 공채 지원자로서 면접을 보는 것이 아니었다. 면접장에 갔는데 무려 5분의 면접관님들이 계셨다. 한 분은 인사팀이셨고 나머지 4분은 현업종사자셨던 것 같다. 질문의 내용을 상세하게 밝힐 수는 없지만, 현재 하고 있는 공부, 어떤 이유에서 재지원하게 되었는지 등을 전반적으로 물어보는 인성면접이었다. 당초 예정된 1시간에 훨씬 못미치는 30분면접을 보고 나왔고 분위기는 매우 좋았다. 결과적으로 “합격” 통보를 바로 다음날 받을 수 있었다.

느낀점

카카오는 신입개발자 채용에 굉장히 공을 들인다는 것을 느낄 수 있었다. 무려 4개나 진행되는 프로세스에, 문제들이 한땀한땀 만들어진다는 것이 굉장히 흥미로웠다. 또한 진행 과정이 굉장히 속전속결로 이루어져서 늦어도 11월초까지는 결과를 알 수 있다는 것이 취준생 입장에서 장점으로 느껴졌다. 카카오의 경우에는 면접과정을 제외한 코딩테스트가 다 오픈되어있기 때문에 철저하게 준비할 수 있다. 따라서 이후 신입공채에 지원하실 분들이라면 반드시 이에 대한 완벽한 대비 이후에 공채를 맞이하시길 추천드린다.

Leave a comment