메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접

취업과 이직을 결정하는 필수 CS 지식+기술 면접 가이드

한빛미디어

집필서

판매중

  • 저자 : 강민철
  • 출간 : 2024-08-13
  • 페이지 : 640 쪽
  • ISBN : 9791169212540
  • 물류코드 :11254
  • 초급 초중급 중급 중고급 고급
4.8점 (20명)
좋아요 : 18

기술 면접과 실무에 필요한 CS 지식, 한 권으로 끝내자!

 

프로그램의 실행 원리를 이해하지 못한 채 ‘일단 작동만 하도록 만드는 것’과 정확하게 이해하고 ‘제대로 작동하도록 만드는 것’, 둘 중 어느 것이 더 쉬울까? 개발을 해 본 사람이라면 이미 답을 알고 있을 것이다. 제대로 작동하는 프로그램을 개발하려면 문제를 정의하고 해결할 수 있어야 한다. 문제의 해결은 곧 컴퓨터 과학에서 시작되며, 이것이 바로 수많은 기업에서 입사 지원자의 컴퓨터 과학적 지식을 검증하는 이유이다.
이 책은 취업과 이직, 기술 면접과 밀접한 컴퓨터 과학 전반(컴퓨터 구조, 운영체제, 자료구조, 네트워크, 데이터베이스)을 다루며, 실제 프로그래밍에 적용되는 구체적 사례와 친절한 설명을 통해 컴퓨터 과학이라는 방대한 주제를 한눈에 파악할 수 있도록 돕는다. 이 책을 통해 컴퓨터 과학에 대한 이해를 넓히는 것은 물론, 보다 나은 실무 능력과 역량을 갖춘 개발자로 한 단계 성장할 수 있을 것이다.

 

 

강민철 저자

강민철

강의와 책으로 지식을 나누고, 코드와 논문으로 지식을 발굴하는 개발자이자 연구자이다. 문제 해결과 집필을 즐기고, 조용한 산과 바다를 좋아한다.

 

CHAPTER 01 기술 면접과 실무를 위한 컴퓨터 과학
 

1 원리를 모르는 개발자는 뛰어난 개발자가 아니다
__일단 작동만 하는 코드 vs 제대로 작동하는 코드
__프로그램의 원리를 이해하기 위한 컴퓨터 과학
 

2 컴퓨터 과학 지도 그리기: 기술 면접에 대비하고 싶다면
__컴퓨터 과학은 키워드 암기 과목이 아니다
__책에서 다루는 내용: 대다수 직군에서 강조되는 지식
__책에서 다루지 않는 내용: 직군에 따라 중요성이 달라지는 지식
[추가 학습 NOTE] CS Note: 개발자를 위한 컴퓨터 과학 용어집

 

CHAPTER 02 컴퓨터 구조
 

1 컴퓨터 구조의 큰 그림
__컴퓨터가 이해하는 정보
__컴퓨터의 핵심 부품
__컴퓨터 구조 지도 그리기
 

2 컴퓨터가 이해하는 정보
__데이터 - 0과 1로 숫자 표현하기
__데이터 - 0과 1로 문자 표현하기
__명령어
 

3 CPU
__레지스터
__인터럽트
__CPU 성능 향상을 위한 설계
__파이프라이닝을 통한 명령어 병렬 처리
 

4 메모리
__RAM
__메모리에 바이트를 밀어 넣는 순서 - 빅 엔디안과 리틀 엔디안
__캐시 메모리
 

5 보조기억장치와 입출력장치
__RAID
__입출력 기법
[추가 학습 NOTE] GPU의 용도와 처리 방식
[기술 면접 TIP] 취업 멘토가 알려 주는 기술 면접 질문 15

 

CHAPTER 03 운영체제
 

1 운영체제의 큰 그림
__운영체제의 역할
__운영체제 지도 그리기
__시스템 콜과 이중 모드
 

2 프로세스와 스레드
__멀티프로세스와 멀티스레드
__프로세스 간 통신
 

3 동기화와 교착 상태
__동기화 기법
__교착 상태
 

4 CPU 스케줄링
__CPU 스케줄링 알고리즘
__리눅스 CPU 스케줄링
 

5 가상 메모리
__물리 주소와 논리 주소
__스와핑과 연속 메모리 할당
__페이징을 통한 가상 메모리 관리
__페이지 교체 알고리즘
 

6 파일 시스템
__파일과 디렉터리
__파일 시스템
[추가 학습 NOTE] 전원 버튼을 누르고 부팅이 되기까지
[추가 학습 NOTE] 가상 머신과 컨테이너
[기술 면접 TIP] 취업 멘토가 알려 주는 기술 면접 질문 25

 

CHAPTER 04 자료구조
 

1 자료구조의 큰 그림
__자료구조와 알고리즘
__시간 복잡도와 공간 복잡도
__자료구조 지도 그리기
 

2 배열과 연결 리스트
__배열
__연결 리스트
 

3 스택과 큐
__스택
__큐
 

4 해시 테이블
__해시 함수
__해시 충돌
 

5 트리
__트리의 순회
__트리의 종류
 

6 그래프
__그래프의 종류와 구현
__깊이 우선 탐색과 너비 우선 탐색
__최단 경로 알고리즘

[기술 면접 TIP] 취업 멘토가 알려 주는 기술 면접 질문 15

 

CHAPTER 05 네트워크
 

1 네트워크의 큰 그림
__네트워크의 기본 구조
__두 호스트가 패킷을 주고받는 과정
__네트워크 지도 그리기


2 물리 계층과 데이터 링크 계층
__이더넷
__유무선 통신 매체
__네트워크 인터페이스: NIC
__허브와 스위치
 

3 네트워크 계층 - IP
__IP의 목적과 특징
__IP 주소의 구조
__공인 IP 주소와 사설 IP 주소
__IP 주소의 할당
__IP 전송 특징의 보완: ICMP
__IP 주소와 MAC 주소의 대응: ARP
 

4 전송 계층 - TCP와 UDP
__TCP와 UDP의 목적과 특징
__TCP의 연결부터 종료까지
__TCP의 상태 관리
 

