우테코

[우테코 8기] 최종 코딩 테스트 준비 과정 & 최종 합격 후기

wldud8297 2026. 1. 23. 16:49

 

오픈미션 끝난 후 

오픈 미션을 제출하고 나서 합격자 발표까지 한달 가량의 시간이 있었다. 결과가 아직 안나왔지만, 스터디 하던 사람들과 오픈미션이 끝난 주부터 계속해서 스터디를 이어나가기로 했다. 사실 오픈미션에서 진짜 모든걸 쏟았기 때문에, 합격하겠지라는 어느정도의 자신감이 있었다. (거의 밤을 다 새서 했어서,,🥹)

 

https://github.com/woowa-precourse-study

 

우테코 8기 백엔드 스터디

우테코 8기 백엔드 지원을 준비하는 스터디 공간입니다. 우테코 8기 백엔드 스터디 has 15 repositories available. Follow their code on GitHub.

github.com

(스터디장님이 모두 정리해두신 자료이다. 감사합니다..!)

 

평일에는 각자 해당 기수 4주차 문제를 과제로 풀고, 일요일에는 스터디원들과 모여서 해당 기수의 최종 코딩 테스트를 풀었다. 오픈미션이 끝나자마자 풀면 최종 코딩테스트 전까지 3~7기까지를 1회독 할 수 있는 진도였다.

 


1차 합격 발표

1차 합격 메일을 받자마자 바로 모든 유튜브, 인스타, 노래 듣는 걸 끊었다. 매일 아침에 유튜브로 시작하고, 자기 직전까지 유튜브를 보던 사람이라 다 끊는게 쉽지는 않았다. (저 결심을 하고 나서도, 습관적으로 유튜브를 눌러서 황급히 홈에서 삭제해버렸다.) 

 

 

1차 합격자가 발표되고, 코딩 테스트까지는 10일 정도의 시간이 있었다.  조금이라도 놀면 시험을 못봤을 때 "그 시간 아껴서 기출 하나라도 더 볼걸"이라는 후회가 될까봐 전부 끊어버렸다. 안그래도 취준중에 많은 서류 탈락을 맛봤고, 이번에 정말 가고 싶었던 우테코에서만큼은 꼭 성취하고 싶었기 때문에 독하게 마음 먹어봤다. 그리고 네오님이 디스코드에 올려주신 "1만시간의 재발견"이라는 책을 도서관에서 빌려와서, 머리 식히고 싶을 때 한번씩 봤다. 

 


최종 템플릿 준비

유독 테스트에 긴장을 많이하고 약했던 편이라, 이번에는 정말 극복해보고 싶다는 생각을 했다. 머리가 멈추더라도 몸이 기억하고 움직일 수 있도록 하루에 기출 두 문제씩 풀면서 템플릿을 정리했다. 정말 사소한 거까지 전부 적어놓고, 매 기출마다 똑같이 행동할 수 있도록 연습했다. 작은 변화 하나에도 당황할 수 있기 때문에, 당일에 생각을 안해도 되게끔 계속 반복했다.

 

 

템플릿 정리는 내가 문제를 풀 순서대로 정리해두었다.

1차는 시험 시작하자마자 모두 그대로 복붙하는 파일들로 InputView,OutputView 등을 정리했고, 2차에서 각 도메인을 구체화할 때 필요한 파일들을, 3차에서 테스트 파일들을 정리하였다. 매 기출을 풀때마다 1차에서 5차까지 동일하게 행동하도록 연습했다. 또한, 템플릿이 갱신되면 다른 문제로 템플릿을 사용해보면서 최대한 범용성있게 사용할 수 있는 틀을 찾았다. 

 

 

 

기출을 풀면서 까다롭게 느꼈던 날짜, 랜덤 라이브러리, 파일 읽기, Command Pattern 등을 정리하고, 기출을 풀면서 내가 자주 했던 실수들도 트러블 슈팅으로 모두 정리해두었다.

 

템플릿을 정해두고, 최대한 많은 문제를 풀어보는 것이 좋은 것 같다. 에러를 던지고 종료하거나, 에러를 잡고 다시 입력 받거나 하는 등 문제들마다 요구사항이 다르기 때문에, 각 요구사항 별로 모두 사용이 가능하도록 템플릿을 다듬는 것이 도움이 됐다. 

 

 


1만 시간의 재발견

 

위에서도 말했듯이, 유튜브를 끊고 시간 날 때마다 "1만시간의 재발견" 책을 읽었는데, 이 책이 도움이 많이 되었다. 네오 님께서 아래와 같이 책에 대한 소개글을 적어주셔서, 코딩테스트까지 남은 시간에 최대한 의식적인 연습을 하려고 해당 책을 읽었다.

1만 시간의 재발견
의식적인 연습이 무엇이며, 의식적인 연습이 가능하도록 설계하는 방법에 대해 다룬다.

 

1. 한계에 도달하면 방법을 바꿔라

