코딩테스트 준비할 때 꼭 읽어봐야 할 꿀팁

Q&A 큐레이션

1. 프론트엔드 개발자 코딩테스트 준비

프론트엔드 개발자 분들은 이직 준비하실 때 코딩테스트 준비 어떻게 하시나요!? 어떤 언어로, 어떤 식으로 코딩테스트 준비하셨었나요!?


답변

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

외 1개 답변 보러 가기

2. 코딩테스트 준비

안녕하세요! 현재 북미 지역에서 대학교를 다니며 현지에서 개발자로 일하고 싶은 학생입니다! 지난 주부터 코딩테스트 스터디그룹을 하면서 저의 문제 방식과 코드 작성에 대한 갑작스럽게 고민을 하게 되었습니다! 아무래도 학교에서 computer science 전공 공부를 하니, 알고리즘이나 자료구조 문제를 풀면 딱 학교에서 배웠던 걸 생각하며, 코드를 작성할 때 library (예로들면 python collection) 를 거의 사용하지 않고 scratch부터 작성합니다. 한 마디로 지름길 없이 작성한다는 겁니다. 그런데 같은 로직이어도 저는 기초부터 써서 길게, 다른 멤버들은 라이브러리로 써서 짧게 코드를 작성하는 걸 보면 제가 과연 이 코딩테스트 공부를 잘못하고 있나에 대해서 고민이 듭니다. 이런 문제들을 풀 때에 이해력이 높아야되는 건 이해합니다. 그런데 같은 알고리즘이라도 라이브러리 사용하지 않는다는 점에서 많이 점수가 깎일 수 있는지 등등 현직자분들 중 면접관으로써 일하시는 분들의 의견이 궁금합니다! 감사합니당


답변

코딩 테스트를 위해 준비하고 계시군요! 일단 스터디 그룹에 합류해서 함께 공부하시는 것은 정말 좋은 방법입니다. 혼자서 끙끙대며 공부하는 것보다는 함께 하는 게 더 시너지도 나고 동기 부여가 되더라고요. 질문 주신 부분에 대해서는, 라이브러리를 사용하지 않는다고 점수가 깎인다기보다는 현실적으로 제한 시간 내에 라이브러리를 사용하지 않고 구현하기가 어렵습니다. 해외에서 주로 사용하는 라이브 코딩 테스트의 경우 제한 시간 45분~1시간 이내에 알고리즘 문제를 최소 1개에서 follow up 문제 포함 최대 3개까지 풀어야 하고요, 문제 풀기 전 자기소개 하는 시간 5~10분과 마지막에 질문하는 시간 5~10분을 제외하면 사실 30분 정도 잡고 문제를 푼다고 보시면 됩니다. 그런 상황에서 라이브러리를 사용하지 않으면 시간이 부족할 수밖에 없을 것 같아요. 알고리즘 문제에 자주 나오는 스택, 큐, 힙과 같은 자료 구조는 라이브러리를 사용하면 훨씬 빠르게 구현할 수 있거든요. 라이브러리 없이 구현하는 방식은 개념을 공부할 때는 도움이 될 것 같고요, 코딩 테스트 용으로는 라이브러리를 사용하시는 것을 권장드립니다. 📔 함께 읽어보면 좋은 글 - 코딩 테스트를 위해 꼭 공부해야 할 이론: https://careerly.co.kr/comments/66531 - 코딩 테스트에 완벽하게 대비하기 위해 해야 할 6가지: https://careerly.co.kr/comments/66559 - 라이브 코딩 테스트 실전 5단계 가이드: https://careerly.co.kr/comments/66693

이 질문 바로 가기

3. 코딩테스트 시작 전 질문드립니다

자바스크립트로 코딩테스트 준비를 할려고 하기에 앞서 알고리즘 책을 사서 공부를 하고 시작을 해야 하나요 코딩테스트 하면서 공부해 나아가야 할까요?? 코딩 테스트에 추천 해주시고 싶은 책이 있으실까요?


답변