5 응용 계층 - HTTP의 기초
__DNS와 URI/URL
__HTTP의 특징과 메시지 구조
__HTTP 메서드와 상태 코드
__HTTP 주요 헤더
 

6 응용 계층 - HTTP의 응용
__쿠키
__캐시
__콘텐츠 협상 
__보안: SSL/TLS와 HTTPS
 

7 프록시와 안정적인 트래픽
__오리진 서버와 중간 서버: 포워드 프록시와 리버스 프록시
__고가용성: 로드 밸런싱과 스케일링
__Nginx로 알아보는 로드 밸런싱
[추가 학습 NOTE] 웹 서버와 웹 애플리케이션 서버
[추가 학습 NOTE] 소켓 프로그래밍
[기술 면접 TIP] 취업 멘토가 알려 주는 기술 면접 질문 25

 

CHAPTER 06 데이터베이스
 

1 데이터베이스의 큰 그림 
__데이터베이스와 DBMS
__파일 대신 데이터베이스를 이용하는 이유
__데이터베이스의 저장 단위와 트랜잭션
__데이터베이스 지도 그리기
 

2 RDBMS의 기본
__테이블의 구성: 필드와 레코드 
__테이블의 관계
__무결성 제약 조건 
 

3 SQL
__데이터 정의 언어(DDL)
__데이터 조작 언어(DML)
__트랜잭션 제어 언어(TCL)
 

4 효율적 쿼리 
__서브 쿼리와 조인
__뷰 
__인덱스
 

5 데이터베이스 설계 
__ER 다이어그램 
__정규화 
 

6 NoSQL 
__RDBMS vs NoSQL: NoSQL의 특징
__다양한 NoSQL: MongoDB와 Redis 맛보기 
[추가 학습 NOTE] 데이터베이스 분할과 샤딩 
[기술 면접 TIP] 취업 멘토가 알려 주는 기술 면접 질문 20

 

찾아보기

기술 면접부터 개발 실무까지, 진짜 개발자를 위한 CS 지식!


개발자 취업을 위한 기술 면접에서는 지원자의 CS 지식에 대한 이해를 묻는 경우가 많다. 필자는 책의 서두에서 컴퓨터 과학이 단순 암기 과목이 아님을 강조한다. 이는 기술 면접의 목적이 지원자의 암기력을 테스트하기 위함이 아니라, 실무를 위한 개발의 재료를 얼마나 가지고 있는지 확인하기 위함이기 때문이다. 
『이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접』은 실제 프로그래밍에 적용되는 구체적 사례와 친절한 그림, 상세한 설명으로 컴퓨터 과학이라는 방대한 주제를 정리하고, 효과적으로 기술 면접에 대비할 수 있다.
이 책을 취업과 이직 등을 목표로 기술 면접에 대비하는 취업 준비생, 진짜 개발자라면 반드시 필요한 CS 전공 지식의 부족함을 보완하고자 하는 컴퓨터 공학 (비)전공자, 실무에 활용할 CS 개념을 체계적으로 정리하고 싶은 현직 개발자에게 권한다.

 

[특별 제공]

- CS 기술 면접 질문 100제(도서 수록)
- CS Note(개발자를 위한 컴퓨터 과학 용어집)(웹 문서 제공)
 

컴퓨터 과학에 대한 기본적인 개념을 다루는 책으로서, 그림이나 도표 등을 적재적소에 잘 활용하고 있는 책입니다. 특히 자료구조나 통신의 경우 데이터의 흐름을 줄글로 파악하는 것은 쉬운 일이 아니기에 그림을 통해서 이해하는 것이 효과적입니다.

본 포스팅은 한빛미디어 '나는 리뷰어다' 활동으로 서적을 제공받아 작성된 솔직한 후기입니다.

생각보다 컴퓨터과학은 대단히 깊고 방대한 양을 가지고 있습니다. 개발자가 반드시 알아야 하는 배경지식임에도 기술면접만 위한 암기 과목으로 전락한 모습을 종종 볼 수 있는데요. 소프트웨어 개발이 점차 복잡해지고 다양한 산업에 걸쳐 응용되고 있는 시점에서 개발자에게 컴퓨터 과학은 더 이상 하나의 도구가 아니라 개발자의 필수 역량이라고 생각합니다.

 

이번에 소개할 이것이 취업을 위한 컴퓨터 과학이다 책에서는 개발자로서 살아남기 위해 필요한 역량은 근거를 설명할 수 있는 능력이라고 합니다. 특정 코드 혹은 프로그램이 어떻게 작동하며, 왜 특정 성능을 내는지에 대한 근거를 제시 및 설명하는 능력이 필수로 자리 잡혀가고 있다고 설명하고 있는데요. 더 이상 컴퓨터 과학이 암기 과목이란 오해를 없애기 위해 컴퓨터 과학의 큰 숲을 볼 수 있게 도와줍니다.

 

컴퓨터 과학이라는 주제를 한눈에 파악할 수 있도록 반드시 알아야 하는 공통 지식과 개별 직군 및 기업에 따라 달라질 수 있는 개별 지식으로 나뉩니다. 공통 지식으로 분류한 챕터에서는 실무와 연관시키기 위해 가급적 코드를 근거로 설명해 주고 있는데요. 이것이 취업을 위한 컴퓨터 과학이다 책에선 공통 지식인 컴퓨터 구조, 운영체제, 자료구조, 네트워크, 데이터베이스에 대해 다룹니다. 이번 기회를 통해 컴퓨터 과학의 큰 그림을 그리며, 컴퓨터 과학 각 과목 간의 따로 떼어 낼 수 없을 만큼 긴밀하게 연관되어 있는지 알 수 있는 시간이 될 것입니다.

 

