마이의 개발 블로그

시리즈A 스타트업 코딩테스트 후기 본문

생각들

시리즈A 스타트업 코딩테스트 후기

개발자마이 2023. 9. 2. 04:16
반응형

배경

본격적으로 구직을 하며 서류탈락을 종종 경험하던 와중에 코딩테스트 기회를 부여받아 응시하게 되었다. 여기도 사실 내가 서류 탈락을 이미 당한 기업이었는데, 인사팀과 연락하는 과정에서 감사하게도 테스트 기회를 부여받을 수 있었다. 생각해보니 인생 첫 코딩테스트다. 이 테스트는 한 번도 사용해본적 없는 구름LEVEL에서 진행되었고, IDE에 적응할 겸 며칠간 구름LEVEL에서 문제를 40개정도 풀어보고 시험에 응시했다. 네 시간, 네 문제가 주어졌고 당연히 시간보다 빨리 풀고 야식 먹을 생각을 하고 있었는데 시간을 꽉 채우고도 원하는 만큼의 결과를 얻지 못했다.

테스트 내용

부여받은 네 개의 문제는 아래와 같다. 아직 공고 중인 기업이라 지금 시점에 자세하게 작성하기는 어렵고 대략적인 아웃라인만 적어본다:

1. 문자열 - 일부 통과, 나머지 런타임 에러
- 주어진 텍스트 본문에 포함된 특수한 문자열을 1) 식별하여, 2) 주어진 규칙에 따라 가공한 뒤, 3) 기존 자리에 대체를 하되, 4) 정렬된 상태로(변형된 순서대로) 삽입해야 하는 문제
- 정규식 내에서의 대괄호 처리가 원래 알던대로 동작하지 않아 애를 먹었고, 여기서 시간을 많이 소요함
- 문자열을 저장하고 가공하는 과정에서 여러 자료구조가 필요했음
- 테스트는 통과했으나 제출 시 도저히 감이 잡히지 않는 런타임 에러가 발생하여 잡을 수가 없었음

- 쉽게 봤는데 완벽하게 못풀어내서 너무 아까웠던 문제
- 체감난이도: 프로그래머스 레벨 2

2. 유효성검사 - 통과
- 주어진 규칙에 따라 유효성 검사 로직을 만들고, 수행 후 검사 수행 결과를 P/F로 표기하는 문제
- 보조 규칙이 있다는 걸 뒤늦게 알아 통과 안 되던 테케 해결
- 체감난이도: 프로그래머스 레벨 1

3. SQL - 실패
- 세 개의 테이블을 가지고 지문에서 원하는 대로 가공하여 결과값을 보여주는 문제

- 그룹, 랭크, 조인, 정렬, 서브쿼리 등 골고루 사용함
- 일단 작성하여 결과값을 뽑아내기는 했으나 테스트케이스를 제공해주지 않아 뭐가 틀렸는지 아예 파악할 수 없었음
- 체감난이도: 프로그래머스 레벨 4~5

4. BFS - 실패
- 노드 간의 네트워크 정보가 주어질 때, 각 노드에서 모든 노드를 돌아 자기 자신에게 오기까지의 최소값의 평균을 구하는 문제
- 처음에 모든 노드를 순회해야한다는 생각에 DFS 구현 시도, 여기서 시간 많이 날려먹음
- 모든 경우의 수에 대해 각각의 최소값을 구하는 문제라는 걸 깨닫고 BFS로 선회했으나 결국 BFS 로직 작성 중에 시험이 종료됨
- 체감난이도: 프로그래머스 레벨 3

소감

조금 아깝다. 1, 3번은 무조건 맞출거라고 생각했는데 쉽게봤다가 시간 많이 날려먹은 것도 아쉽고, 특히나 아예 시도를 못한 것도 아니고 방향을 잘못 잡아 4번을 끝까지 작성 못한 건 계속 기억에 남을 것 같다. 테스트 직전에도 BFS문제 하나 풀고 들어갔는데... 코딩테스트 기한이 7일이여서 아직 2일정도는 더 공부하고 볼 수도 있었으나 이날만큼 집중할 수 있는 최적의 날이 이후에는 없었다. 그리고 아마 좀 더 있다가 응시했다고 하더라도 결과가 운에 좌우되는 정도가 아니였을까 싶다. 쉽거나 적당한 난이도의 문제를 압도적으로 풀어내기엔 아직 내 코딩테스트 능력이 미완성이다보니 나온 결과이므로 아쉽긴 해도 후회하지는 않는다.

Note

1. 문제 구조화하는 단계를 조금 더 세분화해야겠다.

2. 프로그래머스에 남은 문제들 다 풀어야겠다.

3. 역시나 프로그래머스가 여러모로 편리하다.

4. 성장이 더디긴 하지만 실력이 조금씩 늘고있기는 한가보다.

반응형
Comments