몇년전 한국형 코딩테스트를 중견, 대기업 대부분의 회사에서 치뤄본 경험이 있습니다. 그때 당시에는 어떻게 공부해야될지 몰라 닥치는대로 외우고 > 여러 문제 유형 풀고 > 푸는법 외우고를 반복했었는데 5개월 정도 이렇게 하다보니 거의 모든 문제에 대해서 어떻게 풀어야 될지는 알 수 있었습니다. 하지만 어떻게 풀어야 될지는 알았지만 그것을 실제 코드로 구현하는 것이 조금 부족했습니다. 그래서 조금만 공부할 시간이 더 있었으면 하고 후회했었습니다. 제 경험을 대충 말씀드렸는데 이게 정답은 아니지만 제가 보기엔 코딩 테스트는 그냥 아예 다른 영역이었습니다. 그냥 문제를 많이 보고 많이 풀어본 사람이 유리합니다. 저 같은 경우는 백준 저지에 있는 온라인 강의가 비싸지 않아서 강의 다 듣고 문제 혼자 다시 풀어보고 강의 다시 듣고 해서 백준에서 대략 500문제 정도 풀었고 프로그래머스에서도 여러문제 풀었던 것 같습니다. 결론적으로 제가 제안 하는 공부 방법은 다음과 같습니다. 1. 코딩 테스트 강의나 책을 산다 2. 문제를 혼자 20분 풀어보고 매달리지 말고 바로 강의나 해설을 듣습니다 3. 모든 강의를 다 듣고 풀었다면 다시 혼자서 풀어봅니다. 외워서 풀었든 이해해서 풀었든 둘다 상관 없습니다. 4. 이제 강의에 없는 새로운 문제들을 풀어봅니다. 시간을 딱 지키고 한 문제에 올인하지 마세요. 코테는 문제 유형별로 푸는 공식이 있습니다. 문제는 달라도 그 틀은 벗어나지 않아요. 중요한건 문제를 많이 풀어보면서 이 문제가 어떤 유형의 문제라고 파악하는겁니다. 이후에 어떻게 풀어야 될지는 이미 외우고 이해했으니깐요. 제가 제안드린 방법이 글쓴이님에게 맞을지 안맞을지는 모릅니다.저도 머리가 그렇게 똑똑하지 않았지만 꽤 괜첞은 방법이었습니다. 중요한건 코테 준비는 많이 푸는게 제일 중요합니다. 한 문제에 너무 매달리지 마세요!

외 1개 답변 보러 가기

4. 알고리즘 공부(코딩 테스트-프론트엔드)

안녕하세요 프론트엔드를 준비 중인 학생입니다. 현재 알고리즘 문제를 백준/프로그래머스/코드업에서 풀고있습니다. 그런데 알고리즘 유형이 워낙 다양하다보니 선택과 집중을 해야할 것 같은데 프론트엔드 코딩테스트를 위해서 어떤 알고리즘들을 중점적으로 해야할지 고민이 됩니다. 현직자분들의 귀한 조언 부탁드립니다.


답변

안녕하세요, 최근 퇴사 후 구직중이라 코딩테스트 문제들을 풀고있는 프론트엔드 개발자입니다. 프론트엔드라고해서 다른 문제를 내지는 않는것 같고 보통 공통된 알고리즘 문제를 풉니다. 리스트, linked list, hash map, dynamic programming, backtracking 등... 특히 주니어 레벨에서는 프론트에 한정된 도메인 지식을 요구하진 않기 때문에 실제 코딩실력을 보기위해 코딩테스트를 봅니다. 따라서 일반적인 알고리즘 코딩 문제 풀이를 연습하시면 됩니다 :) 저는 외국 사이트들 위주로 풀고 있는데 영어가 괜찮으시면 이쪽 사이트를 이용하는걸 추천드립니다. leetcode : easy 문제 위주로, upvote가 많은것 위주로 풀기 (구글 리쿠르터에게 추천받음) codesignal : 쉬운문제부터 차례로 풀도록 되어있음. leetcode와 달리 문제를 골라줘서 접근성이 더 좋음. 프로그래머스는 사용하는 회사들이 있어 괜찮은 것 같고, 백준은 정보올림피아드 등 개발자 코테보다는 알고리즘 문제풀이대회에 더 맞는것 같아 저는 사용하진 않습니다. 하지만 데이터 구조에 대한 지식이 없는 단계에는 추천드립니다.