비전공자들도 쉽게 컴퓨터 과학을 접할 수 있게 프로그래밍 언어에 대한 선행 지식이 없어도 편히 읽을 수 있게 친절한 그림과 원리를 파악할 수 있는 설명으로 담고 있습니다. 꼭 필요한 개념을 놓치지 않게 여기서 잠깐을 통해 보충 설명, 참고 사항을 알아가고 NOTE 부분을 통해 혼동하기 쉬운 내용을 정리할 수 있습니다. 이 책의 큰 장점인 챕터 마지막엔 주제에 맞는 기술 면접을 제공합니다. 질문의 난이도와 관련된 페이지를 한눈에 확인할 수 있게 도와주면서 나의 수준을 점검할 수 있는데요. 대신 취업과 이직, 기술 면접과 밀접한 연관성을 설명하기 위해 실제 프로그래밍을 적용합니다. 컴퓨터 과학의 코드 기반 사례를 최대한 수록하고 있기 때문에 이 부분에 이해하기 위해 프로그래밍 언어에 대한 기초 학습이 선행되어 있으면 큰 도움이 됩니다.

 

이뿐만 아니라 더 쉽게 컴퓨터 과학을 이해하길 바라는 마음으로 한빛 미디어 유튜브 채널에선 저자의 직장 동영상을 만나 볼 수 있습니다. 이뿐만 아니라 컴퓨터 과학 용어집을 제공해 독자들이 원리를 이해하는 데 집중할 수 있도록 구성되어 있습니다. 책에 등장하는 1,000개 이상의 컴퓨터 과학 주요 용어들을 한눈에 확인하시길 바랍니다.

 

이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접 통해 단순히 기술적 암기를 넘어 문제를 해결의 근본적인 원리를 이해하고 설득력 있게 설명할 수 있는 능력을 갖추어 보세요. 컴퓨터 과학의 기초를 탄탄히 다지는 것은 개발자로서 한 단계 더 도약하는 중요한 기회가 될 것입니다.

 

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

이 책은 개발자들이 필수적으로 알아야 할 컴퓨터 과학(CS) 지식과 기술 면접에 대비할 수 있는 종합적인 가이드를 제공하는 책이다. 이 책은 프로그램을 단순히 작동시키는 것이 아닌, 원리와 개념을 이해하고 제대로 작동하는 프로그램을 개발하는 방법을 강조하며, 이를 위해 필요한 컴퓨터 과학의 주요 개념들을 다룬다. 이를 통해 취업 준비생이나 이직을 준비하는 개발자들에게 필수적인 기술 면접 대비에 도움이 된다.

책의 내용은 컴퓨터 구조, 운영체제, 자료구조, 네트워크, 데이터베이스 등 다양한 주제를 다루며, 실제 프로그래밍에서 어떻게 적용되는지를 구체적으로 설명하고 있다. 또한, 각 장에는 실무에서 바로 활용할 수 있는 예시와 함께 중요한 CS 지식을 체계적으로 정리하여 이해하기 쉽게 구성되어 있다. 예를 들어, CPU 성능 향상을 위한 파이프라이닝, 메모리 관리 방법, 네트워크 계층 구조 등 면접에서 자주 묻는 내용을 중심으로 기술 면접에 대한 팁도 제공하고 있다.

이 책은 CS 개념을 처음 접하는 사람뿐만 아니라, 기초 지식을 다졌으나 더 깊은 이해를 원하는 개발자들에게도 유용하다. 기술 면접 준비에 필요한 핵심 개념을 한 권으로 정리해 제공하고, 이를 실제 업무에서 적용하는 방법까지 소개하고 있어, CS 개념과 실무 능력을 동시에 키우고 싶은 이들에게 큰 도움을 줄 수 있는 책이다.

 

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

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

 

저는 면접 준비를 하면서 CS 지식을 다시 점검하는데 유용했습니다. 기술 면접 준비를 시작한다면 추천합니다.
여러 블로그나 자료에서는 Context가 빠져있거나 핵심만 간단히 적혀있어서 이해가 어렵거나 내용을 신뢰하기 어려웠는데 책이 있으니 체계적인 흐름을 제공해줘서 더 효율적으로 공부할 수 있었습니다. 특히, 리눅스 명령어나 네트워크 데모가 중간에 등장해서 개념을 더 명확히 이해할 수 있었고 면접에서 어떻게 설명해야 할지 구체적인 팁도 얻을 수 있었습니다.

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


 


 

발간된 지 한 달 조금 지난 따끈따끈한 신작.

그런데 작가 이름이 어딘가 낯이 익은데? 했더니 '혼자 공부하는 네트워크', '혼자 공부하는 컴퓨터 구조 & 운영체제', '모두의 깃&깃허브'를 저자였다. 전부 다 읽고 싶어서 위시리스트에 넣어둔 책이라 저자 이름이 낯익었던 것.

<이것은 취업을 위한~ 다> 시리즈는 처음 읽어보는데 같은 출판사에서 나온 <혼자 공부하는 ~> 시리즈랑 비슷하지만 시리즈 명에서 보듯이 취업과 실무에서 약간 더 집중한다는 느낌이 들었다.


 

어느 순간부터 컴퓨터 공학이란 말보다 컴퓨터 과학이라는 말이 더 자주 사용되는데 차이가 뭔지 궁금해서 찾아봤다. 컴퓨터 공학(Computer Engineering)은 컴퓨터 과학(Computer Science)보다는 전자 공학에 더 비슷한 분야라고 한다. '공학'인 컴공 수업에서 전자소자, 회로이론, 반도체 등 물리학 위주로 진행되다가 프로그래밍의 소프트웨어적인 측면에 더 집중하면서 대학 등에서도 학과를 분리하거나 학과명과 커리큘럼을 재정비하는 추세라고 한다. <이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접>에서는 컴퓨터 과학이라는 방대한 주제 속에 개발자가 알아야 하는 공통 지식(1~5장)과 각 개발 직군별로 다르게 공부해야 하는 개별 지식(6~9장)으로 나누었다. 실제 프로그래밍에 적용되는 구체적 사례와 친절한 설명을 통해 컴퓨터 과학에 대한 이해를 넓히는 것은 물론, 보다 나은 실무 능력과 역량을 갖춘 개발자로 한 단계 성장할 수 있을 것이다.

