1차 합격 (12월 14일)
1차 심사는 지원서와 프리코스를 기반으로 심사한다고 한다.
운이 좋게도 우테코 1차에 합격해 최종 코딩테스트를 볼 수 있는 기회를 얻게 되었다.
발목을 삐끗해 합격 발표날 병원에 있었는데 진료를 받다 합격 메일을 확인했다.
합격 후 가장 큰 문제는 최종 코딩 테스트였다.
아래 일정을 확인하면 프리코스 종료일과 1차 합격자 발표 기간이 꽤 차이 나는 것을 볼 수 있다.
그리고 1차 합격 발표 3일 후가 바로 최종 코딩 테스트였다.
그래서 합격·불합격 여부와 상관없이 합격을 대비해 최종 코딩 테스트 연습을 진행했다.
진행하면 진행할수록 1차 합격 못 하면 울어버릴테다라는 생각만 가득 찬 상태로 연습했다.
(당시엔 합격·불합격 여부를 알지 못했기에)
최종 코딩 테스트 준비 (11월 23일 ~ 12월 16일)
프리코스를 마치고 최종 코딩 테스트까지 주어진 시간은 약 3주였다.
해당 기간동안 프리코스에서 진행한 미션에 대한 감을 잃지 않고 더 빨리 미션을 수행할 수 있도록 연습을 진행했다.
이번 프리코스에서 진행한 미션들도 한 번씩 더 풀어보았으며, 이전 기수들에 대한 프리코스 문제들까지 최대한 풀어보려 노력했다.
- 1기와 2기의 경우 미션 설명이 따로 없어 풀어보지 않았다.
프리코스 종료 안내 메일에 "최종 코딩 테스트는 2주 차 ~ 4주 차 미션과 같은 유형의 문제가 출제됩니다."라고 작성되어 있었기에 난이도는 이번 프리코스 미션들과 비슷할 것이라 예상했다.
하지만 프리코스와 최종 코딩 테스트의 차이는 바로 시간이었다.
일주일간 천천히 생각해 보며 수행하는 프리코스 미션과는 다르게
최종 코딩 테스트는 5시간 동안 할 수 있는 한 최대로 능력을 발휘해 미션을 수행해야만 했다.
그래서 3주간의 미션 연습은 모두 5시간 타이머를 맞추어 어느 정도까지 내가 구현할 수 있는지 확인했다.
만약 5시간 내로 구현을 완성하지 못했다면 어떤 점 때문인지 고민해 보았다.
이를 통해 미션을 더 빨리 진행하기 위해 미리 준비해 두어야 하는 것들에 대해 생각하고 준비해 두었다.
나는 미션 체크리스트 노션과 MVC 패턴 적용을 위한 패키지 및 클래스 형식 템플릿을 준비해 두었다.
이를 통해 실수하는 일을 최대한 줄이고 더 빠르게 미션을 이해할 수 있도록 했다.
코로나 확진으로 인한 온라인 코딩테스트 진행
최종 코딩 테스트를 하루 앞두고 어김없이 미션 연습을 하고 있었다.
그런데 밤이 될수록 컨디션이 안 좋아지면서 열이 끓었다.
내가 기억하는 순간 중 가장 열이 많이 오른 듯 싶다.
뭔가 잘못됨을 느끼고 자가검사키트를 통해 확인해 보니 아니나 다를까 코로나 확진의 두 줄이 떴다.
이미 엄마가 확진이었는데 증상이 별로 없어 모르고 넘어가 그 뒤로 가족들이 줄줄이 확진되었다.
아무튼 이러한 이유로 오프라인 시험을 응시할 수 없게 되었다.
다행히도 코로나 확진자에 대해 온라인으로 진행할 수 있도록 안내되어 있었다.
다만, 보건소에서의 확진 결과는 다음날에 문자로 전달되기 때문에 미리 연락해 다음 날 확진 인증할 수 있도록 양해를 구했다.
다행히도 온라인 응시를 볼 수 있도록 바로 도와주셨다.
일요일에 확진 통지 및 격리 문자가 와 바로 인증 메일을 보냈다.
최종 코딩 테스트를 우아한형제들 작은집에서 진행했는데 온라인으로 응시하게 되는 바람에 갈 수 없어 아쉬웠다.
미션 종료 후 슬랙을 확인하니 몇 가지 배민 굿즈도 받았다고 한다. (뭔가 속상)
저도 주세요…
최종 코딩 테스트 (12월 17일 1시 ~ 6시)
1. 온라인 참여
온라인의 경우 메일로 추가적인 안내가 오며 온라인 테스트 준비 가이드와 함께 실시간으로 감독할 수 있는 Zoom 링크를 전달받았다.
학교에서 오픈북이 아닌 온라인 시험을 볼 때처럼 카메라에 나와 내 노트북이 보이도록 세팅해 시험을 진행했다.
슬랙 메신저에도 온라인 참여자들을 모아 감독관 분께서 해줘야 하는 공지를 전달해 주셨다.
생각보다 온라인 환경의 시험이 체계적으로 잘 되어 있어 큰 무리 없이 테스트를 응시할 수 있었다.
온라인으로 응시하신 분이 나 말고 한 분 더 계셨는데 그분도 잘되셨기를 바란다.
왠지 모를 동질감…
2. 최종 코딩 테스트 과정
최종 미션 깃허브 링크와 진행 방식, 미션 제출 및 기준 등에 대해서 이전 미션들과 동일하게 메일로 전달되어 왔다.
기존에 전달받은 대로 1시부터 6시까지, 5시간 동안 요구사항에 부합하는 프로그램을 완성해야 하는 미션이었다.
최종 코딩 테스트 미션 : 점심 메뉴 추천
노션에 정리해 둔 체크 리스트를 따라 미션 흐름을 통한 미션 이해, 기능에 따른 분류 및 패키지 분류를 진행했다.
그리고 빠르게 완성할 수 있는 기능들부터 차례로 진행했다.
미션을 모두 완성했을 때 시간은 3시간 30분에서 4시간 정도가 지나있는 상태였다.
사실 바보 같은 실수를 할뻔 했는데 제공된 테스트 코드를 통해 바로잡을 수 있었다.
나머지 시간은 리팩토링과 테스트 코드 작성을 위해 수행했다.
리팩토링을 통해 자바 코드 컨벤션 가이드를 준수할 수 있도록 했다.
코드를 처음에 작성할 때부터 최대한 기억나는 컨벤션 가이드 내용을 준수할 수 있도록 신경 써서 리팩토링 내용은 크게 없었다.
테스트 코드를 작성하려고 했을 때 1시간이 좀 안 되게 남은 상태였다.
이때부터는 클래스별로 최대한 많은 테스트 코드를 작성하기 위해 노력했다.
모든 클래스에 대해 작성하는 것은 실패했지만 그래도 최대한 많이 진행하려 했다.
마지막으로 미션을 우테코 지원 사이트에 제출하는 것이다.
PR 링크와 미리 준비한 느낀 점을 제출함으로써 미션이 끝났다.
3. 최종 코딩 테스트 후기
생각보다 미션은 어렵지 않았다.
미션의 요구사항들을 빠르게 이해할 수 있었으며, 프리코스에서 했던 내용들의 총집합 같았다.
지난 기수들의 최종 미션들은 프리코스 내용에 무언가 새로운 요구 사항이 추가되었었다.
하지만 이번 최종 코딩 테스트는 완전히 새로운 요구 사항은 따로 없었다.
실제로 미션 종료 후 한 지원자 분께서 테스트 코드를 통과한 인원을 체크할 수 있는 프로그램을 제작해 확인한 결과
약 200명 중 150명이 정도의 인원이 통과를 했다고 한다. (참고로 지난 미션은 약 140명 중 약 50명 정도라고 한다)
그만큼 이번 미션은 많은 인원이 주어진 시간 내에 프로그램을 완성했다는 것을 알 수 있다.
그래서 프로그램을 완성하는 데 성공했음에도 최종 결과에 대해서 불안함을 안게 되었다.
그래도 다행히 테스트 당일은 코로나 증상이 심하지 않은 상태로 응시할 수 있었다.
전날 밤에 몸이 너무 아파 1시간마다 깨는 바람에 제대로 잠을 자지 못했다.
그래서 테스트 응시에 있어 많은 걱정을 했는데, 막상 테스트 시간이 되니 생각보다 정상적인 상태가 되었다.
대신 테스트가 끝나자마자 골골거리게 되었지만…
미션 수행 시 주의한 점
- 미션 구현 기능 목록 작성 짧게 생각하기
연습하며 느낀 점은 내가 처음에 미션 흐름과 기능 목록을 작성하는 데 너무 오래 생각한다는 점이었다.
그래서 나중에 많이 바뀌더라도 프로그램 흐름에 대해서 작성해 보며 미션에서 꼭 수행해야 하는 기능과 요구사항들을 살펴보았다.
그리고 패키지별로 필요하나 클래스를 작성해 각 클래스에서 수행해야 할 기능 목록을 작성했다.
개인적으로 문제가 지난 기수의 최종 코딩 테스트에 비해 쉽다고 느껴 좀 더 빠르게 수행할 수 있었다. - 커밋 기능 단위로 수행하기
“안 돌아가는 프로그램보다 돌아가는 쓰레기를 만들어도 괜찮다."
최종 코딩 테스트 안내 메일에서 가장 인상 깊었던 문구다.
이번 미션은 주어진 시간 내에 진행해야 하는 미션인 만큼
코드의 가독성, 기능별 커밋보단 프로그램이 테스트 코드를 통과했는지 여부가 더 중요하다.
하지만, 연습을 통해 내 미션 성공률을 확인해 본 결과
커밋과 상관없이 어려운 문제는 5시간 내에 반정도밖에 풀지 못했다.
그리고 프로그램의 흐름이 바로 보이는 미션은 5시간 내에 구현자체는 여유롭게 프로그램을 완성할 수 있었다.
또한, 이미 단위별로 커밋하는 것이 너무 익숙해져 버렸다…
그래서 프로그램 요구 사항이 어렵든 쉽든 기능 단위로 커밋하는 것이 내게 유리하다 판단했다.
또한, 시간이 중요한 만큼 대부분 커밋은 크게 신경 쓰지 못할 것이라 생각하기도 했기 때문이다.
다만, 테스트코드는 프리코스에서는 코드를 짜면서 하려고 노력했지만 최종 코딩 테스트에서는 기능 구현이 우선이라 생각해 가장 마지막에 진행했다.
그래서 테스트코드는 작성하다 제출당해 버렸다.
물론 아직 많이 부족하기에 좋은 프로그램은 만들지는 못해 돌아가는 쓰레기지만, 프리코스에서 배운 내용들을 적용하려 노력했다.
단위별 커밋, 자바 코딩 컨벤션 적용, 테스트 코드 작성 등 제한된 시간 내에 내가 할 수 있는 부분들에 대해 최선을 다했다.
'우아한테크코스' 카테고리의 다른 글
[우테코] 우아한테크코스 5기 최종 합격 (0) | 2023.02.05 |
---|---|
[우테코] 우아한테크코스 5기 서류 지원부터 프리코스까지 (2) | 2023.02.03 |
댓글