이 질문 바로 가기

5. 코테 준비하면서 코드들도 깃허브에 올리시나요?

다들 코딩테스트 준비하는 코드들도 깃허브에 연동해두시는지 궁금합니다! 아니면 그냥 포트폴리오 용으로만 사용하나요?


답변

서류 검토와 면접을 진행하며 깃허브 링크를 봐야하는 입장에서 경험을 말씀드리면... 0. 코딩테스트 준비를 깃허브에 연동하면 좋을지 보다... 누가 봤으면 하는지, 뭘 봤으면 하는지, 한 눈에 볼 수 있는 것은 무엇인지가 중요합니다. 1. 기업의 이미지에 따라 다르지만 공채 기간에는 더 많지만 수시는 하루에 적어도 20개 이상 들어옵니다. 한번에 몰아서 보는 사람, 하루에 나눠서 틈틈이 보는 사람 다 제각각이지만 바쁜 와중에 많이 봐야합니다~~ 이런 상황을 아는지 모르는지 자기소개서에 linkedin, github, notion 참조라고 딱 한줄 써놓고 링크 거는 분들 간간히 계신데요. notion은 잘 안열리고 공개여부 문제등...notion에서 export한 PDF는 깨져있고 blog, github는 열어보면 관리가 잘 안된 경우도 있습니다. 노력을 다 기울여 놓으셨을지 모르지만 저런 상황이면 도움이 안됩니다. 외부 링크나 첨부 파일보다 관심을 기울일 수 있도록 경력직처럼 간략히 자기 프로젝트 수행 내용을 써놓는고 참조 링크를 따로 안내해두는게 좋습니다. 3. 서류 전형 후 코딩테스트나 사전 과제는 다음처럼 봅니다. 서류전형 후 코딩 테스트를 온라인 플랫폼을 통해 진행하는 경우 채점표 기준으로 확인하고 오답 내용 확인합니다. 사전 과제를 github나 첨부파일로 받는 경우 가이드, 주석, 코딩 스타일, 동작 결과를 살펴봅니다. 사전과제를 github로 가서 확인했을 때 인상이 깊다면 그 간의 활동을 보기도 하고 인상깊은 프로젝트가 있으면 열람해보기도 합니다. 이때 Readme로 코테 준비하며 학습한 것들이 잘 index로 정리되어 있으면 매우 좋겠죠. 4. 코딩테스트를 넘어 기본적인 스크리닝이 끝나면 면접이 진행이 됩니다. 면접은 코테나 사전과제, 기본적인 질문을 거치게 되는데요. 매우 싫으시겠지만 이력서와 코딩테스트, 과제에서 질문이 많이 나오는게 좋습니다. 왜 이런 방식으로 접근했는지 다른 방식으로 풀수 없었는지 다른 방식으로 어떻게 풀 수 있는지, 여기에 사용한 디자인 패턴은 무엇이고 언제쓰는지, 어떤 부분을 개선하고 싶은지 등등과 같은 꼬꼬무식 질문들이 이어질 겁니다. 이력서의 프로젝트, 코팅테스트나 과제를 진행하며 공부를 제대로 했다면 대부분의 질문에 답변을 할 수 있을 것이어서 좋은 인상을 심어줄 수 있습니다. 5. 결론적으로 꾸준히 운영관리 잘하신다면 올리시면 면접 단계에서 도움이 될 수 있습니다.

외 2개 답변 보러 가기

6. 코딩테스트 질문드립니다

프로그래머스로 공부하고 있는데요 혹시 몇단계까지 수월하게 풀어야 대기업 코테 뚫을까요?


답변

코테는 문제 운과 컨디션빨이라고 생각합니다! 3 단계 정도까지 푸시면 문제 없지 않을까 싶어요.

이 질문 바로 가기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직 개발자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

지금 가입하면 모든 질문의 답변을 볼 수 있어요!