기술 면접과 실무에 필요한 CS 지식을 한 권으로 끝내자는 목표를 가진 사람에게 이 책을 추천한다. 책 두께가 제법 되는 편이라 마음 맞는 사람끼리 스터디를 만들어서 정독하면 좋을 거 같다. 컴퓨터 과학이라는 큰 그림을 그리면서 키워드의 유기성을 찾아가는 내용이기에 더 자세히 알고 싶다면 <혼자 공부하는 ~> 시리즈에서 나온 네트워크, 운영체제 등을 추가로 찾아 읽으면 공부에 많은 도움 될 것 같다. 프로그램의 실행 원리를 이해하지 못한 채 ‘일단 작동만 하도록’ 만드는 것에 급급했던 사람이라면 기초를 쌓는데 이만한 도움을 주는 책은 없을 것이다. 이 책은 취업과 이직, 기술 면접과 밀접한 컴퓨터 과학 전반(컴퓨터 구조, 운영체제, 자료구조, 네트워크, 데이터베이스)을 다루며, 유튜브 동영상 강의와 한빛 미디어 자료실, 깃허브 등의 학습 자료를 적극적으로 제공한다.

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

 

내 인생에서 가장 힘들고, 언제 끝날지 모르는 터널을 지나는 것과 같은 취업 준비 시간 동안 많은 시행 착오가 있었고, 면접관에게 어떻게 하면 내 강점을 더 부각시키고자하는 시간들을 보내는 취준생들을 위해 필요한 책이라고 생각합니다.

 

하루라도 빨리 일하고 싶은 마음과는 달리 1년이라는 시간을 취준에 사용하면서, 스스로 회고를 했었는데 많은 시행착오 덕에 경험은 늘 수 있었지만, 취준 기간 동안 느꼈던 좌절감과 고통은 이루 말할 수 없습니다.

 

개발자 또는 엔지니어 취업을 목표로 한다면 한 걸음씩 나아간다는 생각으로 이 책으로 면접 기본 역량을 쌓아 나가는 것도 도움이 될 것이라 믿습니다.

안녕하세요.

이번에는 '이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접' 책 리뷰를 해보려고 합니다.


표지에 나온 것처럼 취업을 위한 책 답게

설명들이 자세히 나와있어

비전공자들도 쉽게 이해할 수 있습니다.

기술면접에서 전공 지식에 관한 질문이 들어올 때 대비할 수 있을 정도로 정리가 잘 되어있습니다.

예제 문제들도 있어서

코드를 공부하는 것도 유용합니다.

코드를 공부할 때 정의를 잊는 경우가 있는데

1회독 할 때마다 정의에 대한 설명이 잘 되어 있어서 좋더라고요.

각 챕터의 시작에서는 큰 그림을 잡아주고, 각 내용에 대해 설명해주는데 그림이 많아서 술술 넘어가기도 하고 내용도 이해하기 쉽다. 각 소단원이 끝날 때 마다 앞서 다뤘던 내용에 대한 질문과 답변, 기억나지 않는다면 본문 몇 페이지를 봐야할지도 알려줘서 책을 읽고, 자가점검 하기도 좋았다.

내용을 쉽게 풀어서 설명하면서도 적당히 깊이감이 있어서 처음 CS 면접을 대비하는 사람이 읽으면 좋을 것 같다. 또한 컴퓨터공학과 전공생이 해당 과목을 수강하기 전 이 책을 읽는다면 큰 도움이 될 것 같다. 실제 전공 수업에서 다루는 내용보다는 조금 가볍지만, 이렇게 접하고 수업을 듣는다면 훨씬 쉽게 내용을 받아들일 수 있을 것 같다.

컴퓨터 과학은 대단히 깊고 방대한 학문입니다. 개발자가 반드시 알아야 하는 배경지식임에도 불구하고, 학습의 범위의 로드맵이 명확하지 않은 경우가 많습니다. 이 책은 개발자라면 반드시 알아야 하는 ‘공통 지식’과 개별 직군 및 기업에 따라 달라질 수 있는 ‘개별 지식’으로 나누고, 핵심적인 공통 지식에는 개념 지도를 제시했습니다.

컴퓨터 과학의 핵심 과목(공통 지식)을 실무와 연관시키기 위해 가급적 코드를 근거로 설명했고, 컴퓨터 과학 용어집(CS Note)를 제공해 독자들이 원리를 이해하는 데 집중할 수 있도록 구성되어있습니다.

• CS Note : https://csnote.net
• 독자 Q&A : https://github.com/kagntegong/cs/issues

이 도서는 개발자라면 알아야 하는 지식을 위주로 작성이 되어 있기 때문에, 좀 더 개발자로 성장을 원하는 사람이라면 한번 쯤 읽어 보시는게 좋을 것 같습니다.

목차
CHAPTER 01 기술 면접과 실무를 위한 컴퓨터 과학
CHAPTER 02 컴퓨터 구조
CHAPTER 03 운영체제
CHAPTER 04 자료구조
CHAPTER 05 네트워크
CHAPTER 07 데이터베이스

도서 총평
이 책은 내가 대학교에서 컴퓨터공학을 처음 배울때 알던 지식에 대해 설명을 해주는 책처럼, 다시금 컴퓨터공학도로 돌아가게 해준 책입니다. 
그때 수업시간에 이런 기본기를 제대로 잘 다졌다면 좀 더 개발자의 삶이 좋아졌을지 모르겠지만, 아무쪼록 이 도서를 통해 많은 이들이 기본지식부터 잘 다졌으면 합니다. 
하드웨어, 소프트웨어, 네트워크, 데이터베이스 등 모든 부분이 개발을 위해선 필수적으로 필요한 부분입니다. 이런 이해도가 없이 단순 코딩만 한다면 성장하는데 어려움이 있을것입니다. 
컴퓨터가 단순히 0, 1로만 동작하지만 우리는 이 컴퓨터를 활용해 많은 변화를 가져오고 있다는 점에서 한번 쯤 다시 돌아봐야 할거 같습니다. 
개발자 입문과 아직도 개발을 하는 사람 모두에게 도움이 될거 같습니다. 
 

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

개발자가 취업을 하는 데 있어 많은 회사들에서 요구하는 사항이 CS 지식이다.

 

실무를 하다보면 CS 지식이 꽤나 자주 필요하게 된다. 옆자리 동료와 이야기하는 데, CS 지식을 가지고 있다면 알만한 단어를 하나하나 설명해가며 대화할 수는 없지 없다. 

