이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접 - 취업과 이직을 결정하는 필수 CS 지식+기술 면접 가이드 이것이 시리즈
강민철 지음 / 한빛미디어 / 2024년 8월
평점 :
장바구니담기




컴퓨터 과학(CS : Computer Science)의 기본기를 다져주고 취업에도 도움이 되도록 집필된 책이 나왔다. “이것이 (취업을 위한) 컴퓨터 과학이다 (with CS 기술 면접)”이란 도서명이다. 640쪽에 달하는 적지 않은 분량이고, 출판사 홈페이지 정보상 “초중급” 독자를 대상으로 하고 있다. 그래서, IT업계에 몸담고 있긴 하지만 컴퓨터 공학 관련 비전공자로서 내용을 잘 소화할 수 있을지 걱정하는 마음으로 책을 읽기 시작했다. 쉽게 쓰여진 문장, 적절한 삽화 및 이미지 등을 통해 책 내용을 이해하는데 별로 어려움은 없었다. 이미 알고 있던 지식은 복습하고, 새로운 용어나 개념 등도 습득하게 된 유익한 시간이었다.


지은이의 글에서 저자는 개발자에게 필요한 핵심 역량은 “근거를 설명하는 능력”이라고 확신한다. 특정 코드 혹은 프로그램이 어떻게 작동하며, 왜 특정 성능을 내는지에 대한 근거를 제시하고 설명하는 능력이 AI 도구에 종속되지 않는 진짜 역량이라고 믿는다고 하고, 컴퓨터 과학이 상당 부분 능력을 키워줄 수 있다고 보고 있다.


강민철 저자는 “혼자 공부하는 컴퓨터 구조 + 운영체제”, “혼자 공부하는 네트워크”를 저술한 경력이 있다. 강의와 책으로 지식을 나누고, 코드와 논문으로 지식을 발굴하는 개발자이자 연구자라는 저자 소개가 와 닿는다.


저자는 프로그램 개발의 목적은 일단 작동만 하는 코드가 아닌 제대로 작동하는 코드를 만드는 것이라고 강조한다. 이를 위해 컴퓨터 과학이라는 방대한 주제를 공통지식과 개별지식으로 칭하고 구분한다. 공통지식으로 컴퓨터 구조, 운영체제, 자료구조, 네트워크, 데이터베이스를 다룬다. 개별지식으로 분류한 프로그래밍 언어, 프레임워크/라이브러리, 개발도구, 이력서 및 직무 전문성은 간단하게 언급하고 있어 독자가 참고할 수 있도록 한다.

이 책은 6개의 챕터로 구성되어 있다. 

Chapter01 기술 면접과 실무를 위한 컴퓨터 과학, Chapter02 컴퓨터 구조, Chapter03 운영체제, Chapter04 자료구조, Chapter05 네트워크, Chapter06 데이터베이스


각 Chapter의 시작에서는 다룰 내용을 간략하게 언급하고 지도 형식으로 표현해서 학습시 방향을 잘 잡도록 도와준다. 보충 설명, 참고 사항, 관련 용어 등은 “여기서 잠깐” 부분을 통해 학습을 보완하고, 혼동하기 쉽거나 추가 필요 사항은 짧은 “NOTE”를 통해 부연 설명하고 있다. 별도의 인터넷 사이트를 통해 개발자를 위한 1,000개 이상의 컴퓨터 과학 관련 용어를 참고해 볼 수 있다.


별도의 “추가 학습 NOTE”를 통해 학습한 내용에 대한 배경 및 원리, 차이점 등을 알 수 있다. 챕터01을 제외한 각 챕터의 말미에는 “기술 면접 TIP”을 통해 실제 CS 기술 면접 질문과 모범답안 으로 전체 100개를 제시하고 있어 실질적인 도움을 주고 있다. 



설명 중 중요한 문장과 용어, 개념 등에 대해서는 볼드체로 표시해서 독자의 주의를 환기하고 있다. 이 책의 특징적인 부분으로 각주가 없는 것을 들 수 있는데, 각주가 필요한 설명을 본문에서 하고 있어 시선이 분산되지 않고 내용을 볼 수 있어 개인적으로 더 좋았던 것같다. “NOTE”와 “여기서 잠깐” 등과 같은 장치로 부가적인 설명도 충분히 제공되고 있다.


