최근에 개발자가 직업으로 부각되고 있는 요즘, 개발자로써 취업과 다른 회사로의 이직을 희망하는 분들이 점점 늘고 있다.
이번에 길벗 개발자 리뷰어에 선정되어, (취업과 이직을 위한) 프로그래머스 코딩테스트 문제풀이 전략 : 자바편 을 선택했고, 리뷰를 작성하게 되었다.
첫 서론 부분을 읽으면서 유명한 개발자 분들의 추천사와 리딩 후기를 읽다보니, 문득 책을 지은 김현이 라는 분의 이력이 궁금해졌다.
지은이는 김현이 라는 분으로, 무려 구글 코리아의 소프트웨어 엔지니어로 있다고 한다.
구글의 코딩테스트는 어렸을 적, 취업 성공 후기글을 몇번 보곤 했는데 꽤 어렵기로 악명이 높았다.
구글코리아의 테스트는 어느 정도 수준일까? 궁금해지는 대목이기도 하다. 구글은 아직 지원해보지 않아서.. 😅
코딩테스트의 중요성?
최근의 코딩테스트는 모두 상향 평준화가 되가고 있기 때문에, 코딩테스트 없이 이직 하는 것은 이제 상상하기 어려운 시대가 되어버렸다.
추천사 중 정두식 그렙 CSO는 코딩테스트를 특수부대원의 장거리 달리기에 비유했는데,
본인은 그걸 좀 더 간단하게 틀어서 설명해보고 싶다.
코딩테스트는 근육이라고 생각한다. 근육이 적당히 많으면 일상 생활을 하는데 편리해지고, 건강과 아름다움 모두 챙길 수 있기 때문이다.
마찬가지로, 개발자에게 코딩테스트(줄여서 코테)는 평소 개발을 할 때 더 효율적인 알고리즘과 좋은 성능, 가독성이 높은 코드를 만들어 모두에게 행복(?)을 안겨줄거라고 생각한다.
코딩테스트 문제 구성
해당 도서는 취업과 이직을 준비하는 사람들을 기준으로 작성이 되었기 때문에
책에서 제시하는 학습 순서를 통해, 본인이 어떤 단계에 있는지 확인하여 학습 계획을 세울 수 있게 도와준다.
또, 빠르게 책을 훑어볼 수 있게 시험 1주 전 학습 스케줄을 제공함으로써 좀 더 급한 사람들에게 학습 목표를 제공하고 있다.
문제들은 프로그래머스 기준 2~3 레벨이 많이 포진되어 있고, 0 레벨, 4레벨도 간간히 보이고,
5레벨도 한 문제가 있는 것을 보니 어느정도 밸런스 있게 구성되었다고 보여진다.
특히나 코테는 레벨 3정도만 되어도 왠만한 기업들의 코딩테스트를 합격할 정도의 수준이 된다고 생각한다.
책의 구성
시간 복잡도에 대한 내용과 더불어, 시간 복잡도를 간단하게 계산 하는 방법과 빅오(Big-O) 표현식에 대한 설명을 하고 있다.
배열과 문자열 처리, 탐색, 정렬, 자료구조 등 알고리즘에 대한 모든 것을 담았다.
특히 첫 장에서는 자바의 클래스 구조와 스트림, 객체 비교 등 자바 알고리즘 테스트에서 겪는 상황에 대해 설명하고 있는 부분이 좋았다. 하지만 자바에 대한 이해도가 있어야하기 때문에, 자바 기초 서적이라기 보다는 자바에 대한 이해도가 어느정도 충족되는 사람들을 대상으로 책을 구매해야할 것 같다.
문제 풀이
실제 프로그래머스의 문제를 기준으로 풀이를 진행한 것이기 때문에, 다른 책들과는 다르게 좀 더 현실에 입각한 도움이 된다고 볼 수 있겠다. 프로그래머스는 기업에서 제공하는 코딩테스트 플랫폼으로써 가장 많이 활용되고 있고, 실제 개발자들도 많은 문제를 풀고 레벨을 올리고 있기 때문이다.
또, 책에서 진행되는 문제 풀이 방식은 코드 하나하나에 왜 이런식으로 코드를 작성하는지 설명하고 있어 코드에 대한 이해도를 높여주고 있고, 프로그래머스의 다양한 문제를 제공하고 있기 때문에 훗날 다른 회사에서 보게 될 코딩테스트에도 실질적인 대비를 할 수 있게 해준다.
해당 책의 내용 중, 어렵기로 소문난 카카오 블라인드 테스트와 프로그래머스에서 제공하는 자체 역량 시험인 PCCP(코딩전문역량인증) 의 모의고사에 대한 내용을 기술하고 있다.
PCCP 를 아직 한번도 보진 않았지만 매도 일찍 맞는 매가 덜 아프다고(?) 미리 시험을 통해 인증을 받고나면 기업에서 보는 코딩 테스트는 면제가 되기도 한다고 하니, 이 기회에 책을 사서 PCCP 를 위한 공부를 해보는 것도 좋을 것 같다.
마지막으로
근육을 키우려면 운동을 열심히 하는 방법 외에 없듯이, 코딩 테스트의 실력을 올리는데에도 왕래는 없다고 생각했다.
무조건 많이 풀어보고, 다른 사람의 코드를 많이 보고 분석 해보는 것.
하지만 이렇게 책의 도움을 받아 풀이 방법에 대해 해석 해보고, 체계화된 방식으로 코테를 준비해보는 것도 좋겠다는 생각이 들었다.
(특히나 좋았던 것은, 공부 순서를 알려준다는 것이었다.)
조금 아쉬운 점은 책에서 제공하는 코딩테스트의 플랫폼은 프로그래머스 기준으로 한정되어 있어, 플랫폼이 제한적인 것이다. 다른 플랫폼(코딜리티, 해커랭크, 백준, 구름IO 등)에 대한 설명도 있으면 더 좋았을 거라는 생각을 해본다.
https://product.kyobobook.co.kr/detail/S000200928002
해당 리뷰는 길벗 개발자 리뷰어 활동의 일환으로 작성되었습니다.
'IT > Programming' 카테고리의 다른 글
개발자도 글을 잘 써야 한다고요?! 우아한 테크세미나 정리 (0) | 2022.07.27 |
---|---|
Spring-Boot : Intellij IDEA CE 에서 devtools 를 자동화 빌드 설정 (0) | 2021.10.16 |
티스토리 블로그 광고 방지 코드 (0) | 2021.10.16 |
홈스테드, 발렛 없이 라라벨 설치하기 (with WSL) (0) | 2019.12.20 |
[javascript] 상위 이벤트 전파 막기 (0) | 2019.12.17 |