본문으로 바로가기

카카오페이 서버개발 과제전형 회고

category 회고 2022. 9. 23. 13:23

얼마전 우연히 카카오페이 HR측으로부터 서버개발쪽 포지션 제안을 받고 후다닥 서류를 제출했다.

다행히 서류 통과는 되었고 예상했던 과제 전형을 진행하게 되었는데... 주제는 하나의 조그마한 서비스의 API 서버를 만드는 것이었따 두둥! 

 

이전에도 과제 전형을 진행한적이 있었는데 당시에는 회사일이 바쁜 시기라 전형 포기를 했었는데, 약간 고인물(?)로 물들어가는것 같기도 하고 현 회사에서 사용한 JPA를 녹여내볼 기회라 생각해서 챌린지를 시작해보았다.

 

주제에 대해 좀 더 첨언하자면,, 커피 주문 시스템을 만드는데 필요한 API를 구현하면 되는거였다.(자세한 정보 노출은 문제가 있을것같아 생략) 오 별거 아닌데? 라고 막상 생각했는데 세부 요구사항들을 보니 눈에 띄는게 있었다.

 

- 동시성 이슈 처리

- 다수의 서버에 다수의 인스턴스에서도 기능에 문제없도록 설계

- 다량의 트래픽에도 견딜 수 있는 코드 작성

 

???? 음.. 뭐지;; 내가 경험해보지 못했던 부분들이라 일단 패스하고 기능 구현부터 집중하기로 했다.

 

프로젝트 셋업을 시작으로 하나씩 다 개발하니 생각보다 기능 구현자체만으로도 시간이 꽤 걸렸다.

막판에 쫓겨서 새벽까지 작업이 이어졌고.. 다행히 기한 내 제출할 수 있었다.

 

제출 후 몇일이 지나서 결과가 나왔는데..

 



예상했던 결과지만 막상 탈락 메일을 받으니 씁쓸한 마음은 어쩔수가 없었다 ㅎㅎㅎ ㅠ(항상 탈락 메일은 가슴을 후벼판다)

사실 결과보다는 구현햇던 비즈니스 로직 코드, JPA, 테이블 모델링 등에 대한 약간의? 피드백이라도 기대를 했었는데 결과 통보만 받았던건 좀 아쉬웠던것같다. 과제 전형에서 중도 포기하는 지원자도 꽤 있을것같은데, 피드백이라도 준다면 하고자하는 의지가 더 생기지 않을까 싶다.

 

개발하다가 약간 해맸던 이슈에 대해 생각나는걸 적어보면..

- 컴파일/런타임 에러 발생했을때 Error StackTrace를 꼼꼼히 보지않고 무작정 에러 내용 복붙해서 구글링하는 안 좋은 습관

- junit 테스트 코드 작성시 @SpringBootTest를 습관적으로 사용했었는데, webEnvironment 옵션을 사용하지 않으면 내장 서버는 실행하지 않는다는걸 알게되었다. webClient 사용하면서 알게 됌;; ㅠㅠ

- 서버 환경별로 분리해서 yml 파일 작성하는데 꽤나 많이 헤멤;;

 

기억나는건 이정도인것 같다.

 

어쨌든 이번에 과제 전형이라는걸 처음 겪어봤는데 생각보다 재밌긴했다. 개발과정에서 내가 부족한 부분들과 추후에 공부해야하는 방향성에 대해서도 감을 잡을수 있었던 경험이었다.

결과가 아쉬웠던 요인은 아마 위 세가지(동시성, 다수 서버 케이스, 다량 트래픽)를 고려하지 않았던 게 컸던 것 같다. 주니어를 벗어나는 이 시점에서 이제 대규모 시스템을 고려하는 설계 방식에 대해 공부할 때가 왔다.

 

끄읕~