0. 개발자 취업 프로세스를 이해해보자 ii)코딩테스트/과제

새파란·2020년 8월 31일
2
post-thumbnail

개발자 취직 프로세스는 회사/직군별로 다르지만, 지난 몇 개월간 다수의 기업 채용 프로세스를 진행해본 결과, 일반적으로

  • 서류 (지난글)
  • (한 번 이상의) 코딩 테스트 / 과제
  • (한 번 이상의) 기술면접
  • 임원면접 (혹은 인성 / 컬처 핏 면접)

이렇게 4가지 단계로 이루어져 있었다. 비교적 자유로운 IT 기업 특성상 꼭 4가지 단계가 다 진행되지 않는 경우도 있다. (물론 충분한 실력만 있다면 수많은 기업들이 간단한 절차와 함께 억대 연봉을 제시할 수도 있다ㅎㅎ)

역시 코딩 테스트와 과제도 회사마다 다르다.

코딩테스트/과제 이해하기

카카오, 네이버를 필두로 많은 기업들이 코딩 테스트를 시행하고 있다.

온라인 코딩 테스트

  • 말 그대로 온라인으로 진행하는 코딩 테스트이다. 우리나라 플랫폼으론 프로그래머스나 구름, 외국 플랫폼으로는 HackerRank, Codility, TestDome 등의 플랫폼을 이용한다.

  • 일반적으로 2시간 ~ 4시간 사이이며 주로 자신이 선호하는 언어를 가지고 알고리즘 문제 2~6문제를 푸는 형식이다. 주로 정보올림피아드나 백준에서 볼 수 있는 유형들이 많이 등장한다.

  • 데이터 분야 (SQL, Python Pandas 라이브러리)나 프론트엔드(Javascript 프레임워크) 직군의 경우 조금 다른 유형이 출제될 수 있다.

라이브 코딩 테스트

  • 회사의 면접관들과 함께하는 (!) 코딩 테스트이다.

  • 현장으로 직접 가서 칠판이나 A4용지에 풀이를 제시해야 하는 경우도 있으며, 직접 말로 설명하게 될 수도 있다.

  • 현장이 아니라면 구글 닥스의 빈 문서 혹은 coderpad 같은 라이브 코딩 테스트 플랫폼에서 면접관이 제시하는 문제를 풀게 된다.

과제

  • 코딩 테스트에 비해 회사별로 형식이 자유롭다. 주로 지원자가 회사에 오게 되면 하게 될 업무를 미리 제시하는 경우가 많다.

  • 백엔드 직군의 경우 보통 과제가 없었다.

  • 프론트엔드 직군의 경우 보통 웹 / 모바일 / 모바일 웹 등의 분야에서 특정 부분을 구현하는 것을 과제로 제시한다. 해당 회사에서 사용하고 있는 프레임워크 / 언어 등에 대한 능숙도/이해도를 검사한다.

  • 데이터 분야의 경우 캐글 / 데이콘 같은 방식으로 특정 문제에 대해서 모델을 만들어서 해결하는 과정을 테스트한다.

코딩테스트/과제 참고사항

  • 온라인 코딩테스트의 경우 꼭 해당 플랫폼에 익숙해지길 권한다. 왜냐하면 플랫폼마다 조금씩 차이가 있는데, 실제 시험 중에는 작은 차이 때문에 큰 실수를 하게 될 수 있다. 필자의 경우 코딩테스트 3~4일전부터 해당 사이트 예제 문제를 풀 수 있는 만큼 풀었다.
  • 입력의 경우, 입력값을 직접 읽어야 하는 경우도 있고, (상대적으로 편하게) 함수의 변수로 주는 곳도 있다.
  • 출력의 경우, print를 사용해서 해야하는 경우도 있고, 함수의 return 값으로 해야하는 경우도 있다.
  • 여러 번 제출을 할 수 있는 경우가 있고, 한 번 제출하면 다음 문제로 넘어가서 다시 돌아갈 수 없는 경우도 있다.
  • 특정 언어를 지원하지 않는 경우도 있다.
  • 사람 성격에 따라서 온라인 코딩 테스트와 라이브 코딩 테스트 결과 차이가 현저하게 날 수 있으므로, 충분히 준비를 하는 것을 권한다. 조용히 생각하면서 문제를 해결하는 것과, 너무 정적이 흐르지 않게(?) 말하며 문제를 푸는 것은 꽤 다르다.

  • 시간이 촉박한다면, 너무 어려운 알고리즘 유형를 풀려고 하지 말고 자주 나오는 유형을 복습하는게 더 좋다. 코딩테스트 사이트마다(해커랭크, 프로그래머스) 유형이 잘 정리 되어 있다.

profile
사람과 도전, 문제해결을 좋아합니다.

0개의 댓글