❓ 프론트엔드 개발자는 이직할 때 코딩 테스트 준비를 어떻게 해야 할까요? 💡 제 대답을 요약하자면 다음과 같습니다. - 먼저 지원하고자 하는 회사의 코딩 테스트 유형을 확인합니다. - 과제 유
❓ 프론트엔드 개발자는 이직할 때 코딩 테스트 준비를 어떻게 해야 할까요? 💡 제 대답을 요약하자면 다음과 같습니다. - 먼저 지원하고자 하는 회사의 코딩 테스트 유형을 확인합니다. - 과제 유형은 내가 작성한 모든 코드, 커밋, 환경 설정에서 질문이 들어올 수 있다는 생각으로 작성합니다. - 알고리즘은 자주 나오는 유형이 있으니 온라인 저지 플랫폼에서 문제를 반복적으로 풀어봅니다. - 언어는 JavaScript도 좋지만 개인적으로는 Python이 더 나았습니다. --- 지원하고 싶은 회사에서 어떤 유형의 코딩 테스트를 요구하는지를 살펴보는 것이 먼저입니다. 제 경험 상 코딩 테스트는 크게 알고리즘과 과제로 구분할 수 있는 것 같습니다. 과제 유형은 실무에 가까운 과제를 제한 시간 내에 풀어 제출하는 문제입니다. 이 경우에는 평소의 업무 경험을 잘 살려 만들되, 내가 작성한 모든 코드에서 질문이 들어올 수 있다는 생각으로 신중히 작성합니다. 코드 외적으로도 커밋 로그나 브랜치 관리, README.md 파일 작성에도 신경을 써줍니다. 요구사항 중에서 애매한 부분이 있다면 넘겨짚지 않고, 질문 메일을 보내서라도 확실히 짚고 넘어갑니다. 만약 시간이 남는다면 간단한 테스트 코드 등을 추가할 수도 있습니다. 알고리즘 유형은 제한 시간 내에 주어진 문제 상황을 해결할 수 있는 코드를 제출하는 것입니다. 다만 신입 채용이 아니라 이직일 경우에는 상대적으로 난이도나 중요도가 크진 않아보였습니다. 저 같은 경우 절반도 못 풀었는데 통과한 경험이 있습니다. 대신 그만큼 이력서와 포트폴리오를 더 많이 보는 듯 합니다. 따라서 알고리즘으로 나오는 문제의 유형은 많이 복잡하지 않습니다. 프론트엔드 쪽에서 개인적으로 추천드리고 싶은 유형은 아래와 같습니다. - 브루트포스, 그리디 - 분할 정복, 재귀 - 자료구조 - 이분 탐색 - 다이나믹 프로그래밍 알고리즘 언어는 사실 크게 상관이 없습니다. 저는 JavaScript와 Python을 둘 다 써봤는데, 둘 중에선 Python이 더 나았습니다. Python이 내장 라이브러리가 잘 되어 있고 문법이 더 간단해서 시간 내에 작성할 수 있는 코드 효율이 더 좋았기 때문입니다. 다만 일부 회사들의 경우에는 언어를 제한하는 곳도 있으니 참고해야 합니다. 알고리즘 문제를 풀 수 있는 플랫폼은 국내/국외에 다양한 온라인 저지 플랫폼들(백준, 프로그래머스, CodeForce, LeetCode, TestDome, ...)이 있으니 직접 들어가서 체험해보셔야 합니다. 만약 경험이 전혀 없으시다면 프로그래머스를 추천드립니다. 다만 알고리즘의 공부 효과를 보기에는 다소 시간이 걸렸습니다. 문제를 풀 수 있는 방식이 여러 개이거나, 회사마다 어떤 문제가 어떻게 나올지 모르기 때문에 유형 별 공부를 반복적으로 해야 하기 때문입니다. 기초가 전혀 없다면 매일 1~2문제씩 푸는 것 기준으로 최소 3개월이 걸릴 것이라 예상해봅니다. 마침 제가 몇 달 전에 작성해둔 알고리즘 관련 글, 프론트엔드 개발자에게도 알고리즘 공부가 중요할까?(https://wormwlrm.github.io/2022/05/28/Should-a-front-end-developer-learn-the-algorithm.html)가 있으니 한 번 읽어보시는 것을 추천드립니다.