우아한 테크코스 5기 최종 코딩테스트 후기
우아한 테크코스를 프리코스부터 최종 코딩테스트까지 겪으며 정말 많은 것을 배웠고 많은 감정을 느꼈다.
내 인생에 너무나도 도움이 된 소중한 시간이었다고 느껴졌기 때문에
이 감정을 회고를 통해 글로 남겨 당시의 감정과 상황을 항상 기억하고 살아가고자 포스팅을 하게 되었다.
⭐️ 우아한 테크코스 1차 합격 ⭐️
프리코스가 종료되고 얼마 후, 최종 코딩테스트를 보러갈 권한을 얻었다는 메일을 받게 되었다.
거의 2000명 가까이 되는 지원자들 중 200명 정도 선발되는 1차를 통과했다는 사실에 기쁨이 몰려왔지만
최종 테스트에선 7일 동안 구현하던 문제를 5시간 안에 풀어야한다는 사실 때문에 설렘 반 긴장 반으로 마음이 들떴다.
당시 기간이 겹쳐 있던 대학 기말고사와 최종 코딩 테스트 모두 좋은 결과를 얻고 싶다는 마음에 정말 모든 것을 불태우며 열심히 준비했다.
📚 최종 코딩 테스트 - 준비 과정
최종 코딩 테스트는 우리가 풀어왔던 프리코스 문제와 비슷하다고 안내를 받았지만
결코 쉽지만은 않을 거라는 생각과 만만하게 봐선 안된다는 생각에 정말 열심히 준비했다.
1. 템플릿 만들기
우선 어떤 문제를 풀던 꼭 필요할 것이라고 판단한 것들을 준비하기로 하였다.
보통 문제를 풀 때 항상 필요한 것들은 아래와 같았다.
1. 기능 구현 문서
2. 출력 클래스
3. 예외 발생 시, 반복시키는 로직
때문에 이들을 만들어가고자 하였다.
오픈북 테스트에 준비할 수 있는 것들은 준비해갈 수 있다는 안내를 받아서 가능했다.
기능 구현 문서는 어떻게 기능을 구현할 지 순차적으로 정리하고 지속적으로 업데이트 시키며 개발 상태를 체크하는 문서이다.
이는 항상 똑같은 형태로 만들어지기 때문에 내가 알아보기 편한 형태의 md파일 템플릿을 준비하여 현장에서 사용하였다.
출력 클래스는 프리코스를 진행할 때 항상 필수적으로 사용하던 출력 메서드를 미리 구현해놓고 현장에서 사용하였다.
덕분에 기본적인 메서드 구현은 생략하고 들어갈 수 있었다.
2. 과거 문제 풀어보기
두 번째는 과거 문제를 풀어보는 준비 방법이었다.
프리코스에서 진행했던 문제들과 비슷한 난이도라고 안내받았기 때문에
3기~5기의 프리코스 문제, 최종 테스트 문제 들을 풀어보고자 하였다.
깃 레포를 만들어 학습 내용들을 기록하며 준비하였다.
최종 코딩 테스트가 5시간이라는 시간 제한이 있기 때문에 모든 문제를 5시간 타이머를 맞춰두고 해결하였다.
위처럼 깃에 문제를 풀고 정리해두었다.
문제를 풀면서 많은 감정을 느꼈다.
프리코스를 처음 시작할 땐 분명 아무것도 모르는 나였다.
사실 1차에 합격할 거라는 자신감도 없었고 Lotto문제를 풀 때엔 정말 포기하고 싶었다.
하지만 최종 코딩 테스트를 준비하고 있고 모든 문제를 4시간 이내로 풀어낼 수 있게 된 나를 발견하고선 너무 감격스러웠다.
프리코스만 경험해도 정말 많은 경험을 할 수 있다고들 하는데 그 말은 사실이었다.
서버 개발 시에만 사용하던 MVC 디자인 패턴을 일반 프로그램 개발 시에도 적용할 수 있을 정도로 깊이 있게 이해하였고,
도메인 분리, 메서드가 하나의 역할만 수행하도록 구현하는 등 객체지향적 개발에 대해 많은 것을 배웠다.
✏️ 최종 코딩 테스트 - 시험
바쁜 삶을 살며 열심히 준비하고 나니 시험 당일이 되었다.
같이 합격하여 함께 열심히 준비한 친형과 아침 일찍 집을 나서 송파에 도착하였다.
역에서 나오자마자 바로 보인 것이 배달의 민족 큰집이었다.
긴장 안하고 갔는데 저걸 보자마자 심장이 요동치기 시작했다..
존경하던 우상을 만난 기분과 시험에 대한 긴장 등 만감이 교차하는 순간이었다.
일찍 왔기 때문에 여유롭게 식사를 할 시간이 있어 근처 식당에서 식사를 하고 시험장으로 이동했다.
백엔드 분야의 시험장은 작은집이었기 때문에 친형과 찢어져 작은집으로 향했다.
그렇게 도착한 우아한 형제들 작은집!
내부는 신기한게 많았다! 사진에 보이는 것은 커피 머신이었던 것 같은데 작동은 되지 않았지만 참 신기했다.
대충 구경만 하고 바로 시험장으로 들어갔다.
시험장에 들어오니 직원분들이 맞아주시며 기념품을 주셨다.
진짜 너무 귀엽고 웃겨서 이거 보고 긴장이 확 풀렸다.
시험 직전이라 긴장을 풀기 위해 질문을 하거나 눈을 감고 마인드 컨트롤을 하며 시작 전까지 시간을 보냈다.
시험 문제
시험 문제는 위의 문제였다.
점심 메뉴를 추천해주는 알고리즘이었는데 해볼만할 것 같다는 생각에 자신감을 얻어 열심히 구현하였다.
준비해온 템플릿과 여태껏 공부하며 배운 것들을 모두 사용하여 문제를 풀어나갔다.
구현 방식
구현은 위 사진처럼 하였다.
기본적인 MVC의 구조대로 Model View Controller로 나눈 뒤
Service, Repository 클래스를 더하여 구현하였다.
Repository 클래스는 DAO와 같은 역할을 한다.
DB 대신 Data를 저장하는 List를 만들었으며,
실제 DAO 객체처럼 값을 CRUD 처리할 수 있는 메서드를 구현하였다.
테스트 오류
기능을 거의 다 구현한 것은 시험 종료 2시간 반 전이었다.
하지만 문제는 이때 발생하였다.
직접 프로그램을 돌려 출력된 결과를 확인하였을 때에는 아무 문제가 없어보였지만
우테코에서 제공한 테스트 코드를 돌리면 값이 다르게 나오며 계속해서 오류 메시지가 출력되었다.
남은 2시간 반동안 이 문제를 해결하기 위해 노력하였지만 결국 테스트 코드를 통과하지 못한 체로
최종 코딩 테스트를 마무리하게 되었다.
시험 후기
테스트 코드가 실패하면 0점 처리라는 규칙이 있었기 때문에 우아한 테크코스 합격은 거의 포기한 상태로 집에 돌아왔다.
하지만 너무나도 많은 것들을 배운 뜻깊은 시간들이었기에 좌절은 하지 않았다.
프리코스를 진행하던 4주, 그리고 최종 테스트를 준비하던 1주일 남짓의 기간동안 개발에 깊이 빠져들 수 있었고
객체지향에 대해 다시 한 번 이해할 수 있었다.
아쉽게도 본과정에는 함께 가지 못하고, 탈락하였지만 이미 나는 성장했다는 것에 의의를 두기로 하였다.
5주 가까이 되는 이 시간이 너무나도 감사했다.
또한 1800명 중 200명 안에 들어, 최종 테스트를 보러 다녀왔다는 사실이 자랑스럽다!
우테코 과정을 통해 얻은 것을 바탕으로 1년간 온 힘을 다해 성장하고,
내년 꼭 우테코에 합격하여 성장한 나를 증명해낼 생각이다.
그때까지 얼마나 발전해있을 지 기대되기도 하고, 불안하기도 하지만
난 인생 1회차 응애니까 걱정할 시간에 앞만 보고 전진해보겠다.
다들 고민할 시간에 무언가에 도전하고 경험해볼 것을 권하며 글을 마무리한다!😁
'부트캠프 > 우아한테크코스 5기 프리코스' 카테고리의 다른 글
[우테코 5기] 프리코스 4주차 회고록 (2) | 2022.12.24 |
---|---|
[우테코 5기] 프리코스 3주차 회고록 (2) | 2022.11.22 |
[우테코 5기] 프리코스 2주차 회고록 (1) | 2022.11.20 |
[우테코 5기] 프리코스 1주차 회고록 (0) | 2022.11.09 |