지원했던 회사 중 6개의 회사에서 온라인 코딩 테스트를 했습니다. 전화로 테크니컬 인터뷰를 어차피 할 텐데 미리 걸러내고 싶은가 봅니다. 테스트 플랫폼은 대부분 자동으로 테스트 케이스 확인해 주고, 정확도와 시간/공간 복잡도까지 계산해서 보고서를 보여줍니다. 전화와 구글닥으로 테크니컬 인터뷰 하던 시대에 비하면 시간과 돈을 엄청 돈을 줄여줄 수 있습니다.
지원자 입장에서는 하나의 관문을 더 거쳐야 하기 때문에 귀찮은 존재입니다. 6개의 회사 중 1개의 회사는 떨어졌습니다. 떨어진 1개 회사는 한 번 일해보고 싶은 회사였는데 많은 아쉬움이 남습니다.
테스트 플랫폼
제가 경험해본 플랫폼은 hackerrank, glider.ai, codility 입니다. 원하는 언어는 자유롭게 선택이 가능했습니다. 주로 자바를 선택했고, 웹 페이지 구현 문제에서만 JavaScript, HTML, CSS를 사용했습니다.
온라인 테스트는 이메일로 초대장이 옵니다. 1-2주 안에 문제를 풀어서 보내면 됩니다. 기간은 충분하지만, 대부분 3일 안에 풀어서 보냈습니다.
초대장을 받고 사이트에 가보면 보통 연습용으로 1-2문제를 풀 수 있게 해줍니다. 제 기억에 난이도는 연습 문제와 비슷했습니다. 평소에 leetcode.com에서 문제 풀어보시면 많은 도움이 될 겁니다.
문제가 나오면 당황하지 않고 문제를 풀면 끝!
온라인으로 풀어야 하기 때문에 인터넷에 접속해 있어야 합니다. 부정행위 방지를 위해서인지 화면 녹화 플러그인을 설치하는 경우도 있었습니다.
플랫폼에서 가능한 멤버 함수 이름을 보여주기 때문에 특별히 인터넷 검색을 할 필요는 없었습니다. 디버깅은 프로그래머의 동반자 System.out.printf와 console.log로 하면 됩니다.
문제 유형
1-3 문제를 2-3시간안에 풀어야 합니다. 대부분 시간은 충분했습니다. 아이들 다 재우고 10-11시 쯤 시작을 해서 12시-1시에 보통 제출을 했습니다. 토요일 밤에 술 한 잔 걸치고 한 적도 있었네요.
대부분은 주어진 입력, 출력, 제약 사항에 맞게 함수를 구현하는 것이었습니다. 간혹 주어진 코드의 실행 결과, 시간 복잡도, 용어 등을 물어보는 객관식도 있었습니다. front-end에 지원한 곳은 HTML 페이지 구현 문제를 냈습니다. 페이지 크기와 상관없이 박스가 정중앙에 있어야 하며, 이벤트는 어떻고 등등 수 많은 제약조건이 있었습니다. 다른 라이브러리 사용할 수 없이 순수 CSS, HTML, 자바 스크립트를 가지고 구현해야했습니다. 시간 부족으로 구현 실패 ㅠ.ㅠ
여러 문제가 있을 경우 모든 문제를 한 번에 보여주었습니다. 정해진 시간 내에 제출은 다 풀고 마지막에 한 번 제출만 하면 됩니다. 문제와 문제 사이를 이동할 수 있습니다. 한 번 훑어 보고 쉬운 문제부터 풀면 됩니다.
유의 사항
예전에 정보처리 기사 실기시험을 보러갔을 때 일어난 일이 있습니다. 코딩 테스트처럼 주어진 조건에 맞게 작동하는 간단한 프로그램을 만들어야 했습니다. 문제에는 입력 값과 그에 따른 출력 값이 있었습니다. 한 응시자가 감독관에게 막 따지고 있었습니다.
문제 설명에 나온대로 해서 했는데 다른 입력 값을 넣어서 테스트 하면 안되죠!
코딩 테스트도 문제 설명에 입력 값 예가 1-3가지 정도 있습니다. 그 예시는 평범한 경우이고, 코너 케이스는 본인이 예상해서 구현해야 합니다. 대부분 테스트 값을 직접 넣어볼 수 있게 하고 있습니다. null, empty string, 같은 값 반복, 음수, 정수 최대/최소치, 잘못된 값 등 가능한 값에 대해 대비를 해야합니다.
코딩 테스트를 통과하면 또 한 번의 코딩테스트가 있습니다. 신사람과 함께.
관련글
'회사' 카테고리의 다른 글
나의 이직 성공기 - 연봉 협상 (2) | 2018.10.05 |
---|---|
나의 이직 성공기 - 온사이트 면접 (4) | 2018.08.03 |
나의 이직 성공기 - 회사 지원 및 HR 인터뷰 (2) | 2018.07.16 |
나의 이직 성공기 - 회사 검색 (0) | 2018.07.14 |
나의 이직 성공기 - 요약 (0) | 2018.07.13 |