웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > webdev

프론트엔드 온라인 개발자 테스트

Created : 2017-08-01
3,690
View Count
개발자 엔지니어를 회사에서 뽑는 과정 중 하나로 코딩 테스트가 있다. 코딩 테스트의 목적은 개발자로서의 역량을 판단하고 회사가 원하는 바와 얼마나 일치하는 지원자를 가려내기 위함이 가장 클 것이다.

이런 코딩 테스트는 최근에는 온라인을 통해 진행되는 일들이 많지만 예전에는 면접 전 과제 형식으로 진행되어 정해진 기간내에 직접 제출하거나 아니면 면접 당일 간단한 문서에 테스트나 아니면 노트북 등을 사용하여 현장에서 진행되는 경우가 많았다.

참고로 본인은 온라인 코딩 테스트 서비스를 제공하는 웹서비스 중 하나인 Codility를 직접 경험해보고 글을 썼으나 테스트 서비스에 따라 많은 부분이 현재와 다를 수도 있다는 점을 알아주길 바란다. Codility 역시 온라인으로 진행되며 정해진 시간동안 정해진 문제가 제공된다.

문제를 시작하기 앞서 테스트 문제를 풀어볼 수 있는데 온라인 테스트 경험이 없는 경우 먼저 시도해 보는 것이 좋다. 그 이유는 무엇일까? 온라인 테스트의 경우 제약된 환경에서 실행된다. 즉, 평소 사용하던 디버깅 방식이나 틀을 사용할 수 없으므로 실제 테스트에 들어가면 본인도 모르겟 당황할 수 있다. 특히 테스트가 영어로 진행되는 경우 이를 잘못이해하게되면 테스트 진행, 디버깅, Test code 작성에서 어려움을 겪을 수 있을 것이다. 아래는 온라인 테스트로 문제를 풀면서 겪었던 것들 중 중요한 부분이다.


# Abusing은 하지 말 것? 


코딩 테스트 중에 어뷰징할만한 것이 뭐가 있을까? 아마도 제공되는 툴 이외의 것들은 사용하지 말라는 점과 다른 사람, 타인이 대신 시험에 임하는 것을 하지 말라는 것 같다. 타인이 대신 푸는 것은 당연히 안되겠지만 개발하면서 항상 사용해왔던 툴이나 구글링 등의 방법들은 테스트 중에도 활용하는 것이 나을 것이다. 허용될까 안될까 등의 고민으로 시간을 보내지 않는 것이 좋으며 문제이 집중하는 것이 좋다.


# 시간의 제약. 테스트인을 명심


처음에는 정해진 테스트 시간이 너무 길다고 느낄 수도 있다. 하지만 그렇다고 다른 일을 하거나 생각없이 시간을 보내면 나중에 시간이 부족하게 느낄수도 있을 것이다. 그러므로햬야하는 것들이 있다면 반드시 코딩 테스트 시간을 늦추거나 방해받지 않는 환경에서 시작을 하는 것이 좋다.


# 문제 해결과정 중  디버깅 콘솔의 방법


만약 테스트를 위하여 코드가(html 등등)가 제공되는 경우 이를 직접 수정하는 것이 가능하다. 다만 정해진 답이 반드시 나와야하므로 가급적 제공된 코드를 직접 수정하는 것이 좋다. 어떻게 동작하는 것인지 알기위하여 이것저것 하다보면 정작 문제에 집중하기 어려울 수 있드.

문제를 해결하는 과정에서 코드를 실행, 테스트 하는 경우 옮고 그름이 판단되는데 값의 타입 역시 일치해야하므로 타입을 반드시 확인하는 것도 중요하다. 타입이 다른 경우 값이 일치해도 틀리다고 나오게된다.


# 마치면서


코딩 테스트를 하면서 느낀 점은 문제의 답을 구하는 것도 중요하지만 코딩 스타일을 지키는 것 역시 그만큼 중요하다는 것이다. 그 이유는 나오는 문제의 난이도가 적절한 수준이므로 답을 구하는 것도 물론 중요하지만 해당 언어를 이해하고 간결하면서 보기 좋은 코드를 작성하는 것이 큰 부분으로 작용할 것이다. 물론 이는 채점자의 기준에 따라 달라질 수 있지만 시간에 따른 해결능력이 문제해결 능력이라면 이보다는 테스트 응시자의 코드가 다른 사람과의 협업을 고려하고 잘 정리된 코드, 코딩 스타일을 지키는 코드가 높은 점수를 받을 수도 있다.

한가지 더 얘기하자면 테스트를 통과하는 것이 목적이므로 더 나은 방법 효과적인 방법에 시간을 보내지 말자. 테스트가 원하는 것이 제한된 시간내에 원하는 결과를 보여주는 것이므로 이를 해결하는 코드를 작성하는 것이 가장 중요하다. 더 나은 방법에 대한 고민은 테스트를 통과하고 실무에서 시간이 주어질 것이다.

Previous

Codeanywhere 코드 실행 후 테스트 url 확인하기