특히나 운영체제는 많은 오픈소스에서 차용하는 개념들을 담고 있어 공부를 안할수록 손해인 과목이다.

물론 다른 과목들도 알면 알수록 좋고, 서비스를 개발하거나 운영할 때 맞이하는 문제에서 힌트를 찾기 위한 기반지식으로 꼭 필요하다고 할 수 있다.

 

"취업을 위한" 이라는 이름이 붙어있긴 하지만, 실무자들도 일을 하다보면 이론적인 부분들을 까먹을 수 있기 때문에 이 책으로 가볍게 훑어보며 더 깊은 학습을 다시 해도 좋을거라 생각된다. 특히, 비전공자인데 CS 지식을 어떻게 쌓아야 할 지 막막하다면 이 책을 통해 기본적인 부분을 학습하고 더욱 심화해나가며 지식을 쌓을 수 있다.

 

책의 구성은 일단 큰그림을 그리고, 하나하나 구체적으로 설명해나간다. 저자가 설명해나가는 방식이 단순 암기만을 위한 것이 아닌 이해를 돕기 위한 설명이기 때문에, 내용이 쉽게 이해된다. 당연한 이야기겠지만, 이 책만 보고 방대한 CS 지식을 머리속에 넣었다고는 생각하지 말기를 바란다. 좋은 내용들을 많이 담고 있지만, 좋은 회사일수록 깊이 있는 질문을 많이 하기 때문에 이 책의 내용을 바탕으로 더욱 자세히 공부해봐야 한다. 책은 페이지 수의 한계가 있기 때문에 많은 과목을 다루면서 세세한 내용을 모두 이해시키긴 힘들었을 거라고 생각된다.

조금 아쉬웠던 점은 이렇게 여러과목을 다루기 때문에 물리적인 한계로 인해 더 자세한 내용을 담지 못하는 것들이 있는 데, 몇몇부분은 C와 Java 두 개의 언어로 구현 예시를 보여주며 지면을 차지한 점이 아쉬웠다. 어떤 부분에서는 다른 언어로 구현된 예시는 github 으로 확인하라고 되어있는 데, 일관성이 살짝 부족해보이긴 했다.

 

전체적으로 굉장히 좋은 책이 나왔다고 생각된다. 책의 소개와는 달리 개인적으로는 이 책을 기반으로 CS 를 학습한 후 각각의 과목을 자세히 설명한 책이나 문서 등을 찾아 더욱 자세히 학습하며 취업을 준비하길 바란다.

오랜만에 재밌는 책을 읽은 것 같습니다.

최근 취준을 하면서 CS지식을 다시 확인하고 있었는데 감사하게도 이런 책이 나와주다니 ㅎㅎ 물론 책의 양이 꽤 되어서 전부는 읽지 못했지만 많이 읽었고 지금까지 읽으며 느낀점에 대해 이야기 해보겠습니다.

결론부터 말하면 취준생에게 강추.

일단 필요한 내용은 전부 담겨있다고 생각합니다. 전공 수업 때 들었던 내용들이 짤막하게라도 담겨있는 것이 좋았습니다.

물론 전공 수업처럼 자세히는 나와있지 않지만 오히려 그렇기에 다시 간단히 복습하기 좋았어요. 이 부분은 비전공자들한테 조금은 트레이드 오프가 될 것 같네요.

책의 장점

필요한 부분만 커버한다.
전공수업같이 많은 부분을 커버하지 않고 면접에 나올 수 있는 개념들에 대해서 커버하고 있기 때문에 가볍게 보기 좋았어요.

각 단원의 마지막에 실제 면접 질문들이 있다.
문제를 풀어보며 내가 해당 지식을 제대로 답변할 수 있는지 검증할 수 있어서 좋았어요.

책의 아쉬운점

  1. 수도코드가 좀더 많았으면 좋았을 것 같다.
    자료구조같은 경우 트리의 순회부분만 의사코드가 있는데 BFS, DFS 등 다양한 탐색방법에 의사코드가 있었으면 좋았을 것 같습니다.

결론

취준생에게 강추. 비전공자같은 경우도 읽는 데에는 무리가 없을 수준으로 작성이 되어있지만 깊이가 있지는 않아요. 책을 읽으면서 추가로 공부를 해야한다고 생각합니다.

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

 

이것이 컴퓨터과학이다를 꾸며주는꼬리표가 붙어있다. "취업을 위한", 그리고 "with CS 기술면접" 이라는 부제가 붙어있다. 꼬리표로 표현했지만 아무리 봐도 강조하는것 같은 느낌이다. 독자층은 비전공자이지만 업계종사자 혹은 전공분야이지만 취업에 온힘을 쏟고 있는 졸업자 혹은 예정자를 타겟으로 하는 책이다. 하지만, 재학생이나 컴퓨터에 관심이 있는 일반이라해도 부담없이 술술 읽어나갈 만한 쉬운수준으로 구성되어 있으니 조금 두껍다 해도 부담가질 필요는 없을것 같다.


책을 읽는 독자에게 저자가 기대하는것은, 'AI'가 어떻고, '프레임워크'니 '라이브러리'니 하는 단어들 보다 조금 더 구체적이고 근거가 되는 것들에 대해 설명할 수 있기를 바라고 있다. 코드 한줄 한줄이 존재하는 근본적인 이유에 대해 설명할 수 있고, 작동원리를 설명할 수 있는 능력을 가지게 하는것이 이 책의 목표이다.


600페이지가 넘는 꽤나 두툼한 분량을 가지고 컴퓨터 과학이 매우 재미있음을 알려주고 설득한다. 꽤나 방대한 컴퓨터과학에 관한 이야기를 체계적으로 설명하고 있다. 600페이지가 넘는다고 해서 긴장할 필요는 없다. 사실 더 많은 지면이 할애된다면 담을 이야기는 더 많이 준비할 수 있겠지만 그나마 정제하고 요약해서 담은 내용들이므로 집중해서 읽어본다면 컴퓨터의 기본을 아는 이가 될 수 있을 것이다.

