안녕하세요~ 테크 기업 전문 취업 전략 컨설턴트 동사힐입니다. 😊
오늘은 많은 주니어 개발자들이 고민하는 코딩테스트 준비 어떻게 해야 할까?에 대해서 간단하게 살펴보고자 합니다.
저는 현직 개발자는 아닙니다. 다만 테크 기업 전문 취업 전략 컨설턴트로 활동을 하고 있습니다. 그래서 앞으로 쓸 내용은 제가 직접 실행한 전략은 아닙니다만, 이름만 대면 다 알만한 주요 IT 대기업에서 근무하는 현직자들의 조언을 바탕으로 작성한 내용입니다. (아쉽게도 구체적인 기업명을 적기는 어렵습니다.)
따라서 충분히 신뢰할만 내용이지만, 이 글을 읽는 주니어 개발자분께서는 주체적으로 판단하시어 필요한 내용을 발췌하여서 꼭 적용하시기 바랍니다.
코딩 진로의 맹윤호가 알려주는 코딩 테스트 준비 방법
코딩진로를 쓴 작가 맹윤호는 IBM의 Data&AI 팀에서 엔지니어로 근무했고, 현재는 NCT Marketing의 최고 데이터 책임자로 근무하고 있다. 연세대학교에서 데이터 분석 전공으로 석사 과정을 졸업하고 박사 과정을 수료했다. SK C&C, KISTI, NRF, DBpia 등에서 프로젝트를 진행했으며 Apache Zeppelin, Qiskit, KoGPT-2 등의 오픈소스 프로젝트에 기여했다. 삼성, 현대, LG, 딜로이트 등의 기업과 연세대학교, 중앙대학교, 상명대학교, 순천대학교에서 강연했다. 참여 도서로는 『머신러닝 디자인 패턴』(한빛미디어, 2021), 『Do it! 강화 학습 입문』(이지스퍼블리싱, 2021), 『코딩 진로』(호모 루덴스, 2021), 『초소형 머신러닝 TinyML』(한빛미디어, 2020), 『하이퍼레저 블록체인 개발』(한빛미디어, 2019), 『블록체인의 정석』(지앤선, 2019) 등이 있다. 기술 블로그(https://maengdev.tistory.com)와 유튜브 채널(https://www.youtube.com/myh0130)을 운영 중이다.
맹윤호 작가는 학부때는 국문과를 전공한 특이한 이력의 소유자입니다. 그런 그가 2021년에 코딩진로라는 책을 썼는데요, 국문과 출신인 만큼 상당한 필력을 자랑합니다.
그가 코딩테스트 준비하는 방법을 상당히 구체적으로 기술을 했습니다. 그 부분을 잠시 살펴보겠습니다.
코딩테스트는 왜 하나요?
대부분의 기업은 코딩 인터뷰를 통해 최악의 지원자를 걸러 낼 수 있다고 평가한다. 그래서 좋은 기업일수록 코딩 인터뷰를 보는 비중이 늘어나는 추세이다. 게다가 코딩 인터뷰는 채용하는 사람의 입장에서 큰 비용과 위험을 줄여 준다. 한 번 자체적으로 코딩 인터뷰를 하는 플랫폼을 구현해 놓기만 하면 앞으로 계속해서 같은 절차로 굳이 사람이 직접 면접을 보지 않더라도 어느 정도 초기 면접이 가능하기 때문이다. 또한, 최근에는 코딩 인터뷰를 대행해 주는 플랫폼도 생겨나고 있다. 개발자가 부족해서 채용해야 하는 입장인 스타트업들은 신규 채용할 개발자를 평가할 수 있는 사람이 없거나 너무 바빠 여력이 없는 경우가 많으므로, 이러한 플랫폼의 활용은 점차 늘어날 것이다. -코딩진로, 맹윤호
위 글에서 알 수 있듯이, 코딩테스트를 준비하기 전에 먼저 알아야 할 것이 바로 코딩테스트 실시 이유입니다. 코딩테스트를 보는 이유는 합격자를 뽑기 위해서가 아닙니다. 불합격자를 걸러내기 위함입니다. 최소의 비용을 들여서 최고의 효율을 내는 것은 수준 미달의 지원자를 빠르게 걸러내는 것이지요.
대부분의 주니어 개발자가 착각하는 것이 무엇이냐면, 코딩테스트만 준비하면 합격할 수 있다고 생각하는 것입니다. 그런데 그렇지 않습니다. 코딩테스트는 아주 기본적인 것입니다. 코딩테스트를 통해서 수준에 미치지 못하는 지원자를 빠르게 걸러내는 것이죠.
블라인드 채용이 본격화되기 전에는 대부분의 기업은 학벌과 학점, 토익 점수 등을 가지고 소트해서 걸러냈던 작업을 지금은 코딩테스트로 한다고 보면 이해하기 쉽습니다.
아시다시피 대부분의 기업들은 블라인드 채용을 기본으로 합니다. 그런 상황에서 수천에서 수만명이나 되는 지원자를 정성적으로 평가한다는 것은 매우 비효율적이죠.
그런 점을 염두해두고, 코딩테스트를 준비해야 합니다.
아쉽게도 제가 최근에 컨설팅했던 주니어개발자도 프로그래머스 기반 코딩테스트에서는 아주 좋은 성적을 거두었지만, 면접에서 떨어졌습니다. 코딩테스트에 너무 스트레스를 받고, 그것만 집중하다가 최악의 결과를 얻은 것이죠.
잊지 마세요. 코딩테스트는 합격자를 뽑는 테스트가 아니라 불합격자를 걸러내는 테스트라는 것을요!
코딩테스트를 준비하려면 무슨 책을 봐야 할까요?
《코딩인터뷰 완전분석》, 《TopCoder 탑코더 알고리즘 트레이닝》은 코딩인터뷰에 있어서 《수학의 정석》과 《개념원리》와 같은 책이다. 많은 개발자가 이 책의 도움을 받았고, 필자는 아직도 이 책들을 메인으로 사용하고 있다. -코딩진로, 맹윤호
맹윤호 작가가 추천하는 두 책이 바로 코딩인터뷰 완전 분석(Cracking the Coding Interview)과 탑코더 알고리즘 트레이닝(TopCoder)입니다.
이 책들을 기본서로 놓고 하나씩 공부한다면, 단순히 코딩테스트 사이트에서 여러 문제들을 풀어보는 것과는 다른 기초가 탄탄한 준비를 할 수 있을 것입니다.
여기에 추가로 N 기업에 다니는 현직자가 추천하는 알고리즘 책을 하나더 소개하자면 바로 알고리즘 문제 해결 전략입니다.
만약 시간이 부족하거나 급하게 코딩테스트를 준비해야 하는 주니어 개발자라면 연습하는 문제와 관련된 내용을 각 책의 목차에서 찾아서 발췌독을 하는 것을 추천합니다. 이 책들을 하나씩 첫장부터 학습하는 것은 상당히 비효율적인 학습 방법입니다.
자신이 약한 알고리즘 부분을 집중적으로 학습하는 것을 추천드립니다.
코딩테스트 준비 사이트는 무엇이 있나요?
백준 코딩테스트 연습 사이트는 국내 개발자가 많이 사용하는 코딩 인터뷰 준비 플랫폼이다. 코딩테스트에 대해 막연한 두려움이 있다면 여기에서부터 연습해 보길 추천한다. 국내 개발자가 많이 사용하는 만큼, 예제나 답변에 대한 토론을 우리말로 할 수 있다는 것이 큰 장점이다. 사람들이 얼마나 맞혔는지도 확인해 볼 수 있다.
내가 가장 추천하는 사이트는 바로 리트코드leetcode 이다. 구글, 아마존, 마이크로소프트, 페이스북 등 각종 글로벌 기업의 기출문제들을 확인할 수 있다. 사이트 사용료가 좀 비싼 편이지만, 비용을 지불할 충분한 가지가 있다. 기출문제들이 실제 면접에서 나오는 일은 거의 없지만, 실전 난이도가 어느 정도인지 가늠은 할 수 있다. 영어라는 장벽과 난이도 높은 문제들에 좌절할 수도 있지만, 글로벌 탑 기업을 목표로 한다면 반드시 챙겨 가야 하는 사이트이니 놓쳐선 안 된다. -코딩진로, 맹윤호
맹윤호 작가는 백준과 리트코드를 추천합니다.
백준은 워낙에 코딩테스트로 유명한 사이트라서 다들 잘 알고 계시리라 생각합니다. 저 역시 이전 게시물에서 추천드린 적이 있구요.
2021.04.22 - [너와 나를 위한 직장학 개론/취업 컨설팅] - 코딩테스트 준비 어떻게 해야 할까요? (feat. 프로그래머스? 백준?)
백준의 가장 큰 장점은 아무래도 무료입니다! 게다가 국내 다양한 코딩테스트의 기출 문제를 찾을 수 있습니다. 그리고 수많은 사람들의 정답률도 확인할 수 있으니 상당히 애용할만합니다.
두번째 추천 사이트는 리트코드입니다.
아쉽게도 영어고, 유료입니다. 그런데 프로그래머스가 한국 코딩테스트의 대세가 되기 전 그러니까 약 4년 전만 하더라도 대부분의 테크기업의 코딩테스트는 영어 문제였습니다. 아실만한 사람들은 다 알 것이라고 생각합니다. 2010년대 중반만 하더라도 코딩테스트는 사실 영어 해석하는데 절반 이상의 시간을 쏟아야 했죠.
그래서 리트코드와 같은 사이트에서 준비하는 것은 아주 기본이었습니다. 그런데 요새는 프로그래머스가 대세가 되어서 사실 영어 코딩테스트 사이트는 잘 하지 않지만, 실전 준비용으로 상당히 좋고, 글로벌 탑 기업 대비용으로도 좋습니다.
그 이유는 바로 대부분의 기업들 문제는 기출문제가 그대로 출제되는 경우가 없기 때문입니다. 특히 요새는 코딩테스트를 프로그래머스로 준비를 많이 하는데, 프로그래머스에서 아무리 열심히 연습 문제를 많이 풀어도 그 문제가 그대로 출제되는 일은 절대 없습니다. UI 연습에 자신의 지식 점검에 불과하다는 것이죠.
자신의 실력을 제대로 평가하려면 리트코드를 함께 준비하는 것도 좋은 선택입니다.
그러면 지금까지 코딩진로의 맹윤호 작가의 의견을 중심으로 살펴보았습니다. 그러면 추가적으로 코딩테스트를 어떤 사이트에서 어떻게 준비해야 할 지 조금더 살펴보겠습니다.
코딩테스트 준비 사이트 4가지
본격적으로 코딩테스트를 준비하기에 앞서서 코딩테스트 문제는 학교에서 배운 알고리즘 과목을 응용하는 문제라는 것을 이해해야 합니다.
백준에서 준비하는 방법
먼저 백준 사이트에 들어가면 수많은 메뉴로 당황을 합니다.
그럴때 자신이 찾고자 하는 기출문제를 먼저 찾아야 합니다.
저는 삼성전자 기출 문제를 찾아보겠습니다.
주니어 개발자 중에서 SW마에스트로에 관심이 있는 분들은 꼭 지원하기를 바라면서 삼성전자 기출문제를 찾아보겠습니다.
백준에 접속해서 우측 상단 검색 메뉴를 누르고 삼성을 검색하세요. 삼성전자는 기출 문제가 많이 공개되어서 문제집으로 검색하면 나옵니다.
보시는 것처럼 삼성 SW 역량 테스트 기출 문제로 총 21문제가 공개되어 있습니다.
https://www.acmicpc.net/workbook/view/1152
보시면 정답률도 함께 볼 수 있습니다.
아기 상어 문제 정답률은 40.778%입니다. 실제 삼성전자 코테 정답률은 아니고, 백준 사이트 내 정답률이겠죠. 실제 시험장에서 정답률은 30% 내외라고 생각합니다.
문제를 클릭하면 이렇게 문제를 풀 수 있습니다. 시간 제한 2초, 메모리 제한 512mb는 바로 시간복잡도와 공간복잡도를 준수하라는 이야기겠죠?
이렇게 문제를 찾아서 직접 풀어보기를 권유합니다.
SW Expert Academy에서 준비하는 방법
다음으로 알아볼 사이트는 삼성에서 만든 사이트입니다.
https://swexpertacademy.com/main/main.do
이 역시 삼성을 준비하는 주니어 개발자가 많이 찾는 사이트인데요. 사실 문제 수준은 낮지만, UI를 연습하기 위해서 많이 찾습니다.
블로그를 검색해보니 삼성전자 합격자의 경우 SW 아카데미의 A형 문제를 풀었던 것이 도움이 되었다고도 합니다.
연습문제뿐만 아니라 기본적인 개념도 함께 학습할 수 있는 사이트이니, 자신의 수준에 따라 적절하게 활용하기 바랍니다.
HackerRank에서 준비하는 방법
대기업 신입 공채의 경우에는 해커랭크의 미디엄에서 하드 수준의 문제는 기본으로 준비해야 합니다.
난이도 easy의 경우 문제에 대한 풀이가 정형화되어 있어서 접근하기 쉽습니다만, medium 이상은 단기간에 습득하기는 어렵습니다. 결국 꾸준한 준비가 필요한 것이죠.
https://www.hackerrank.com/challenges/solve-me-first/problem
위 링크를 들어가시면 해커랭크 문제를 확인할 수 있는데요.
난이도 easy의 문제는 기본으로 풀고, medium 이상의 문제를 풀어보길 추천드립니다.
프로그래머스로 준비하는 방법
프로그래머스는 워낙에 핫한 사이트고, 요새는 대세가 되어서 다들 아실 것이라 생각합니다.
프로그래머스 사이트의 기본 문제만 가지고는 안되고, 그 이상의 문제를 찾아서 준비해야 하는데요.
배달의 민족 같은 경우는 코딩테스트 문제를 공개하지 않지만, 카카오는 공개를 합니다. 그런 공개된 문제를 직접 풀어보는 것이 중요합니다.
https://tech.kakao.com/2022/01/14/2022-kakao-recruitment-round-1/
2022 카카오 블라인드 신입공채 온라인 코딩 테스트 문제해설을 찾아보고 풀어보면 큰 도움이 됩니다.
그리고 프로그래머스의 고득점 KIT도 기본이라고 할 수 있습니다.
https://programmers.co.kr/learn/challenges?tab=algorithm_practice_kit
여기있는 문제는 모두 기본입니다만, 중요한 것은 절대로 이 문제 그대로 나오지 않는다는 것! 기억하세요.
그리고 모든 코딩테스트의 기본은 시간복잡도와 공간복잡도입니다.
문제를 모두 풀어서, 코드가 작동된다고 하더라도 시간복잡도와 공간복잡도 조건을 충족하지 못하면 불합격이라는 건, 코딩테스트를 조금이라도 준비해본 주니어 개발자라면 모두 다 아시리라 생각합니다.
어떠셨나요? 오늘 살펴본 코딩테스트 준비 방법이 도움이 되셨나요?
입사와 이직의 계절입니다. 코딩테스트 열심히 준비하셔서 모두들 원하는 회사로 입사 & 이직하기를 간절히 바랍니다.
그러면 다음에도 더욱 좋은 글로 돌아오겠습니다.
궁금한 사항 있으시면 댓글로 남겨주세요.
도움이 필요하시다면 사연을 적어서 이메일을 보내주세요.
그리고 도움이 되셨다면 공감과 구독 부탁드려요.
이상으로 동사힐이었습니다!
읽어주셔서 감사합니다. 😊
'직장인 대학' 카테고리의 다른 글
2022년 우정직 공무원 호봉별 봉급표(feat. 우체국에서 근무하면 얼마 받나요?) (0) | 2022.01.26 |
---|---|
2022년 일반직 공무원 호봉별 봉급표(feat. 일반직 공무원 월급이 궁금해요) (0) | 2022.01.26 |
폭발적 성장은 어디에서 오는가?(feat. 만남과 목표 그리고 실패) (1) | 2021.12.04 |
2022학년도 직장인을 위한 재직자 특별 전형 경쟁률 분석(feat. 2021학년도 경쟁률 비교) (5) | 2021.09.17 |
직장인을 위한 2022학년도 재직자 특별 전형 내신 등급 분석(feat. 수도권 주요 대학 내신 50% CUT) (6) | 2021.08.31 |
댓글