사진은 시험장 가다가 사당역에서 발견한 광고 이행시ㅋㅋㅋ.ㅋ.....
슬랙채널에 다른 분들이 올려주신 공부법을 많이 참고했다.
주로 작년, 제작년 시험을 풀어보는데 시간을 많이 투자했다.
오픈북 + 검색허용 시험인 만큼 비슷한 문제를 많이 풀어보면서 필요한 모듈을 예상하는 것이 중요하다고 생각했기 때문이다.
예전 문제와 후기를 찾아보며 깜짝 놀랐던 부분은 프리코스와 다르게 파일 입출력을 요구한다는 점이었다.
사실 파일 입출력을 너무 오랫동안 쓸 일이 없었기에 관련 내용을 완전 잊고있었다. 시험 당일엔 당황하지 않기 위해서BufferedReader
와 FileReader
에 대해 한참 찾아봤다.
텍스트코딩 테스트 중 검색, 책, 준비한 문서 모두 참고 가능합니다. (오픈북)
라는 내용이 안내사항이 포함되어있어 간단한 입출력 예시를 코드블럭채 저장해놓기도 했다.
그 외에는 프리코스를 진행하면서 이해가 많이 부족하다고 느껴지던 enum
과 stream
에 대해 공부했고, 메일로 온 피드백 문서를 다시 보며 내가 프리코스때 작성했던 코드를 리팩토링해보았다.
대충 시작 30분쯤전 시험장에 도착했는데, 이미 자리가 거의 꽉 차있었다.
조금 긴장한 상태로 들어갔는데 관계자분들이 엄~청 친절하시고 내가 좋아하는 과자가 무한 제공이라 과자 좀 먹다보니까 어느정도 긴장이 풀렸다ㅋㅋㅋㅋ....
시험 문제는 시작시간이 딱 되자마자 공개되었다.
예상했던 것과는 다르게 파일 입출력은 없었다.
정확히 말하면 파일 입출력으로도 풀 수 있었지만, 나는 더 쉬운 방법으로 푸는 것을 택했다.
위 메뉴 목록이 요구사항 안에 텍스트로 제공되었고,
나는 위와 같이 메뉴 목록을 상수 문자열로 저장한 뒤 파싱하는 방법을 택했다.
시작 직전에 왔던 메시지가 이런 선택을 하게 된 이유였다.
저 메시지 하나로 생각이 꽤 깔끔하게 정리된 느낌이었다.
기능 목록 작성과 반드시 테스트 해봐야겠다 싶은 메소드만 테스트 코드를 작성했고, 클린코드, 리팩터링은 몸에 배어있는(?) 정도만 신경썼다. 그 외는 일단 돌아가는 코드를 만드는데에 집중해서 코딩했다.
그렇게 코딩했더니 제시된 테스트코드를 통과할 정도의 프로그램은 꽤 시간적 여유가 있게 구현할 수 있었다.
나머지 시간에는 요구사항을 다시 정독하며 놓친 사항이 없는지 생각하고, 코드를 리팩토링 하는데에 사용했다.
그렇게 하다보니 이런 요구사항을 놓쳤던 것을 찾아낼 수 있었다.
내가 구현한 로직은 카테고리를 고르고 그 카테고리 안에서 추천할 메뉴를 고르는 식이었기에 이를 통째로 갈아 엎었다.
또 원래는 카테고리만 enum
으로 사용했었는데, 요일을 나타내는 enum
을 추가해주었다.
그 외에 리팩토링은 매직넘버나 출력 문자열이 직접 기입되있던 것을 상수로 바꾼 것, 너무 많은 역할을 하고 있던 메소드를 분리해낸 것 정도 했던 것 같다.
사실 이전 기수의 문제들을 풀어보면서 테스트장에서는 문제를 제 시간에 못 풀었을 것 같다는 생각을 많이 했다.
그런데 이번 문제는 제시된 테스트코드를 다 통과시킨 후 남은 시간이 꽤 많았기에, 단순히 테스트를 통과할 정도로 구현하는 난이도 자체는 좀 낮아졌나? 생각했는데 아니나 다를까...
pull request가 5시반에 열렸었고 6시가 제출 마감이었다. 그런데 5시 30분~5시 35분 사이에 제출하신 분들이 90명이 넘었다ㅋㅋㅋㅋ(참고로 이번 기수 최종 합격자는 100명!).....
이젠 정말 결과를 기다리는 일만 남았다.
프리코스부터 시작해서 길다면 길고 짧다면 짧은 2달이었다.
돌아보면 두달동안 정말 많이 성장했고, 나에 대해 많이 생각해볼 수 있던 시간이었다.
불합격한다면 물론 엄청 아쉬울 것 같고 합격해서 더 배워나갈 수 있다면 더 할 나위 없이 좋겠지만, 떨어지더라도 시작할 때 다짐했던
이런 프리코스를 진행할 수 있었던 것 같아 후회는 전혀 없을 것 같다.
최종 테스트 종료 후 토요일까지는 아직도 끝나지 않았던 팀플과 프로젝트를 진행하느라 정신없이 바빴었는데 이제는 어느정도 여유가 생겼기에 생각을 글로 정리해보았다.
솔직히 말하면 잘하시는 분들이 너무 많아서 떨어질 것 같다는 예상을 하고 있지만 또 기대를 안하고 있는 것은 절대 아니다.ㅋㅋㅋㅋㅋㅋㅋ
결과는 12월 28일.. 이 글을 쓰는 시점으로부터 이틀후에 발표된다
흑흐ㅡ그흐그ㅡ흐제발!! 붙었으면!!!! 고생했다 나야!!