PS/My Diary (PS, 대회후기)

[221008] 2023 KAKAO BLIND RECRUITMENT 코딩테스트 2차 후기

kth990303 2022. 10. 8. 19:35
반응형

지난번에 응시한 1차 코테(https://kth990303.tistory.com/379)에서 좋은 결과를 받은 덕분에 2차 코딩테스트에 응시할 기회를 얻었다.

 

[220924] 2023 KAKAO BLIND RECRUITMENT 코딩테스트 1차 후기

https://career.programmers.co.kr/competitions/2759 2023 KAKAO BLIND RECRUITMENT career.programmers.co.kr 2023 카카오 코딩테스트에 응시해보았다! 카카오는 내가 가고 싶은 기업 중 하나이기도 하고, 카카..

kth990303.tistory.com

 

2차 코딩테스트는 두 가지 항목이 존재한다.

 

1. CS 테스트 (30분)

2. 코딩테스트 (API 통신) (305분)

 

결과부터 말하자면 아래와 같다.

cs테스트는 정답을 모르겠으니 논외로 하고, 

코딩테스트는 맛만 보고 나왔다ㅋㅋ

16:18 (코딩테스트 시작 108분 후) 기준

16시 18분에 814.8점으로 17등이라는 점수를 찍었길래 나쁘지 않겠다 싶어서 바로 제출하고 시험을 종료했다.

그런데 약 1시간 후... 80~90등으로 밀리더니, 얼마 지나지 않아 리더보드 밖으로 탈출해버렸다. 아마 최종적으로 870~880점 이상이 합격하지 않을까 예측된다. 770~780점인 지인분들도 합격한 것을 확인했다.

조금 더 붙잡은 후에 시험을 종료할걸 그랬나 생각도 들었지만, 이번 2차 코딩테스트는 경험삼아 응시하자는 마인드였기 때문에 지금 결과에 만족하고 내년을 제대로 노려야겠다.

 

카카오게임즈, 카카오엔터프라이즈 등등 다양한 회사에서 모집했던 작년과 달리 올해는 카카오 본사에서만 모집한다.

그렇기 때문에 2차 합격 커트라인이 작년보다 더 올라가지 않을까 조심스레 예측해본다.

 

후기를 작성해보도록 하겠다.


응시 환경 감독관 확인 (12:30 ~ 13:20)

cs테스트에선 화상감독, 신분증검사, 응시환경 검사를 진행한다. 

최종 입실 시각은 13:19:59까지였는데, 나는 정확히 12시 30분에 입실했다.

이후 약 40분동안은 할게 아무것도 없었다. 너무나도 심심한 시간이었다.

담에는 최종 입실 마감시간 15분 전쯤에 환경세팅하고 입실하도록 해야겠다.

 

감독관님이 자신을 기준으로 화상감독 어플로 360도 쭉 돌라고 시키신 후, 시험 응시환경 체크를 위해 command + option + esc 키를 누르라고 하신다.

나의 경우는 책상에 자전거용품, 버즈, 마스크, 빈 포스트잇, 간식, 텀블러, 컵, 빗, 껌 등등 많은 물건들이 책상에 있었다. 다행히 시험과는 상관없는 물품들이어서 감독관님께서 잘 넘어가주셨다. 대신, 공책은 찢어서 사용할 것을 권장해주셨다.

 

또한, 모니터와 손이 잘 보이도록 세팅해달라고 부탁하셨다.

얼굴이 잘 나오도록 세팅했는데 각도를 조금 내려달라고 요청하셔서 얼굴보단 모니터, 손이 나오는 것이 중요하구나를 깨닫고 스마트폰 각도를 수정하게 됐다.


CS 테스트 (13:30~14:00)

알고리즘/네트워크/DB/운영체제에서 총 12문제가 나왔다.

다들 쉽다길래 무난무난하게 프로세스와 스레드의 차이, 스레드풀과 커넥션풀, 인덱스, TCP 3 way handshakes의 간단한 요약 버전, stack vs heap과 같은 내용들이 나올 줄 알았다. 하지만 막상 응시해보니 그보단 꽤 난이도가 있었다.

 

학교에서 CS 수업을 1도 안들었던 내 입장에서는 꽤나 어려웠다.

특히 리눅스, 운영체제 쪽 개념들은 아예 처음 듣는 내용들이 많아서 찍었다ㅋㅋ

 

알고리즘도 꽤나 내용들이 어려웠다.

그렇지만 예전에 ps를 잠깐 맛봐서 그런지 한문제 빼고는 어렵지 않게 답을 할 수 있었다.


코딩테스트 (14:30~19:30)

호텔에 투숙객들이 예약을 하려 할 때, 최대한 많은 객실이 예약될 수 있도록 api를 구현하는 코딩테스트이다.

 

나의 경우는 api 통신 및 json parsing이 무난한 python으로 응시했다.

원래의 경우 ps를 c++, 웹 백엔드 개발은 java로 해서 둘 중 하나로 할까 고민했지만, json 파싱이 파이썬이 너무나도 편리해서 python으로 1주 정도 연습한 후에 응시하게 됐다.

카카오 2차를 처음 응시한다면 작년, 제작년 문제를 꼭 풀어보고 툴을 만들어둘 것을 추천한다. token으로 key값을 받아야되는 start api, 최종 점수 및 결과를 출력하는 요청을 하는 score api가 매년 동일하기 때문에 시간을 훨씬 아낄 수 있다.

 

최대한 객실을 많이 예약되도록 하기 위해서 인원수가 많은 사람들을 뽑기 위해 heapq를 이용했다.

예약 가능하다는 reply api를 보내기 위해 예약 가능 여부를 체크하는데, [day, day+amount) 중간에 예약 불가능한 경우 (day + i일 째)가 나오면 [day+1, day+amount+1), [day+2, day+amount+2), ... 도 예약이 불가능하단 의미이다. 그렇기 때문에 [day+i+1, day+amount+i+1)부터 탐색하도록 시간복잡도를 조금이나마 줄여봤다.

 

그 외에 min(요청 + 14일, 체크인 - 1일)이 지나도록 예약일정을 잡을 수 없는 요청은 아예 응답하지 않아 거절로 처리되도록 했다.

 

이렇게 하고 15:55분 쯤에 score api를 호출하니 시나리오1은 343.7점, 사나리오 2는 471.1점이 나왔다. 참고로 두 점수 결과는 요청을 보낸지 약 20분정도 후인 16:17쯤에 나왔다.

시나리오1은 결과 확인까지 요청을 약 200번 정도 보내기 때문에 3분정도 걸렸고,

시나리오2는 결과 확인까지 요청을 약 1000번 정도 보낸데다가, 중간 요청도 오래걸리기 때문에 약 15분정도 기다려야 된다.

이 기다리는 과정이 정말, 정말, 정~~말 지루하다. 화상감독도 진행중이기 때문에 딴짓도 못한다ㅋㅋ

 

이후에 조금 더 붙잡을까? 하다가 등수가 높기도 하고, 처음 경험치곤 잘했다! 싶어서 제출하고 16시 20분(마감 3시간 10분 전)에 제출하고 종료했다.

 

그러면 안되는 거였는데...

 

나중에 확인해보니까 내가 구현속도가 빨라 극초반이어서 등수가 높게 나온거였다. 아직 구현한 사람들이 많이 없었어서 그런거였고, 최종적으론 거의 최하위권 점수였다.

 

카카오 2차는 1차와 달리 정답이 정해져있는 케이스가 아니다보니 최대한 오래, 다양하게 고민해볼수록 좋은 것이라는 교훈을 얻었다.


얼마 전에 적은 나의 다짐

이렇게 해서 카카오 블라인드 코딩테스트가 끝이 나게 됐다.

 

올해 2022년에는 2차를 맛보기로 봤지만, 내년부터는 끝났다고 미리 제출하지말고 끝까지 응시해봐야겠다. 그때는 올해보다 결과가 더 좋길! 물론 그 전에 성공적으로 원하는 결과를 얻는다면 더더욱 좋겠지만 말이다 ㅎㅎ

파이썬의 편리함도 알게 됐기 때문에, 가끔씩 파이썬으로도 알고리즘 문제를 풀어보면서 연습해야겠다.

 

내년에는 카카오 면접 경험도 쌓을 수 있도록 끝까지 붙잡으면서 응시해보고, 파이썬 실력도 가다듬어봐야겠다.

 

+) 22.10.17. 추가

리더보드에 등수가 보이지 않아서 합격할 줄 전혀 몰랐는데 합격을 했다.

인프라 분야에 지원했고, 814점으로 합격했다.

지인 후기를 들어보니 인프라 뿐만 아니라 프로그래밍 분야 (웹/앱 등)도 700점대 후반 ~ 800점대는 거의 다 합격한 것 같다.

 

인프라에 대해선 아는 것이 많이 없긴 하지만, 최대한 열심히 면접 한번 봐야겠다 :)

 

 

반응형