정제된 내용들이라서 각 분야에 관한 내용을 깊이있게 다루지는 않는다. 목차에서 보듯이 여섯가지 커다란 카테고리에 관해 이야기를 하고 있으며, 소개되는 코드들은 면접에서 도움이 될 수 있도록 실사례를 다루고 있다. 따라서 약간의 프로그래밍 지식은 선행되어야 하겠다. 뭐, 경우에 따라서는 몰라도 상관없는 챕터도 있으니 일단 읽기 시작하면 손해는 없겠다.

책은 독자가 최대한 지식을 습득할 수 있도록 구성되어 있다. 관련 주제와 원리에 대해 타이틀과 함께 그리고 이해를 돕는 그림과 함께 설명이 진행된다. 내용 사이사이에 특정주제에 관한 이론과 배경설명을 팝업창처럼 배치하여 굳이 읽지않아도 전체를 이해하는데 지장이 없지만, 알아두면 더 좋은 내용을 첨부하고 있다. 그리고 책의 뒷부분은 INDEX를 촘촘히 정리하고 있어 모르는 단어를 찾아보기 쉽도록 사전기능을 덧붙여 두었다. 키워드만 알아도 책이 궁금증을 해소해 줄 수 있을것 같다. 한빛미디어에서 출판되는 대부분의 IT서적의 특징인것 같다.

유튜브를 통해 동영상강의도 준비되어 있고,
출판사 홈페이지에서는 책에서 다룬 소스코드를 다운로드 받을 수 있고,
저자는 독자와 소통을 위한 깃허브 채널도 준비하고 있으니,
사방에 책에 관한 궁금증을 해소할 수 있는 통로가 준비되어 있다.

책이 다루는 분야는 크게 다섯가지이며,

맨 앞 챕터에서는 기술면접과 컴퓨터에 관한 개론수준의 내용을 소개하고 있다.

Chapter 01 기술 면접과 실무를 위한 컴퓨터 과학
Chapter 02 컴퓨터 구조
Chapter 03 운영체계
Chapter 04 자료구조
Chapter 05 네트워크
Chapter 06 데이터베이스


Chapter 1 기술면접과 실무를 위한 컴퓨터 과학

원리를 알면 더 뛰어난 개발자가 될 수 있다는 내용으로 독자의 관심을 이끌어낸다. 사실 책 한 권만 집중해서 봐도 코드를 작성하기는 어렵지 않지만 그 코드가 컴퓨터의 어느부분에서 어떤 동작을 수행하는지 잘 알기는 어렵다. 즉 실행원리에 대한 의문을 던지고 있으며, 이에 대한 답은 컴퓨터과학에 대한 이해가 선행되어야 한다는 것으로 설득하고 있다. 이 책을 읽어야 하는 이유이다. 선언한 변수가 물리적으로 어디에 어떤형태로 존재하고 어떻게 CPU까지 전달되고 계산된 결과값은 어떻게 피드백되는지 알고 있는가? 모른다면 이 책을 읽어야 한다.

또한, 면접을 보러갔을때 접할 수있는 질문에 대한 깊이있는 답변은 역시 컴퓨터 과학을 이해하고 있을때 나온다는것을 알려준다. 이에 따라 책에서 다루는 내용은 특정분야를 깊이있게 다루기 보다는 컴퓨터 과학의 가장 기본이 되는 내용을 다루게 되었다. 목차에서 소개한 다섯가지 내용, 즉 컴퓨터과학의 '공통지식'이 바로 그 내용이다.
 

 

운영체제를 태양계처럼 표현한 모습이 인상적이다



이후, 2장 부터 6장까지 상세하게 컴퓨터에 대해 설명해준다. 이 책의 각 Chapter들은 수십권 분량의 책으로도 설명이 부족한 커다란 영역이지만, 단 수십페이지로 개념과 이론에 대해 요약하여 설명하고 있다. 짧은 시간에 많은 정보를 접해보고 싶다면 이 책을 항상 옆에두고 필요할 때마다 찾아볼 수있도록 하면 많은 도움이 될 것이다. 리뷰에서 다룬 부분에 대해 더 알아보고 싶거나 다루지 않은 제목만 있는 부분에 대해 궁금하다면 책을 참조하길 바랍니다.

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

CS라는 것이 공부해야 할 것 같다는 생각을 하게 하지만 생각보다 정리하기가 쉽지가 않다. 

그렇기 때문에 어떻게 공부를 해야할지 그리고 이 지식은 취업을 위해서는 꾸준히 반복해야 하는만큼 막막하게만 만든다.

이를 위한 책이 바로 이 책이다. ‘이것이 취업을 위한 컴퓨터과학이다.’ 

말그대로 컴퓨터 과학의 전반을 다룬다. 운영체제, 네트워크, 데이터베이스, 알고리즘, 자료구조까지. 많은 내용을 다루고 있는만큼 완전히 깊게 들어가는 것은 아니지만 중요하게 필요한 부분은 다 다루고 있다.  처음에 이해가 쉽지 않더라도 그림과 여러 자료를 통해 이해할 수 있도록 많은 도움을 주고 있다.

이 책에서 가장 도움이 되는 분야가 바로 챕터의 마지막에 등장하는 기숣면접 문항 질문이다. 보통 기술면접을 대비할 때 문항 따로, 공부하는 책 따로 이렇게 많이 한다. 이 책에서는 답변도 한번 체크해보면서 부족한 부분은 앞에서 등장한 내용을 찾아보면서 할 수 있기에 올인원 책이라고 할 수 있다.

 

만약 CS를 공부해서 기술면접을 대비하고자 하거나 전반적인 컴퓨터 과학 지식을 정리하고 싶다면 이 책을 추천한다. 
  "한빛미디어 <나는리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

요즘과 같이 생성형 AI가 대부분의 코드를 작성해주는 시대에 가져야 할 기본적인 자세가 아닐까 싶다. 이 서평을 쓰고 있는 필자 역시 컴퓨터 전공을 이수하면서도 컴퓨터 과학에 소홀했던 경험이 있다. 라이브러리 사용법을 익히고 빠르게 결과물을 내는 데 급급해 책에서 언급한 '스파게티 코드'를 많이 만들어냈다. 당시에는 이를 불가피한 현상으로 여기며 새로운 프로젝트 개발에만 집중했다.

 