본문과 관련한 참고 사항을 “여기서 잠깐” 코너를 통해 충분히 설명하고 있다. 본문에서 설명한 2진법 외에도 컴퓨터 분야에서 필수적으로 사용되는 16진법을 “여기서 잠깐” 코너를 통해 설명하고 있다.


여느 학습 교재에 못지 않게 충분한 보조 자료를 제공하고 있다. 한빛미디어 유튜브 채널에서 저자의 직강 동영상이 제공된다. 책에 포함된 모든 예제의 소스 코드와 학습 참고 내용을 자료실에서 확인할 수 있다. 깃허브에서 책을 학습하는 데 필요한 소스 코드와 Q&A를 제공한다. 별도의 사이트인 CS Note를 통해 개발자를 위한 컴퓨터 과학 용어를 1,000개 이상 한 눈에 확인할 수 있도록 하고 있다.



실무에서 직접 코딩을 통해 학습한 내용을 점검해 볼 수 있도록 소스 코드와 실행결과를 내용에 포함하고 있다. 아울러 “NOTE”를 통해 짧지만 필요한 부연 설명을 알 수 있다.


컴퓨터 과학의 전반적인 분야를 다루므로 전체적으로 용어 소개 위주의 얕은 내용으로 구성되었을 거라 생각이 들 수 있는데, 그렇지 않다. 개발과 취업 관련 컴퓨터 과학 주제로 집중되어 있긴 한데, 다루고 있는 용어나 개념에 대한 설명의 깊이가 얕지 않다. Base64 인코딩(encoding)은 암호화 관련 내용 등에서 다루어질때, 엄밀히 암호화 기술은 아닌 것으로 언급되곤 한다. Base64 인코딩이 64진법 인코딩 기술이라는 책의 설명을 접하고 왜 암호화(encryption)가 아닌지 알 수 있게 되었다.


적절하게 도표, 삽화를 활용해서 보다 쉽게 이해할 수 있도록 하고 있다. 글만으로 설명하기 힘든 메모리에서의 인터럽트 발생 상황을 알기 쉽게 표현하고 있다.


실제 화면 캡춰를 적절히 사용해서 설명한 내용을 직관적으로 확인해 볼 수 있도록 하고 있다. 윈도우 작업관리자를 통해 내 PC의 CPU 속도, 코어갯수, 논리프로세서갯수를 확인해 볼 수 있다.


각 챕터의 말미에는 코드 문제를 비롯한 다양한 기술 면접 질문과 모범 답안이 난이도와 참고 본문 페이지를 포함해 제공되어서 실질적인 도움을 주고 있다.


실무에서 접하기 어려운 다양한 기술에 대한 설명도 빠지지 않는다. NoSQL 데이터베이스도 기술과 제품이 나온지 꽤 되었지만, 개인적으론 실무에서 접하기 어렵고, 현장에서는 아직도 RDBMS가 주로 사용되고 있다. NoSQL중 많이 알려져 있는 도큐먼트 데이터베이스인 MongoDB와 키-값 데이터베이스인 Redis도 맛보기로 소개하고 있는데, 저자가 다양한 기술을 포함하려고 노력한 결과가 아닌가 싶다.


책 소개에서는 이 책이 필요한 독자로 취업, 이직 등을 목표로 기술 면접에 대비하는 취업 준비생, 부족한 CS 전공 지식을 보완하고 싶은 컴퓨터 공학 (비)전공자, 실무에 필요한 CS 개념을 다시 한번 확인하고 싶은 현직 개발자로 나열하고 있다. 컴퓨터 공학 비전공이면서 IT업계에 몸 담고 있는 독자로서 컴퓨터 과학 관련 한 편의 대하 드라마를 본 것 같은 느낌이다. 기술 면접과 실무에 필요한 컴퓨터 과학의 기본기를 다지고자 할 때 충분한 길잡이가 되어 줄 것이라 생각한다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."







댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo