한빛리더스 8기 2차 미션 우수 리뷰어 '김인범' 님의 
도서 리뷰 입니다. [원본: http://revolutionist-inbum.tistory.com/]


로그래밍 면접 이렇게 준비한다(3판)


존 몽건, 에릭 기게리, 노아 수요야넨 킨들러 지음 | 서환수 역





프로그래밍 면접 이렇게 준비한다 - 나를 위한 새로운 관점



preview

급하게 총평부터 이야기하자면 기대했던 내용 반, 기대하지 않았던 내용 반이었다.

제목에서 느껴지는 예상된 내용과 더불어, 그 내용을 아우르는 보다 넓은 관점의 이론과 기타 준비 사항에 대한 이야기들은 호기심을 불러 일으키기에 충분했다.

첫장부터 등장하는 입사지원 절차는 내가 벌써 이직을 생각하는 것처럼 느껴지게 만드는 묘한 장이었다.

하지만 필요한 부분을 현실적이고 냉정하게 지적한 점이 꽤 매력적으로 느껴지기도 한 부분이었다.

책을 읽으며 온라인 프로파일을 정리하면서 나 스스로에 대해 냉철하게 생각해볼 수 있었던 시간이었다. 



프로그래밍 문제 접근법

이 책에 등장하는 많은 내용과 목차들이 중요하고 도움이 되는 것은 명백하다.

다만 가장 중요한(소중한) 목차를 하나 선정하라고 한다면 나는 "chapter03. 프로그래밍 문제 접근법"을 고르고 

싶다. 문제를 접하고 직접 풀어보는 과정에서 직면할 수 있는 상황에 대한 설명, 그리고 그 상황에서의 대처법과 생각 논리에 대해 비교적 간결하면서도 명확하게 설명하고 있다. 물론 등장하는 내용은 기본기가 충실한 사람들에게는 너무나 당현한 말일수도 있겠지만 사실 알면서도 놓치기 쉬운 부분이 문제 해결 능력이란 것이다.

그리고 프로그래밍이란 이름을 지우고 나서 보면 이는 다양한 분야에서의 문제를 해결하는 데 있어 필요한 

"문제 접근법"으로 봐도 무방하리라 생각된다.



연결리스트, 트리와 그래프

학부시절 자료구조와 알고리즘을 통해 자주 학습하던 부분이다. 명확하게 기억하고 있지 않다는 것은 그만큼

기본기에 대한 부족을 나타내는 것이라 생각한다. 내가 면접관이어도 이 항목이 문제를 내고 역량을 살펴보기에 가장 적합하리라 생각한다. 실제로 많이 쓰이지만, 의외로 정확하게 원리를 이해하기 힘든 항목이라 생각한다. 특히나 연결리스트 부분은 예제 코드가 많아서 직접 구현해보기에도 좋은 형태이다.



재귀호출, 정렬

이 부분은 살펴보는 내내 퀴즈를 풀어보는 느낌이었다. 정확히는 프로그래밍 올림피아드 마이너 버전의 느낌..

정렬이 다양한 정렬에 대한 소개와 간단한 구현법을 다루었다면, 재귀호출 부분에서 면접문제로 제시된 

'전화 단어' 문제는 말 그대로 논리적인 생각의 연결을 필요로 하는 문제였다.



동시성

thread가 무엇인가요? 사실 이 질문에 제대로 대답할 수 있는 개발자가 몇 명이나 될까? 이미 자신도 

모르게 사용하고 있지만 정확한 개념을 알기 힘든 것이 동시성이다. 세마포어, 생산자/소비자 문제는 운영체제 

교재가 생각하게 하는 부분이었다.



카운팅, 측정 및 순서 관련 퍼즐

구글에서는 어떤 면접 문제가 나오나요? 에 대한 해답이 될수 있을 법한 부분이다. 단순히 프로그래밍을 

잘 하느냐 못하느냐의 문제를 넘어선 개개인의 논리적인 구성능력과 상황 대처 능력을 살펴보기에 좋은

항목이라 생각한다. 사실 이 부분은 자주 자주 살펴보면서 스스로의 고정관념을 깨고 건강한 형태의 논리적

확장이 이루어져야 할 부분이다.



overview

프로그래밍 면접 준비에 대한 제목으로 시작했지만, 막상 알고 보면 다양한 분야의 면접 준비에 쓰일 만한 

책이라 생각한다. 기본기를 쌓으면서 동시에 문제해결 능력을 기르기에는 교과서로 쓰일 수 있을 법한 구성이며, 무엇보다 독자가 스스로 방법을 생각하게끔 유도하기에 오래 두고 살펴볼만한 책이라 생각한다.

+ Recent posts