하지만 최근 부스트캠프 경험을 통해 학교에서 배운 지식이 구시대적인 것이 아니라 현재의 웹 개발과 매우 밀접한 관련이 있음을 깨달았다. ‘A는 B이다’와 같은 단순 암기식 학습이 아닌, 기반이 되는 컴퓨터 과학 지식을 응용해 웹 기술이 발전했고, 이를 이해해야 제대로 된 코드를 작성할 수 있다는 점을 깨달았다. 이 깨달음이 현 책의 서평을 작성하게 된 결정적 계기가 되었다.

 

그저 공장처럼 서비스들을 찍어내기 위한 사람들에게는 이 책이 필요 없을 수 있다. 또한 전공 지식을 이미 깊이 있게 잘 이해하고 있는 사람들에게도 다소 깊이가 부족할 수 있다. 하지만 평소에 전공 지식의 중요성을 간과했거나 컴퓨터 과학 지식 간에 연관성에 대해 알아가고 싶은 사람들에게는 최고의 책이 될 것이다.

 

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

개인적으로 어떤 분야에 관련된 입문 서적은 쉬운 단어라도 그 의미를 되짚어주는 것이 읽는이로 하여금 책(개념)을 잘 따라갈 수 있게 만든다고 본다. 서평 도서는 그러한 책에 부합하는 책이었다

목차.

Chapter 01. 기술 면접과 실무를 위한 컴퓨터 과학

Chapter 02. 컴퓨터 구조

Chapter 03. 운영체제

Chapter 04. 자료구조

Chapter 05. 네트워크

Chapter 06. 데이터 베이스

들어가며…

안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 이것이 컴퓨터 과학이다 라는 책에 대해서 서평을 해보려고합니다. 필자는 컴퓨터 공학과 출신이 아닙니다. 정규적인 컴퓨터 기본 과정에 대해서 학습을 하거나 배운적이 없습니다. 그래서 더 더욱 컴퓨터 구조/운영 체제에 대해서 항상 궁금증이 많았습니다. 물론 현업에서 일을 10년 이상 하다보니 기본적인것은 어느정도 자연스럽게 학습이 됐던 것 같습니다. 이번 기회를 통해서 기본적인 컴퓨터 지식을 습득하는데 목적을 두고 읽었습니다. 그럼 각 챕터 별로 서평을 이어가겠습니다.

서평

첫 번째 챕터

무려 650여 페이지에 달하는 책의 전체적인 청사진을 제공하고 있습니다. 각 챕터의 hierarchy(계층) 형태로 소개를 하고 있어서 이부분이 앞으로 읽을 챕터들에 대해서 확인할 수 있어서 너무 좋았습니다.

두 번째 챕터

컴퓨터 구조에대해서 소개를 하고 있습니다. 여기서는 CPU, Memory, Disk I/O에 대해서 설명을 하고 있습니다. 컴퓨터를 배우는 초심자 입장에서는 이 챕터만큼은 반드시 읽고 넘어가야 할만큼 모든것의 근간이 되는 챕터가 아닐까 생각해봅니다.

무엇보다도 다소 어렵고 지루한 내용일수도 있는 부분들을 캡쳐본과 그림을 통해서 쉽게 쉽게 설명하고 있습니다. 컴퓨터 지식이 없다고 하더라도 그림과 함께 보면서 이해하는데는 어려움이 없을것이라고 생각합니다.

CPU부분에서는 레지스터, 인터럽트, 성능 향상을 위한 설계(병렬성, 동시성) 등에 대해서 소개를 하고 있습니다. Memory 부분에서는 RAM(Random Access Memory), 캐시 메모리 등에 대해서 소개를 하고 있습니다. 입출력 장치부분에서는 RAID(Redundant Array of Independent Disks) 부분에 대해서 소개를 하고 있습니다. 모두 중요한 내용으로 정독을 할것을 권장합니다.

챕터를 읽고 나면 취업 멘토가 알려주는 기술 면접 질문이라는 미니 섹션이 존재하는데요. 이쪽에서는 실제 면접에서 나올 법한 질문 목록과 답변으로 이루어져서 면접을 준비하는데도 도움이 많이 될것 같습니다.

세번째 챕터

운영 체제에 대해서 소개를 하고 있습니다. 운영 체제는 크게 다음의 역할을 수행하고있습니다.

  • 자원 관리
    • CPU 관리 : CPU 스케쥴링
    • 메모리 관리 : 가상 메모리
    • 파일/디렉터리 관리 : 파일 시스템
  • 프로세스 및 스레드 관리
    • 프로세스와 스레드
    • 동기화와 교착 상태

운영 체제가 왜 필요한지 그리고 어떤 역할을 하는지 큰 그림에서 이해할 수 있었던 챕터였습니다. 운영 체제를 통해서 자원 관리/프로세스 및 스레드 관리라는 부분에 대해서만 이해를 하게 되면 컴퓨터를 통해서 개발을 한다던지 프로그래밍을 하는 부분에 있어서 많은 이해와 도움이 될거싱라고 생각합니다.

네번째 챕터

자료구조를 설명하고 있습니다. 대부분의 IT 직종에 종사하는 사람 내지는 종사하기를 희망하는 추업 준비생들은 코딩 테스트라는 것을 많이 접하게 됩니다. 코딩 테스트를 요구하는 것은 자료구조를 이해하고있는지를 시험한다고 생각해도 됩니다.

자료구조에는 다음과 같은 것들이 있고 이를 책에서는 정확하게 설명하고 있습니다.

  • 배열과 연결 리스트
  • 스택과 큐
  • 해시 테이블
  • 트리
  • 그래프

필자도 한창 코딩 테스트를 공부할 때 위의 내용들을 지겹도록 공부했었는데요. 덕분에 해당 챕터는 쉽게 쉽게 읽을 수 있었습니다. 코드를 개발하는 개발자라면 해당 챕터를 꼼꼼하게 읽는게 중요할 것 같습니다.

다섯 번째 챕터