해당 책에서 기억력 향상시키는 연구에 참가한 참가자가 기억력의 한계가 올 때마다 암기하는 방법을 바꿔 한계를 돌파했다고 한다. 나도 중간에 어려운 문제를 풀고 나의 템플릿이 제대로 작동하지 않을 때, 방법을 바꾸었다. 원래 application에서 모든 코드를 적고 리팩토링을 했지만, 나중에는 도메인을 먼저 설계하고 역할을 대략적으로 나눈 후 코드를 작성하였다.

 

2. 의식적인 연습을 하고, 피드백을 받아라

책에서는 의사들로 예시를 들었는데, 의사의 경우 진단을 해도 환자에게 즉각적인 피드백을 받을 수 없어, 연차에 비례해서 실력이 향상되지 않았다고 한다. 나도 기출을 풀면서 이에 대한 피드백을 받는 과정이 중요하다고 생각해, 다 풀고나서 꼭 gpt에게 피드백을 요청했다. 피드백으로 다시 내 코드를 리팩토링하는 과정이 도움이 많이 되었다.

 

 

 


최종 코딩 테스트 전날

최종 코딩 테스트 전날에서 카페에 가서 오후 1시~6시 사이에 가장 어렵다는 편의점 기출을 풀었다. 앞에 아저씨가 계속 움직이시고 중얼거리셔서 자리를 옮길까했는데, 집중 안되는 환경에서 풀어보는 것도 연습이다 생각하고 그냥 풀었다. 계속 신경이 쓰였지만 그래도 몸이 어느정도 숙달이 되서 알아서 폴더를 만들고 코드를 작성했다. 이 경험으로 어느 정도 준비는 됐구나 싶은 생각이 들었다.

 

그리고 저녁을 먹고 나서는 8기 3주차 문제였던 로또를 다시 풀었다. 이번 기수의 문제들은 대략 4~5번은 돌렸던 것 같다. 자동차 경주와 로또가 랜덤 라이브러리를 사용했기 때문에, 랜덤 라이브러리 관련 문제들만 한번씩 훑어보고 일찍 잠에 들었다.

 

 


최종 코딩 테스트 당일

최종 코딩테스트 당일에는 12시에 바로 삼성 생명으로 향했다. 올라오니 이미 사람들이 꽤 줄서있는 상태였다. 앞에서 신분증 검사를 하고 간식을 챙겨서 시험장으로 들어갔다.

 

 

 

 

 

 

책상에는 때수건과 민트바 비누(?)가 기념품으로 있었다. 

세명이 앉을 수 있는 테이블에 세명이 붙어서 앉기 때문에 자리가 좁을 수도 있을 것 같다. 콘센트는 모두 구비되어있어서 바로 충전기를 꽂고 세팅했다.

 

 

그리고 누군가 포비님 싸인을 받았다는 소식을 듣고, 나도 바로 종이를 들고 포비님께 향했다. 종이 들고 나가니 포비님 옆에 계시던 분이 먼저 눈치채시고 포비님께 싸인해주러 가시라고 웃으면서 말하셨다. 

 

 

 


최종 코딩 테스트

오후 1시가 되고 코딩 테스트가 시작하자마자, 공지사항 안내를 해주셨다. 시험 문제가 이미 나와있기 때문에 주변에 문제를 푸시는 분들도 계셨고, 설명 들으시는 분들도 계셨던 것 같다. 기존에는 코딩테스트 5시간을 봤는데, 이번에는 코딩테스트를 4시간 보고 회고록 작성하는 시간을 따로 1시간 주신다고 하셨다. 오후 5시 이후에는 PR을 허용하지 않으니, 4시간 내로 문제를 풀어야했다.

 

안내를 다 듣고나서 문제를 봤는데, 8기 프리코스 3주차의 로또 문제와 조건만 바꿔서 그대로 나왔다. 나는 이미 로또를 5번 정도 풀었고, 전날에도 풀어봤기 때문에 기능 구현에 조급하지 않았다. 기존 문제와 거의 똑같이 내고, 회고 쓸 시간을 1시간 준다는 것을 보고, 이번에는 도전 과제와 회고록이 매우 중요하다는 생각이 들었다.

 


최종 코딩 테스트 (기본 기능 구현)

 

"기능 구현에 그치는 것이 아니라 프리코스에서 학습한 개발 방식(문제 분해, 설계, TDD)이 코드에 드러나는 것이다"라는 안내를 보고, README 작성과 테스트 코드 작성에 힘을 써야겠다는 생각이 들었다. 혹시 빠트린게 없는지 안내사항을 5번 정도 계속 읽었다.

 

그리고 이미 제공된 InputView와 OutputView를 보면서 controller에서 어떻게 값을 전달해줘야하는지 먼저 확인했다. 기출을 풀때, 도메인 Lotto를 InputView로 넘겨주기도 하고, List<Integer>로 변환해서 넘겨주는 것도 해봤기 때문에 쉽게 구현할 수 있었다. 같은 문제를 풀더라도  다양한 방법으로 풀어본 것이 도움이 되었다.

 

 

 

