2017년 12월 6일 수요일

코딩 인터뷰 완전 분석 후기

회사에서 이런 책을 사 주었다. 회사에서 이런 책을 권장하는게 좀 의아하기도 하지만 ㅋㅋ

나중에 휴대폰으로 찍으면 표지 올려야지. 브라운 내지에 흰색으로 글씨를 써 놓으니 안 보인다. ㅋㅋ 겉 표지는 괜찮은데 그걸 뜯어내면...
믓튼 한달만에 다 보고 소감을 쓰자면...

자료구조에 힙이나 프리미티브 타입에 대한 언급이 없어 펌웨어나 임베디드 분야, 디바이스 드라이버, 커널, 운영체제, 프레임웍 개발자와는 다른 응용 프로그래머를 위해 쓴 책이라고 할 수 있겠다.

아무래도 응용 프로그래머는 이직도 잦고 수요도 많고 기술 진입 장벽도 낮고 서로서로 교류를 잘 하다보니 어떤 공식같은 문화가 생겨났다. 대체적으로 사이트 선전이 참 많은데 그것을 자치하더라도 기초 공부에 상당히 도움이 되는 책이다.

아쉬운 것은 단계를 쓸 때 가만히 보면 V 모델을 말하는 것이고, 기타 자신의 사이트에 아주 많은 자료가 있다고 하면서 탑코더에서 정리한 알고리즘 분야처럼 정리해 두진 않았다. 좋은 것은 그냥 가져다 쓰는게 좋은데 내 책에서 위키피디아 보다 더 잘 적을 수 있는 부분이 아니면 그냥 차용해서 썼다. 애플이 CPU 만들 기술이 있지만 굳이 가기꺼라고 포장하지 않고 인텔껄 가져다가 만드는 것과 같은 책은 아니다. 한번 정도 읽고 지나가는 책. 수많은 지식을 진리라는 함축적인 문장으로 표현하는 것이 중요한데 다른 부분보다 처음 알고리즘 풀이 단계를 적은 것은 정말 진리다. 많은 알고리즘 책들이 저마다의 풀이 단계를 적고 있다. 인공지능에서는 알고리즘이 한참 못 미치는 수준의 정형화된 문제 풀이 방법으로 하고 있지만 많은 알고리즘 서적은 알고리즘이 문제 풀이 방법의 궁극적 해법으로 알고 있다. 그러나 이 책은 다르다. 기술 문제에 한정 지어서 말하고 기술 문제 풀이를 우선 5단계로 나눈다. 그 중 하나가 알고리즘 설계인데 알고리즘 설계도 5단계로 나눈다. 

도널드 커누스 책은 명작이다. 그것을 여러번 읽은 교수님이 필수적인 부분만 정리해서 쓰신 책인 Algorithm in nutshell이 있다. 그 책에는 원칙이 있는데 pseudo 코드를 쓰지 말라는 것이다. 이 책에서는 다른 책들과 다르게 먼저 의사 코드를 쓰라고 되어 있다. 그러나 다른 책은 각 단계를 설명한 부분에서 개발자가 면접장에서 느낄 수 있는 긴장감을 푸는 것 까지 방법론에 넣어두었다는 생각이다. 이미 개발했던 모듈의 변형의 경우 설계도 없이 코딩에 바로 들어가도 상품화해도 될 때가 있다. 물론, 대기업에서는 아니고 중소기업에서(기업의 규모로 말하지만 실제로는 모듈의 크기) 그래서 실무진에 있는 사람은 Algorithm in nutshell 이 더 잘 맞고 시간 날때 The art of computer programming을 보는게 맞는 것 같다. 이 책은 정말 코딩 인터뷰용인듯.

기술적 부분이야 인터넷에서 쉽게 찾을 수 있지만 이 책의 초반부에 나온 기술문제 풀이 방법 5단계와 알고리즘 설계 5단계는 책을 구입하기에 충분한 진리다. 따져보면 질문으로 문제를 명확화 한다는 것은 요구공학에서 이미 말하고 소프트웨어 공학의 고전인 V 모델에서도 이미 말하고 있기에 현실에서 그것을 풀어 쓴 것이라고 할 수 있겠다.

삼성소프트웨어 멤버십이나 에트리에서 기술 면접관으로 지낸 나도 실제 기술 면접을 가면 잘 못하는 경우가 많은데 이런 책이 저변화 되어 각 기업마다 공통적인 준비 과정이 도입되면 좋겠다. 이미 코딜리티라는 좋은 솔루션도 있다. 재미있는 것은 준비하는 것과 준비 안하는 것은 천지차이고 그 기간이 고작 1달이지만.(한달만에 고급 개발자 초급 개발자를 나눌 수 있다면 믿겠는가?) IT 업계도 어느정도 정형화를 하려고 하고.

사법고시가 아닌 로스쿨을 운영하는 것처럼 이제 대부분은 주변에 잘하는 분이 추천해주는 분이면 으레 잘하는 경우가 많은 것 같다.

https://careercup.com
https://vimeo.com/ondemand/ctci

저자의 사이트도 있고, 관련 동영상도 있다. 그러나 난 여전히 알고스팟을 추천한다.

어차피 문제에 대해서 오랜 시간 여러 방면으로 생각하는 것이 중요하다. 그리고 그런 생각의 힘을 길러주는 수학도 중요하기 때문.


댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...