네트워크에 대해서 설명하고 있습니다. 필자가 약하다고 생각했던 부분이 네트워크 입니다. 네트워크는 별도로 네트워크 엔지니어가 존재하는 만큼 깊숙하게 들어가면 들어갈 수록 제일 어려운 분야가 아닐까 생각해봅니다. 책에서 소개하는 정도만 명확하게 이해한다면 개발자를 희망하거나 종사하는 사람들이라면 업무하는데 많은 도움이 될것이라고 생각합니다.

해당 챕터에서는 다음을 소개하고 있습니다.

  • OSI 7계층에 대한 소개
  • 물리 계층/데이터 링크 계층
  • 네트워크 계층
    • IP, ARP
  • 전송 계층
    • TCP/UDP
  • 응용 계층
    • HTTP/HTTP
  • 프록시와 안정적인 트래픽

여섯 번째 챕터

데이터 베이스를 설명하고 있습니다. 데이터 베이스도 필자가 굉장히 관심이 많고 학습을 오래했던 부분이라 쉽게 읽을 수 있었습니다. 이부분에서는 다음을 소개하고 있습니다.

  • 트랜잭션과 ACID
  • RDBMS의 기본(테이블, 무결정 제약조건)
  • SQL/효율적인 쿼리
  • 데이터베이스 설계
  • NoSQL

위의 내용들에 대해서 알아둔다면 개발하는 데 많은 도움이 될 것이라고 생각합니다.

마치며…

이번 시간에는 이것이 컴퓨터 과학이다라는 책을 서평해보았는데요. 이것이 시리즈를 굉장히 좋아합니다. 책의 구성을 보면 서두에는 지도 그리기를 통해서 해당 챕터에서 소개할 내용들을 계층구조로 보여주기 때문에 큰 흐름에서 이해를 하고 책을 읽을 수 있었습니다. 그리고 각 챕터 말미에는 기술 면접 질문들을 통해서 책을 읽고 학습했던 내용들을 다시금 상기할 수 있도록 배치를 해둬서 책을 읽는 다기보다는 학습을 할 수 있도록 도움을 많이 준 것 같습니다.

취업을 준비하거나 IT에 관심이 있는 초심자라면 이 책을 항상 옆에 두고 읽는것도 좋을것 같습니다. 서평을 마치겠습니다.

본 포스팅은 “한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”

개발자에게 필요한 핵심 역량 중 하나는 ‘근거를 설명하는 능력’이라고 생각한다. 필자 또한 이 부분을 언급하는데, 결국 우리가 컴퓨터 과학을 공부하는 이유도 본질을 이해하고 본인의 행동을 설명하기 위한 일이라는 생각이 든다. 그 코드가 왜 동작하고, 특정 라이브러리가 왜 필요하며, 그리고 왜 그런 성능이 나오는지에 대한 근거를 대기 위해서는 결국 근본적인 지식이 필요하다.

 

책의 구성은 각 챕터 별로 첫 번째 파트에서 큰 그림을 그려주고, 이후 파트를 통해 세부적인 부분을 순차적으로 설명하는 형식으로 되어 있다. 중간중간 ‘여기서 잠깐’ 코너를 통해 보충 설명을 제공하고, ‘추가 학습 NOTE’와 ‘기술 면접 TIP’을 통해 관련된 추가 학습 정보를 얻을 수 있다. 개인적으로 큰 그림을 그려주는 첫 번째 파트가 인상적이었는데, 일반적으로는 기술 설명만 순차적으로 이어지게 되면 이 기술을 왜 이해해야 하는지를 파악하지 못한 채 읽어 나가는 경우가 많다. 앞서 큰 그림을 그리고 이 기술이 어떻게 구성되어 있고 왜 필요한지를 이해하게 되면 이 기술을 어떻게 이해하고 받아들여야 하는지도 훨씬 쉽게 파악할 수 있다고 생각한다. 그런 면에서 큰 그림을 먼저 그려주고 기술에 대한 이해를 도와주는 이 책의 구성이 마음에 들었다.

 

또한, 도표나 삽화, 화면 캡처 등을 통해 적절히 설명이 이뤄져 있어 애초에 초심자를 대상으로 한 만큼 친절한 설명으로 구성되어 있다. 다만 600페이지를 훌쩍 넘기기 때문에 분량이 상당하다. 내용은 컴팩트하게 구성되어 있지만 컴퓨터 과학 자체가 워낙 방대하기 때문이다. 단순히 면접을 위한다 생각하면 한없이 지루할 것이라서 본질적인 개념을 이해하려는 마음으로 천천히 읽어나가며 흥미를 느끼는 편이 좋지 않을까. 색인도 잘 정리되어 있기 때문에 개발이나 기술 공부를 하다가 궁금한 부분이 생기면 특정 키워드의 내용을 찾아 공부해 나가는 것도 좋은 방법이지 않을까 싶다.

 

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

 

컴퓨터 과학(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업계에 몸 담고 있는 독자로서 컴퓨터 과학 관련 한 편의 대하 드라마를 본 것 같은 느낌이다기술 면접과 실무에 필요한 컴퓨터 과학의 기본기를 다지고자 할 때 충분한 길잡이가 되어 줄 것이라 생각한다.

 

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

 

기술 면접에 사용하기 좋은 책이면서 다양한 CS 지식을 얻어갈 수 있는 책입니다.

까먹은 내용을 하나하나 찾기 어려울 때 이 책 한 권이면 여러 내용을 동시에 확인 가능하다는

장점이 있습니다.

더불어 유튜브 강의와 깃허브 Q&A도 가능하기 때문에 공부에도 큰 도움이 될 것 같습니다.

이론 부분에 대해 자세하게 설명하고 있어서 관련 전공자분들 뿐 아니라 보완하고 싶은 분들께

추천드립니다.

 

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

여러 과목의 기초개념이 요약되어 있는 책이다. 전공자는 이미 엄청 두꺼운 관련 서적이 있으니 비전공자를 위한 책이 아닐까 싶다. 혹은 취업면접을 앞두고, 빠르게 기초개념 정리할 사람. 각 장의 뒷부분에 예상 질의응답이 포함되어있다. 

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 상품명 :
이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 책0