Readme 작성이 끝나니 오후 1시 40분정도 됐었다. 전날 이미 코드를 짜둔것이 있어서, 시간 없으면 복붙하면 되지 라는 마음으로 조급하지 않으려고 스스로를 다독였다. 그리고 README를 정말 꼼꼼하게 작성하고, README에 작성한 순서대로 커밋을 하며, 최대한 중간중간 테스트 케이스도 커밋을 했다. 

 

 

https://github.com/woowacourse-precourse/java-planetlotto-8/pull/16

 

[행성 로또] 박지영 미션 제출합니다. by ParkJiYeoung8297 · Pull Request #16 · woowacourse-precourse/java-planetlo

 

github.com

 

 

예외테스트는 작성하기 수월했는데, 랜덤 라이브러리가 있다보니 기능 테스트에서 어려움을 겪었다. 전날 랜덤 라이브러리 관련된 문제를 한번 훑었을 때, "5기 4주차 다리 건너기" 문제에서 랜덤 라이브러리를 인터페이스로 구현하고, 테스트에서 TestNumebrGenerator를 사용해 랜덤 라이브러리 값을 지정해줬던 것이 생각났고, 우선 기능 구현을 끝내고, 이것을 도전 과제로 해야겠다라고 생각했다. 

 

오후 3시정도 되자 모두 노트북을 덮고 잠깐 휴식하자고 하셨다. 노트북을 열고 있으면 닫으라고 하셨기 때문에, 종이에 구현하던거를 마저 써두고 잠시 휴식을 취했다. 쉬는 동안 포비님이 앞으로 오셔서 반드시 본인의 브랜치에서 푸쉬해야한다고 안내하셨다. 우테코 자체에서는 푸시를 막아두었기 때문에 잘 확인하고, 아직 완성이 안되어도 한번 제출하는 그 사이클을 빨리 경험해보는게 좋다고 하셨다. 그래서 휴식이 끝나자 마자 바로 제출했다. 

 

 


최종 코딩 테스트 (도전 과제)

도전과제는 이번 기수에서 새롭게 생긴 유형이다. 리팩토링과 기능 확장 중에 하나를 도전하는 과제였다.

 

나는 리팩토링을 선택했고, 아까 위에서 어려움을 겪었던 랜덤 라이브러리 테스트를 도전했다. Readme에서 관련 내용을 작성하고 최종 PR을 날렸다.


최종 코딩 테스트 (회고)

5시가 끝나고 나서는 따로 회고 작성하는 시간이 있었다. 나는 이미 작성해온 소감문이 있어서 어떻게 해야할지 난감했는데, 최종 코딩테스트때 느낀점을 작성하고, 이미 작성해둔걸 "코딩 테스트 준비 과정"이라는 소제목으로 빼서 덧붙였다. 마지막에 맞춤법 검사하다가 시간이 모잘라서 그냥 제출했다. (혹시 소감문이 궁금하시다면, 댓글 남겨주세요 ☺️)

 

 

 


최종 코딩 테스트 결과

합격 발표 당일 3시가 되기 전, 2시 58분 쯤에 오픈채팅방에서 결과 메일을 받았다고 글이 올라왔다. 나는 메일함을 확인해보니 아직 안와있었다. 3시가 되고 3시 10분까지도 메일이 안오자 진짜 가슴 타들어가면서, 아무것도 못하고 있었다. 

 

같이 시험봤던 스터디 맴버들도 모두 합격했다는 소식을 듣고 나서도, 메일이 아직 안와서 진짜 머리 부여잡으면서 메일함만 새로고침했다. 30분이 넘어가고 어느정도 채념하고 블로그 글을 작성하고 있는데 35분에 드디어 메일이 왔다. ㅠㅠ 😭

 


 

최종 합격 그 후..

 

9월 부터 시작된 선발 과정이 드디어 끝났다. 기나긴 시간동안 지치기도 했지만, 너무 간절히 가고 싶었던 우아한 테크 코스에 최종 합격하게 되서 너무 행복하다. 항상 "왜?"라는 태도를 가지고 개발을 공부할 수 있을 것 같아서 너무 기대되고 설렌다. 또한 개발에 열정적인 분들을 만나서 함께 열띤 토론을 하고 프로젝트를 할 수 있을 거 같아서 너무 좋다. 앞으로 참여하게 될 본코스도 열심히 참여해야겠다. 💪🏻

 

남은 기간동안은 지금 하고 있는 2개의 프로젝트들을 잘 마무리하는 것에 신경을 기울이려 한다. 그리고 여행도 다니면서 조금의 포상을 스스로에게 줄것이다. 본코스에 가면 다시 잘 달려야하기 때문에, 잘 쉬고 잘 마무리하고 재정비할 것이다. 😁

 

 

이 글을 읽고 우테코 관련해서 궁금한 점이 있으시다면, 댓글로 편하게 물어봐주세요. 😁