[책리뷰] 자바로 배우는 핵심 자료구조와 알고리즘: 기술 면접에 필요한 실용주의 자료구조와 알고리즘

김태훈·2023년 7월 9일
0

한줄평

자료구조 파트는 좋다, 알고리즘 파트는 나쁘다.
자료구조를 처음 학습한다면 다른 책으로 공부하자!!

순서

이 책은 다음과 같은 순서로 내용을 이어갑니다.

  1. 주제에 대해 일부분이 구현된 소스코드를을 제공합니다. 소스코드에는 특정 메서드들이 구현되지 않은 상태로 존재합니다.
  2. 메서드를 하나씩 구현해나가는데, 간략한 설명 혹은 Java Oracle 공식 문서를 제공합니다. 그걸 통해 메서드의 요구사항을 파악해야 합니다.
  3. 요구사항을 파악한 뒤, 구현되어있지 않은 메서드를 구현합니다.
  4. Test Case를 돌려 올바르게 구현되었는지 확인합니다.

책을 추천하는 대상

  • Java 개발자
  • 본인이 요구사항을 만들어야 하는 개발자(작은 규모의 회사) 혹은 취준생
  • 자료구조를 학습해본 개발자

책이 얇은 만큼 설명이 빈약합니다. 설명은 거의 없이 그냥 구현하라고 시키는데 기존에 자료구조에 대해 학습한 적 없다면 꽤나 헤맬 것 같습니다. 좋은 책인 건 맞지만, 시중에 존재하는 다른 책이나 강의를 먼저 보는 걸 추천합니다.

책을 추천하는 이유

자바 공식문서를 읽어보는 경험을 할 수 있습니다

공식문서를 읽는 게 중요하다는 건 모두가 알고 있습니다. 그런데 제 기준에서는 백엔드 개발을 하면서 막히는 게 생겼을 때, 공식문서를 보는 친구들을 본 적이 없습니다. 왜일까요?
공식문서는 무섭고, 어려워보이기 때문입니다. 이미 시중에는 좋은 번역서도 많고, 블로그만 봐도 다른 사람들이 친절하게 써둔 글을 볼 수 있습니다.
쉽고 빠르게 자료를 찾을 수 있는데, 공식문서를 읽어봐야겠다는 심적인 여유가 생기지 않습니다. (특히 취업을 해야 하는 입장에서)
그런데 이 책의 요구사항을 지키려면 필수적으로 공식문서를 읽어야 합니다. 이 과정에서 공식문서와 익숙해지는 훈련을 할 수 있습니다.

명세를 보고 구현하는 훈련을 할 수 있습니다

회사에 들어가면 일반적으로 요구사항을 보고 구현을 합니다. 그런데 취준을 할 때 명확한 요구사항을 보고 개발하는 경험은 쉽게 할 수 없습니다.
자바 공식문서는 명확하게 요구사항들이 적혀있습니다. 공식문서를 보고 구현하는 일련의 과정은 좋은 경험이 된다고 생각합니다.
또, 잘 정리된 요구사항을 읽으면서 어떤 식으로 요구사항을 적는게 좋은지 경험할 수 있습니다.

선배 개발자의 Best Practice를 볼 수 있습니다

좋은 코드를 답습하는 건 실력향상에 있어 도움이 된다고 생각합니다. 내가 먼저 구현해본 뒤, 답지를 통해 나와 어떤 차이가 있는지 확인할 수 있습니다.
사실 엄청 좋다 느낌은 아니지만, 그래도 도움이 됩니다!!

전체평

자료구조에 관련한 부분은 좋았습니다. 이미 개념을 어느 정도 알고 있어, 구현의 가이드라인이 되었다는 점에서 좋았습니다.
특히 ArrayList의 내부 구조나, 항상 헷갈리던 HashMap 등의 내부 구조에 대해 명확하게 잡았다는 점에서 저는 좋았습니다.
하지만, 알고리즘에 관련한 부분은 개인적으로 추천하지 않습니다. 설명이 빈약하다는 점이 여기서는 치명적인 약점으로 작용합니다.
자료구조는 설명이 빈약해도 공식문서를 보고, 구현을 하면서 개념을 잡아서 좋았습니다. 하지만 알고리즘은 그냥 어떻게 하라는 설명 자체가 빈약해서 구현에 어려움을 많이 겪었습니다. 또, 이미 DFS, 인덱스 등의 개념을 알고 있음에도 글이 잘 읽히지 않았습니다.
만약 이 책을 읽으시려는 개발자 분이 있다면 Chapter 7, 8, 14~16은 건너뛰는 걸 추천합니다. 다른 책으로 공부합시다.

profile
작은 지식 모아모아

0개의 댓글