해당 리뷰는 “한빛미디어”에서 제공하는 도서를 이용하여 리뷰를 진행하였습니다.
이 책의 제목은 미사여구를 포함해서 “프로그래머의 취업, 이직을 결정하는 알고리즘 문제 풀이 전략” 입니다. 솔직히 말해서, 국내는 알고리즘 문제를 이용해서 기술 면접이 이루어지는 곳이 엄청 많지는 않습니다. 그리고, 약간 면접관에 의해서 케이스 바이 케이스인 경우도 많구요. 다만, 이제 점점 전화면접이나 온라인 홈워크나 문제 풀이를 이용해서 지원자를 스크리닝 하는 경우는 점점 늘어나고 있습니다. 다만, 외국의 특정 G사, F사 처럼 문제 풀이만 시키는 형태가 되기에는 아직은 시간이 걸릴듯 합니다.
아픈 기억이지만, 저도 실제로 알고리즘 문제만 푸는 면접을 2012년에 본 적이 있습니다. 이렇게 아픈 기억이라고 얘기하는 건, 똑 떨어졌다라는 이야기입니다. 5시간 동안 알고리즘만 풀면… 머리가 안돌아가는…
다시 책 이야기로 돌아와서, 이 책은 크게 두 부분으로 구성되어 있습니다. 기본적인 자료구조/알고리즘 부분…(C코드로 되어있는…) 나머지는 실제로 문제와 그에 대한 해답입니다. 개인적으로 이 책의 최대 장점은 문제 부분보다는, 앞쪽에 잘 정리된 자료구조/알고리즘 부분입니다. 이미지를 통해서 실제로 단계별로 어떻게 이렇게 진행되는지에 대해서 자세히 설명되어 있습니다.(간단한거는 그냥 쉽게 훅 넘기기도 합니다. ㅎㅎㅎ)
보통 알고리즘 문제를 내는 곳도 엄청 어려운 문제를 내지는 않습니다. 그리고 정답을 맞추는 것보다 정답을 맞추어가는 과정을 중요시합니다. 그래서 실제 이런 문제를 풀 때는, 자신이 생각하는 과정과 풀이 과정을 계속 면접관과 맞추어가는 것이 중요합니다.
그래서 어떤 자료구조를 선택하고 알고리즘을 선택할 것인가에 대해서 기본기가 튼튼해야 하는데, 이런 부분이 잘 갖춰져 있다는 겁니다. 그리고 문제를 다 풀어보는 것도 꽤나 도움이 될듯합니다. 실제로 같은 문제가 나오지는 않겠지만…(craking code interview 라는 책이 있는데, 인사이트에서 “코딩 인터뷰 완전분석” 이라고 번역되어 나왔습니다. 외국에서 이 책은 거의 취업쪽 바이블로 통하는…) 문제를 풀어보고 연습해 둔다는 것이 상당히 중요합니다. 실제 외국에서도 이직을 할려면 이런 쪽 문제랑 공부를 대략 6개월 정도 합니다.
사실 제가 약한 부분이던, 전위/중위/후위 순회라든지, 정렬쪽이 상당히 설명이 잘 되어있어서 좋았습니다. 여러 책을 보시겠지만, 앞에서 언급한 책과 함께 보시면 좋을듯 합니다.