BE 우아한 테크코스 6기 최종 코딩 테스트 후기

지송·2023년 12월 20일
0

안녕하세요! 프리코스 리뷰 글 이후로 또 들고 오는 길이 최종 코딩 테스트 글이라 기쁘네요
사실 최종 코테 후기는 합격 당락이 결정되고 작성할까 고민하다가
그때의 기분이 다 가시기 전에 작성하고 싶어서 작성해 봅니다... ㅎㅎ
지금은 결과만을 기다리고 있는 상태예요
굉장히 떨리고 매일매일이 기다려집니다
만약 내가 우테코 6기에 참여하게 된다면 어떻게 할지,
참여하지 못하게 된다면 이후 계획은 어떻게 할지 또 탈락한 이유가 무엇일지 생각해 보고 있어요

글은 크게 세 단락으로 나누어 작성할게요!

  1. 최종 코딩 테스트 준비
  2. 최종 코딩 테스트 시작
  3. 최종 코딩 테스트 리뷰

으로 나누어 작성해 볼까 싶습니다
최대한 제가 궁금했던 내용 위주로 담아 볼게요!

1. 최종 코딩 테스트 준비 과정

최종 코테 결과가 나오고 거의 모든 시간을 최종 코테 준비에 쏟아부었는데
사실상 5일 남짓한 시간은 기존 프리코스 및 최종 코테 문제를 풀었습니다!
페어 매칭 문제가 너어무 어려웠어서 다들 시간 제한을 두고 풀어보신다면
웬만한 최종 코테 문제는 무섭지 않을 거라 생각합니다

사실 저는 프리코스 기간 동안 시간 제한을 두지 않고 풀었어서
최종 코테 메일을 처음 받고 가장 먼저 든 생각은
'내가 다섯 시간 안에 풀 수 있을까?' 였어요
그래서 다섯 시간 제한을 두고 프리코스 때와 동일한 순서로 문제를 풀어보았는데
(프리코스 진행 순서는 이전 리뷰에서 상세히 작성하였습니다!)
시간이 아슬아슬하더라고요

프리코스 시기에는 블로그 글 작성, 코드 구조에 대한 끊임없는 고민, 리드미부터 구조까지 내가 고려하고 있는 부분들을 잘 해결해내기를 중점으로
고민하고 또 고민하고 적어서 시간이 꽤 걸렸었어요

그래서 최종 코테에 대한 저의 계획은
테스트 코드를 작성하지 말자! 리드미도 요구사항만 분석하고 플로우 차트는 그리지 말자!
였습니다

또한 여러 문제를 풀면서 제가 주로 사용하는 사이트, 코드를 미리 준비해서 띄워두고 시작했어요

2. 최종 코딩 테스트 시작

당일 열두 시에 이렇게 메일이 도착했습니다
저는 안 돌아가는 프로그램보다 돌아가는 쓰레기를 만들어도 괜찮다는 조언을 새기고자 결심했는데
더더 좋은 구조의 코드를 만들려고 했다가 시간 초과가 되는 경험을 지난 연습 과정에서 터득했거든요....

혹시나 다음 기수의 최종 코테 응시자분이 제 글을 보게 된다면
일단 돌아가게 짜고
리팩토링 하고
테스트 코드 작성하고
순서로 진행하시면 좋을 것 같습니다

당일 1시 시작, 12시부터 입실 가능이었는데 11시 50분 넘어 도착하니 아직 문이 열리지 않아서 복도에 응시자분들이 굉장히 많으셨어요
제가 타지 사람이었어서 혹시나 하는 맘에 일찍일찍 도착하였는데
대기 공간이 꽤나 협소에서 12시에서 12시 10분 사이에 오시면 안정감 있게 오실 수 있을 것 같아요

12시부터 입실을 시작하였는데 신분증으로 출석 체크를 한 후
굿즈를 챙겨 주셨어요! 사진은 없지만 펜과 스티커 세트였습니다
공용 공간 쪽에 물과 다과들도 있고
시험 중에도 원활한 이용이 가능해서 다들 당 떨어짐 걱정은 안 해도 됩니다!
화장실도 자유롭게 이동 가능해요 ㅎㅎ
시험 당일 정신이 없어서 사진을 제대로 남기지 못했는데 아쉽네요
제가 최종 합격해서 다시 방문하고 싶... 어요...

