ASH84

Software Engineer/Developer, co-founder of Payhere. Ex-Banksalad. Intereseted in iteroperability, bootstrap company, writting.

라이브 코딩 테스트를 위한 조언

created:2021-08-10
updated:2021-08-10
edit

주니어 서버 엔지니어 포지션을 오픈한 이후에 요즘 일주일에 최소 3번의 기술면접을 들어가고 있는데 예전에 비해서 다양한 분들이 면접을 보셔서 세상이 변했다는것을 많이 느끼고 있다. 1차 면접에서 30분 정도 라이브코딩 테스트를 진행하고 있는데 몇몇 안타까운 경우들이 많아서 몇가지 팁을 적는다.

1) 사용하는 프로그래밍 언어 자체에 익숙하기

너무 당연한 부분이다. 아무리 신입/주니어라고 해도 코딩테스트가 있다고 하면 기본적인 본인이 제일 잘 사용하는 프로그래밍 언어에 대해서 잘 다뤄야 한다. 여기서 잘 다룬다는게 syntax sugar를 잘 쓰거나 그 언어를 깊게 이해한다는 게 아니고(그런걸 기대하는건 아니다.) 최소한의 기본적인 반복문과 분기문, 함수 작성과 호출 정도는 잘 사용해야한다는 것이다.

어떤 분들은 반복문의 문법 조차도 완성하지 못하는 경우도 있고, 완성하더라도 실제 실행하지 못하는 분들도 있는데, 코드를 짜고 실행을 시킨다. 는 것은 기본중에 기본이기 때문에 당연히 익숙해야한다.

간혹 우리회사에서 쓰는 언어에 맞춰서 코딩테스트를 보시는 분들이 있는데, 본인이 진짜 평소에 잘 쓰던 언어로 테스트를 봐도 라이브 코딩 테스트라는 압박감에서 제 실력으로 제한시간내 풀기란 쉽지 않다. 본인이 제일 잘 하는 언어를 이용해서 시험을 보길 추천한다.

2) 매일쓰는 코드 편집기 사용 할 것!!

이것도 1번과 비슷한 맥락인데 특정 편집기를 강제하지 않는 상황에서 본인이 매일 사용하는 코드 편집기(IDE)를 사용하는 것을 추천한다. 생각보다 도구는 중요하다. 어떤 분들은 거의 본인의 노트북이 맞나 싶을정도로 처음에 헤매는 분들이 있는데, 대부분 결과가 좋지 않았다. 예를 들어 Intellij를 사용하시는 분이 갑자기 본인 개인 노트북으로 eclipse로 테스트를 진행하는 경우도 있었고, 익숙하지 않은 vim으로 보는 분들도 있었다.

코딩테스트는 제한시간이 있고, 본인의 손에 익숙하지 않은 툴에서 헤매게 되면 심리적으로 위축이 되어 아는 문제도 잘 풀지 못하고, 긴장하게 되어 전체적으로 엉망이 되는 경우가 많았다.

1번과 2번에 대해서 하고 싶은 애기는 하나다. 신입이든 주니어든 제대로 준비하라는 것이다. 물론 코딩 실력 자체가 중요하지만, 코딩 테스트라는 측면에서 보면, 사용하는 프로그래밍 언어, 코드 편집기 이런것들이 모두 스스로에게 최적화되어서 편안하게 느껴지도록 준비가 되어야 한다. 그래야 제 실력이 나온다.

3) 질문을 많이 할 것 🧐

요구사항을 명확히 하기 위해서 질문을 많이 하면 좋다. 거의 95%의 지원자는 문제를 보자 마자 바로 코딩을 시작한다. 물론 내재된 의도를 파악하고 한번에 푸는것이 가장 이상적이지만 거의 그런 경우는 없다. 질문을 많이 해서 문제에 대한 요구사항을 명확히 하고 코딩에 들어가는 것을 추천한다. 이건 우리회사에 국한되는 것은 아니고 라이브 코딩 테스트를 보는 대부분의 회사들이 평가하는 항목이기도 하다.

간단하게 3개만 적어봤는데 코딩테스트를 내는 입장에서는 제발 풀어주길 바란다. 왜냐하면 코딩테스트는 모든 지원자에게 공통적으로 적용되는 최소한의 허들이기 때문이다. 아무리 좋은 경력을 가진 지원자라고 해도 코딩테스트를 넘지 못하면 뽑을 수가 없기 때문이다.


페이히어에서는 좋은 서버 엔지니어를 기다리고 있습니다. 👨🏻‍💻


#coding test  #coding interview