프로그래밍 면접 이렇게 준비한다 (존 몽건 외 2인, 2007) 독후감
알고리즘, 자료 구조 문제 중에서 프로그래밍 면접에 나올법한 짧은 문제를 수록한 책이다. 알고리즘 및 자료구조 복습이 필요한데, 대학교 때 배운 두꺼운 책보단 이런 얇은 책이 워밍업에 좋을 거라 생각해 책을 펼쳐들었다.
간단해서 짧은 면접 시간에 물어보기 좋은 문제들이 실려 있다. 포인터 개념을 알아보는데 좋은 리스트 문제를 비롯해 사이클이 있는지 판단하는 토끼와 거북이 알고리즘(Tortoise And Hare) 등 쉬운 문제부터 간단하지만 고민해야 하는 문제까지 넓게 다루고 있다.
답을 알려주는 방식이 무척 마음에 들었다. 그냥 문제를 내놓고 “이게 답이다.” 딸랑 던져주는 게 아니라 쉽고 바로 생각할 수 있는 해법을 가르쳐 준 다음 조금씩 개선하며 최종 답을 내는 과정을 보여준다. 즉, 보통 O(n^2) 답을 먼저 제시한 다음 좀 더 빠르게 해결할 수 있는 여지를 찾아서 O(logn) 혹은 O(n)으로 문제를 해결한다.
문제를 푸는 과정을 말로 설명하라고 하는데, 과연 생각해보니 그렇다. 면접관 입장에서 문제를 냈는데, 면접자가 꿍하게 아무 말도 안 하고 있으면 무지 답답할 것 같다. 답을 바로 탁 내놓는 것보다 문제를 어떻게 해석하고 접근하는지 과정을 궁금해한다. 단, 여기에 함정 하나. <EBS 다큐프라임 동과서>에 실험으로도 나왔다. 바로 동양인은 입으로 설명하면서 문제를 풀면 아무 말도 하지 않고 푸는 것보다 더 문제를 못 푼다는 점. 이거 연습 좀 많이 해야 한다.
Update
표지 사진 업데이트