강의실은 두 개가 있었는데 큰 방부터 채우시는 것 같았어요!
아는 사이의 경우에는 원칙적으로 다른 방을 사용하게 하시더라고요
저는 BE이고 선릉 캠퍼스를 이용했는데 여러 후기를 보니
선릉에는 BE AOS 분들이 계셨는 것 같습니다
BE 분들이 잠실 캠퍼스 간 후기도 있는 것 봐서는
아마 랜덤이.... 아닐까 싶네요?!

착석하면 자리는 무조건 한 칸 (옆자리에 가방 두기 안 됨) 멀티탭도 한 칸만 사용할 수 있어요
저는 부족하거나 자리가 너무 좁아서 불편하다 느끼지는 않았어요
노트북 거치대나 키보드까지 구비해 오신 분들도 많으셔서 다들 편하게 챙겨오셔도 돼요!
너무 소음이 크지만 않으면 괜찮다고 하셨습니당

입실하고 와이파이 연결 문제로 30분정도 시험이 지연됐어요
돌아가는 기차를 넉넉하게 잡아둬서 걱정 없이 다섯 시간동안 시험을 치를 수 있었습니다
보통 간단한 토크 시간도 있다고 후기에서 봤는데
와이파이 연결 문제가 너무 강력했던 탓인지... 바로 시험에 들어갔어요!

3. 최종 코딩 테스트 후기

https://github.com/woowacourse-precourse/java-oncall-6

해당 문제로 진행하였습니다

생각보다 쉬운 문제라 조금 안심했어요
하지만 기준은 페어 매칭이라는 점....
결론은 페어 매칭보다는 쉬운 문제였습니다!

저는
30분 요구사항 분석 및 설계
3시간 30분 구현
30분 리팩토링 및 테스트 코드 작성
30분 최종 점검 및 제출
이렇게 시간을 사용해서 총 5시간을 꽉꽉 채웠어요

조급한 마음이 들면 요구사항을 자칫 놓칠 수도 있고
또 이번 최종 코테에서는 특별 요구사항이 있기 때문에 꼼꼼히 읽으라는 공지가 있었어서
찬찬히 아는 거라도 한 번 더 읽고 넘어갔습니다

사실 작성하는 동안 enum을 도입하고 싶은 부분이 있었는데
작성하는 초입에 실수의 여지가 보여서 바로 바꾸었어요
enum은 일부 도입하였습니다
enum 작성에 대해 공부하고 작성도 해 보았는데 역시나 아직 어렵네요

또한 리팩토링 때 마지막까지 고민한 함수가 있는데 끝내 아쉬움이 남았거든요
초반의 코드보다는 확실히 마음에 드는 리팩토링이었지만!
다시 생각해 보니 특정 자료구조만 도입하면 되는 부분이라 아쉽습니다

코드를 다 작성했는데 원하는 결과가 나오지 않아서 진짜 당황스럽더라고요
바로 정신을 다잡고 코드를 fix하여 제출하였습니다
가볍게 잡히는 오류였어서 정말 다행이에요

그리고 하나 더! 제 로컬 test랑 제출한 web의 테스트 결과가
OS에 따른 개행문자 처리로 인해 서로 상반되는 결과를 보였습니다
로컬에서는 라인 바꿈을 \r\n로 해야 통과하는데
웹 제출에서는 \n로 해야 통과되더라고요
서치해 봐도 OS마다 다르게 처리한다고 작성되어 있어서 고민이 들었어요

어느 기준으로 해야 할지 고민하다가 문의를 드렸는데 형평성 문제가 있기 때문에 문제를 꼼꼼히 읽고 알아서 판단하여 구현하시는 게 좋을 것 같다는 대답을 해 주셨어요
그 말씀에 감사하게도 힌트를 얻어서 테스트 코드에 작성 되어 있는
line.separator로 개행해 주었습니다
정말 생각이 번뜩! 떠올라서 다행입니다...

테스트 코드의 경우 모두 작성하지는 못했지만 어느 정도 원하는 기능은 다 테스트하였고
리팩토링도 그 당시에는 원하는 부분을 다 해결해 뿌듯했습니다

아주 아쉬움이 없다고는 말 못하겠지만 적어도 후회 없는 테스트를 치르고 나왔다고 생각해요
사실... 적어도 작동한다는 것만으로 얼마나 기뻤는지 몰라요

이제 저는 결과를 기다리고 있습니다
간절하게 기다리고 있는데 우테코 6기 분들을 캠퍼스에서 뵙고 싶어요
정말정말! ㅠㅠ

작성하고자 했던 내용은 다 작성하였는데 혹시 궁금증 있으면 댓글 남겨 주세요
다들 수고하셨습니다 ^_^

profile
💻 늘 공부하고 발전하는 개발자

0개의 댓글