북클럽 분야
분야 전체
북클럽 허브

면접을 위한 CS 전공지식 노트

디자인 패턴, 운영체제, 데이터베이스, 자료 구조, 네트워크, 개발자 면접

주홍철 | 길벗 | 2022년 5월 6일 한줄평 총점 7.4 (41건)정보 더 보기/감추기
  •  종이책 리뷰 (34건)
  •  eBook 리뷰 (1건)
  •  한줄평 (6건)
분야
IT 모바일 > IT 전문서
파일정보
EPUB(DRM) 47.74MB
지원기기
iOS Android PC Mac E-INK

면접을 위한 CS 전공지식 노트

이 상품의 태그

카드뉴스로 보는 책

책 소개

디자인 패턴, 네트워크, 운영체제, 데이터베이스, 자료 구조, 개발자 면접과 포트폴리오까지!
CS 전공지식 습득과 면접 대비, 이 책 한 권이면 충분하다!

개발자 면접에서 큰 비중을 차지하는 CS(Computer Science) 전공지식! 디자인 패턴부터 자료 구조까지 알아야 할 게 너무 많은데, 어떻게 준비해야 할까? 이 책은 디자인 패턴, 네트워크, 운영체제, 데이터베이스, 자료 구조 등 면접에 필요한 CS 전공지식을 모두 담고 있다. 200여 개의 그림과 코드로 이론을 자세히 설명하고, 실제 라이브러리에서 사용된 디자인 패턴 등으로 실무 활용법을 함께 다뤄 이론과 실무를 놓치지 않고 학습할 수 있도록 구성했다. 또한, 중요한 내용은 깊게, 덜 중요한 내용은 핵심만 설명하며, 책 곳곳에 70여 개의 용어 풀이도 담고 있다. 마지막으로 구글, 네이버, 카카오 등 탑티어급의 회사에 합격한 저자의 경험을 기반으로 한 포트폴리오 작성법과 챕터별 예상 질문, 면접 준비 노하우도 알려준다. 개발자 면접을 준비하거나 더 나은 개발자가 되기 위해 CS 전공지식을 배우고 싶다면 이 책으로 시작하자.

목차

1장. 디자인 패턴과 프로그래밍 패러다임
1.1 디자인 패턴
__1.1.1 싱글톤 패턴
__1.1.2 팩토리 패턴
__1.1.3 전략 패턴
__1.1.4 옵저버 패턴
__1.1.5 프록시 패턴과 프록시 서버
__1.1.6 이터레이터 패턴
__1.1.7 노출모듈 패턴
__1.1.8 MVC 패턴
__1.1.9 MVP 패턴
__1.1.10 MVVM 패턴
1.2 프로그래밍 패러다임
__1.2.1 선언형과 함수형 프로그래밍
__1.2.2 객체지향 프로그래밍
__1.2.3 절차형 프로그래밍
__1.2.4 패러다임의 혼합
예상 질문
 
2장. 네트워크
2.1 네트워크의 기초
__2.1.1 처리량과 지연 시간
__2.1.2 네트워크 토폴로지와 병목 현상
__2.1.3 네트워크 분류
__2.1.4 네트워크 성능 분석 명령어
__2.1.5 네트워크 프로토콜 표준화
2.2 TCP/IP 4계층 모델
__2.2.1 계층 구조
__2.2.2 PDU
2.3 네트워크 기기
__2.3.1 네트워크 기기의 처리 범위
__2.3.2 애플리케이션 계층을 처리하는 기기
__2.3.3 인터넷 계층을 처리하는 기기
__2.3.4 데이터 링크 계층을 처리하는 기기
__2.3.5 물리 계층을 처리하는 기기
2.4 IP 주소
__2.4.1 ARP
__2.4.2 홉바이홉 통신
__2.4.3 IP 주소 체계
__2.4.4 IP 주소를 이용한 위치 정보
2.5 HTTP
__2.5.1 HTTP/1.0
__2.5.2 HTTP/1.1
__2.5.3 HTTP/2
__2.5.4 HTTPS
__2.5.5 HTTP/3
예상 질문
 
3장. 운영체제
3.1 운영체제와 컴퓨터
__3.1.1 운영체제의 역할과 구조
__3.1.2 컴퓨터의 요소
3.2 메모리
__3.2.1 메모리 계층
__3.2.2 메모리 관리
3.3 프로세스와 스레드
__3.3.1 프로세스와 컴파일 과정
__3.3.2 프로세스의 상태
__3.3.3 프로세스의 메모리 구조
__3.3.4 PCB
__3.3.5 멀티프로세싱
__3.3.6 스레드와 멀티스레딩
__3.3.7 공유 자원과 임계 영역
__3.3.8 교착 상태
3.4 CPU 스케줄링 알고리즘
__3.4.1 비선점형 방식
__3.4.2 선점형 방식
예상 질문
 
4장. 데이터베이스
4.1 데이터베이스의 기본
__4.1.1 엔터티
__4.1.2 릴레이션
__4.1.3 속성
__4.1.4 도메인
__4.1.5 필드와 레코드
__4.1.6 관계
__4.1.7 키
4.2 ERD와 정규화 과정
__4.2.1 ERD의 중요성
__4.2.2 예제로 배우는 ERD
__4.2.3 정규화 과정
4.3 트랜잭션과 무결성
__4.3.1 트랜잭션
__4.3.2 무결성
__4.4 데이터베이스의 종류
__4.4.1 관계형 데이터베이스
__4.4.2 NoSQL 데이터베이스
4.5 인덱스
__4.5.1 인덱스의 필요성
__4.5.2 B-트리
__4.5.3 인덱스 만드는 방법
__4.5.4 인덱스 최적화 기법
4.6 조인의 종류
__4.6.1 내부 조인
__4.6.2 왼쪽 조인
__4.6.3 오른쪽 조인
__4.6.4 합집합 조인
4.7 조인의 원리
__4.7.1 중첩 루프 조인
__4.7.2 정렬 병합 조인
__4.7.3 해시 조인
예상 질문
 
5장. 자료 구조
5.1 복잡도
__5.1.1 시간 복잡도
__5.1.2 공간 복잡도
__5.1.3 자료 구조에서의 시간 복잡도
5.2 선형 자료 구조
__5.2.1 연결 리스트
__5.2.2 배열
__5.2.3 벡터
__5.2.4 스택
__5.2.5 큐
5.3 비선형 자료 구조
__5.3.1 그래프
__5.3.2 트리
__5.3.3 힙
__5.3.4 우선순위 큐
__5.3.5 맵
__5.3.6 셋
__5.3.7 해시 테이블
예상 질문
 
6장. 포트폴리오와 면접
6.1 포트폴리오
__6.1.1 첫 문장이 중요하다
__6.1.2 숫자로 말하라
__6.1.3 기술의 숙련도를 나눠서 표기하라
__6.1.4 리드미를 잘 작성하라
__6.1.5 오픈 소스 컨트리뷰터가 되자
__6.1.6 블로깅을 하자
6.2 면접
__6.2.1 꼬리에 꼬리를 무는 질문
__6.2.2 대답을 바꾸지 말자
__6.2.3 모르는 것은 모르는 것
__6.2.4 압박을 버텨라
__6.2.5 공식 사이트를 봐라
__6.2.6 또렷한 발음으로
__6.2.7 장점, 단점, 차이는 필수다
__6.2.8 업무를 예측하라
__6.2.9 체크리스트를 만들어 준비하라
__6.2.10 인성 면접

상세 이미지

상세 이미지

저자 소개 (1명)

저 : 주홍철
AI 핀테크 스타트업, 어비스의 리드 개발자이자 설립자이다. 이전에는 네이버의 로그 플랫폼 쪽에서 일했으며, 대한민국 공항, 공군에서 쓰는 실시간 모니터링 시스템을 만들었다. 국방부 등에서 군 SW 발전에 기여한 공로로 참모총장상, 사령관상, 단장상을 수상했으며 카카오 프런트엔드 챌린지 6위, 스타트업 해커톤 1위, 백준 알고리즘 상위 1%의 실력을 보유하고 있다. 자바스크립트 테스트 프레임워크 Mocha.js의 기여자(contributor)이며 『실시간 모니터링 시스템을 만들며 정복하는 MEVN』(비제이퍼블릭, 2021)을 집필했고, 인프런에서 ‘10주 완성 C++ 코딩 테스트... AI 핀테크 스타트업, 어비스의 리드 개발자이자 설립자이다. 이전에는 네이버의 로그 플랫폼 쪽에서 일했으며, 대한민국 공항, 공군에서 쓰는 실시간 모니터링 시스템을 만들었다. 국방부 등에서 군 SW 발전에 기여한 공로로 참모총장상, 사령관상, 단장상을 수상했으며 카카오 프런트엔드 챌린지 6위, 스타트업 해커톤 1위, 백준 알고리즘 상위 1%의 실력을 보유하고 있다. 자바스크립트 테스트 프레임워크 Mocha.js의 기여자(contributor)이며 『실시간 모니터링 시스템을 만들며 정복하는 MEVN』(비제이퍼블릭, 2021)을 집필했고, 인프런에서 ‘10주 완성 C++ 코딩 테스트’ 강의를 진행하고 있다.

블로그: https://blog.naver.com/jhc9639
유튜브: https://www.youtube.com/c/kundol/

출판사 리뷰

종이책 회원 리뷰 (34건)

구매 면접을 위한 CS 전공지식 노트
내용 평점5점   편집/디자인 평점5점 | YES마니아 : 플래티넘 스타블로거 : 블루스타 남*미 | 2022.11.19

제가 취업할때 쯤에는 이런 컨셉의 책이 없었는데 취준생들한테 꼭 필요할 것 같은 책인거 같아요. 
다만 전반적인 CS 지식을 모두 정리하려다 보니 다른분들이 말하는 것처럼 내용이 자세하지 않은건 어쩔수 없는부분 같구요
개인적으로 공부하면서 내용 보충하며 단권화하면 최고의 면접 준비서적이 될 것 같습니다. 
아무튼 저는 굉장히 좋았습니다. 주변에 취준하는 친구들한테도 선물하고 싶은 책 ^♡^

이 리뷰가 도움이 되었나요? 접어보기
면접을 위한 CS 전공지식 노트 후기
내용 평점5점   편집/디자인 평점5점 | l***y | 2022.08.08

면접을 위한 CS 전공지식 노트

 

기술면접을 준비하는 사람들에게 매우 추천하는 책이다.

특히 신입 기술면접을 준비하는 사람들 중에 기본 개념을 정리해야겠다는 사람이 있다면

이 책부터 보기를 추천한다.

 

우연히 서점 가서 이 책을 보고

와 이 책이 내가 면접을 준비할 때도 있었으면 얼마나 좋았을까! 하는 생각이 들었다.

 

주요 주제를 잘 다루고 있고, 무엇보다 그림과 예시, 코드도 있어서 좋다.

일부 인터넷에 떠돌아다니는 기술 면접 노트들은, 예시가 빠져 있거나 그림이 빠져 있어서 

개념 그 자체만을 설명하고 있는 경우가 많은데

초보자가 보기에 어려운 경우가 많다.

 

그런데 이 책은 그림과 예시를 들어가며 개념을 설명하고 있어서 이해하기 쉽다.

 

-이 책에서 다루는 주제

디자인패턴, 네트워크, 운영체제, 데이터베이스, 자료구조

 

모두 개발자 1차 기술면접에서 물어보는 주제들이다.

굳이 우선순위를 두자면, 자료구조, 데이터베이스, 네트워크, 운영체제는 꼭 보고

디자인패턴은 시간 남으면 보면 될 것 같다.

 

예상질문은 좀 아쉬운데,

각 챕터의 예상질문이 적다는 점과 '운영체제의 역할은 무엇인가?' 등 빈출이 적은 질문이 적혀 있다는 점이 아쉬웠다.

 

그래서 이 책과 관련해 예상질문 몇 개를 적어본다.

컴퓨터공학 수업의 일반적인 커리큘럼은 자료구조 -> 데이터베이스 -> 운영체제 -> 네트워크 -> 디자인패턴을 따르지만

이 순을 반대로 해서 책을 기술한 것을 보면

비장하게 면접을 준비하겠다고 책을 꺼내놓고

결국 자료구조만 보다가 면접장에 가는 독자들을 위한 것 같다.

 

책의 순서는 위와 같지만 예상질문은 역순으로 해서 적어본다.

 

크게 기술면접에서 물어보는 건,

-00 개념은 무엇인가?

-00개념을 왜 쓰는지? 언제 쓰는지?

-00개념과 **개념의 차이, 장단점 비교

-00개념을 써본 적 있는지?

 

이 정도 물어보는 것 같다!

 

  • 5장. 자료구조

AVL 트리(253쪽), 레드 블랙 트리(254쪽) 같은 건 물어보지 않는다.

물론 질문을 하다가 언급하면 물어볼 수 있겠지만

면접자가 먼저 이 내용을 떠올려서 물어봐야겠다고 생각하는 경우는 거의 없는 것 같다.

하지만 이 책에서 여기까지 다루고 있으니 자료구조 수업 전체를 책에 담으려고 얼마나 저자가 노력했는지가 보인다.

 

중요한 건, 

-해시 테이블이란 무엇인가?

-그래프와 트리의 차이점은?

-이진탐색트리의 시간 복잡도

-스택과 큐의 차이

 

이 4가지는 이 책을 보고 나면, 꼭 답할 수 있어야 한다.

자주 물어보는 주제다.

 

그리고 파생 질문으로,

-코딩테스트를 봤을 경우 본인 답안의 시간복잡도

-시간복잡도를 더 줄일 수 있는 방법

이런 질문을 더 해볼 수 있겠고,

 

좀더 나아가면,

-00000인 경우에는 어떤 자료구조를 써야할까?

이런 질문을 해볼 수도 있다.

 

  • 4장. 데이터베이스

-1:1관계, 1:N관계, N:M 관계 설명

-Primary Key, Foreign Key + candidate key, alternate key super key

-정규화 과정

-트랜잭션

-원자성, 일관성, 격리성, 지속성, 무결성 설명

-격리수준과 격리수준에 따라 발생하는 현상 (phantom read, non-repeatable read, dirty read 등)

-sql vs nosql

-인덱스가 필요한 이유, 인덱스 만드는 방법

-inner join, left join, outer join

 

이 정도 질문은 답할 수 있어야겠다.

 

  • 3장. 운영체제

-프로세스 vs 스레드

-멀티프로세싱 vs 멀티스레딩

-프로세스의 상태 (create, read, running, blocked, terminated 등)

-contest switching

-뮤텍스 vs 세마포어

-deadlock 원인, 해결방법

-CPU 스케줄링 알고리즘 (FCFS, SJF, 우선순위, 라운드로빈, SRF, 다단계 큐)

 

-interrupt

-메모리 계층 (레지스터, 캐시, 메모리, 저장장치)

-cache hit, cache miss, cache mapping, swapping, page fault, thrashing 등)

-paging vs segmentation

-페이지 교체 알고리즘 (FIFO, LRU, NUR, LFU)

 

-컴파일 과정

 

  • 2장. 네트워크

-OSI 7계층

-가상회선 패킷 교환 방식 vs 데이터그램 패킷 교환 방식

-3-way handshake, 4-way handshake

-L4 스위치 vs L7 스위치

-로드 밸런싱

-L3 스위치(라우터) vs L2 스위치

-IP

-HTTP (SSL은 네트워크 관련 직무일 경우)

-www.naver.com을 주소창에 입력하면 어떤 현상이 일어나는지?

 

  • 1장. 디자인패턴

-싱글톤 패턴 개념, 장단점

-의존성 주입 원칙, 장단점

-팩토리 패턴(factory pattern), 개념, 장단점

-전략 패턴(strategy pattern)

-옵저버 패턴(observer pattern)

-프록시 패턴

-이터레이터 패턴

-노출모듈 패턴

-MVC 패턴 (Model, View, Controller) 개념, 장단점

-MVP 패턴

-MVM 패턴

 

-절자치향 vs 객체지향 프로그래밍

-객체지향 프로그래밍 특징 (추상화, 캡슐화, 상속성, 다형성)

-오버로딩 vs 오버라이딩

 

개념이 뭐고 언제 쓰는지, 왜 쓰는지, 장단점 중심으로 보자.

 

정말 기술면접을 준비하는 사람들에게 도움이 많이 되는 책이다.

개념을 모르면 사실 앞단에서 대답이 막혀버리고 

그러면 꼬리질문도 나올 수가 없다.

 

그래서 깊이 알고 있는 사람이든, 아닌 사람이든 

어떤 개념을 명료하게 면접관이 원하는 방식으로 대답하는 게 중요한데

이 책은 정말 기술면접을 준비하는 사람들을 위한 책인 것 같다.

4명이 이 리뷰를 추천합니다. 접어보기
면접을 위한 CS 전공지식 노트 리뷰
내용 평점4점   편집/디자인 평점5점 | H*******e | 2022.08.06

개발자라는 직업은 특히 이직률이 높고 포트폴리오를 꾸준히 업데이트해야 하는 직업이다. 

신입이든 경력이든 기술면접이 면접의 결과를 좌우할 만큼 중요한 비중을 차지하는데, 기술면접의 필수로 대비해야 할 지식이 CS(Computer Science) 지식이다. 현업자의 입장에서 오히려 신입 때는 주요 CS지식에 대해서 한참 공부할 시기라 기억력을 가지고 있었지만 시간이 지나면 잊혀지게 마련이다. 그렇기 때문에 아무리 경력자라고 해도 이직을 목표하고 있다면 면접을 위한 CS지식을 시간을 내어 공부해야만 한다. 

 

CS지식은 단순히 한 과목이 아니라 매우 방대한 양의 전문지식을 요하기 때문에 전체 분량을 모두 마스터하는 것은 거의 불가능에 가까운 일이다. 때문에 중요한 과목을 추리고, 핵심적인 내용을 깊이 이해하고 있는 것이 중요하다. 이 책에서 다루는 과목은 다음과 같다. 

 

1장. 디자인패턴과 프로그래밍 패러다임 

2장. 네트워크

3장. 운영체제 

4장. 데이터베이스

5장. 자료구조

6장. 포트폴리오와 면접 

 

책의 전반적인 내용은 기본적으로 알고 있어야 하는 CS지식을 꼽아 핵심을 알려준다. 특히 언어별 소스코드를 제공하고, 프로세스를 이미지화시켜 설명하는 점에서 이해에 많은 도움이 되었다. 

 면접을 위한 CS전공지식 노트 일부 발췌 

 

하지만 현업자인 나에게도 아직까지 생소하거나 심지어 처음 들어보는 개념들도 꽤나 많이 나온다. 조금은 기가 죽기도 했지만 개발자라고 해서 모든 것을 아는 만능 로봇이 아니기 때문에 적어도 내가 기존에 알고 있거나 한 번이라도 써본 것들에 대해서 만큼은 제대로 짚고 가기로 했다. 

 

나는 당장 면접을 준비하는 입장은 아니라 나만의 루틴을 정했다. 면접이라고 해도 모든 것을 100% 완벽하게 준비한다는 것은 불가능하기 때문에 전반적으로 얕게 아는 것보다는 모르는 부분이 있을지라도, 이 부분에서 만큼은 깊이 있게 이해하고 있음을 보여주는 게 좋다고 생각한다.   

 

1. 책 전체를 훑어보면서 내가 알고 있는 개념들을 체크한다. 

2. 체크한 부분 위주로 아는 부분은 복습하고 몰랐던 부분은 학습한다.

3. 책에서 가볍게 다룬 부분은 따로 구글링을 병행하면 이해도를 높일 수 있다. 

4. 알고 있던 개념을 확실히 이해한 후에 체크되지 않은 부분을 학습한다.

5. 기술 블로그가 있다면 학습한 내용을 포스팅하며 기록한다.

6. 실제 면접 준비 전에 포스팅했던 내용을 복기하면서 준비한다. 

 

다음과 같은 방법으로 책에 접근하면 부담감도 덜하고, ‘암기'가 아닌 ‘이해’가 되면서 기억에 오래 남았다. 어느 정도 여유롭게 시간을 두고 평소에 꾸준히 준비하는 것을 추천한다.

 

 책의 후반부에는 면접/포트폴리오에 대해서 별도로 다루고 있다. 저자의 실제 포트폴리오를 참고할 수 있고, 실제 면접에서 나올법한 질문을 던지고 구어체로 답변을 하는 구성으로 면접의 분위기를 간접 경험해볼 수 있었다. 개인적으로 눈으로 읽기만 하기보다는 면접장에 있다고 생각하고 직접 목소리를 내어 설명하듯이 읽어보면 좋다. 처음에는 답변을 가리고 본인의 지식으로 대답해보고, 다음은 책의 정석적인 답변과 비교해보면서 연습하면 면접에 큰 도움이 될 것 같다.    

 

좋았던 점 

 언어별로 소스코드를 제공하면서 설명을 해준다. 나는 자바 개발자이지만 같은 소스가 다른 언어에서는 어떻게 사용되는지 살펴볼 수 있다.

 중간중간 어려울 수 있는 전문용어를 설명해준다. 

 단위별로 주제를 다루어서 한 단원씩 나누어서 읽기에 용이해서 부담이 덜했다. 

 필요할 때 펼쳐서 사전처럼 찾아볼 수 있었다.

 면접 준비자가 아니더라도 개발자로서 개념 다지고 복습하기에 좋다.

 이론뿐만 아니라 포트폴리오 작성법, 실제 면접 상황 시뮬레이션 등을 통해 면접 연습을 할 수 있다. 

 

아쉬웠던 점 

 아무래도 면접용 CS지식이다 보니 깊이 있게 다루지는 않는다. 

 실무 또는 프로젝트 경험이 없는 비전공자라면 어렵게 느껴질 수 있는 난이도이다. 

 

 개발자 이직 또는 취업을 준비하는 이들에게 도움이 되길 바라며 리뷰를 마무리한다. 

이 리뷰가 도움이 되었나요? 접어보기
  •  종이책 상품상세 페이지에서 더 많은 리뷰를 확인하실 수 있습니다. 바로가기

eBook 회원 리뷰 (1건)

구매 개발자를 처음으로 준비하시는 분들 추천드립니다.
내용 평점5점   편집/디자인 평점5점 | 밍*쓰 | 2023.01.16

감사합니다 첫 개발자 취업을 위하여 구매하였고, 꼭 취업 하겠습니다.!

감사합니다 첫 개발자 취업을 위하여 구매하였고, 꼭 취업 하겠습니다.!

감사합니다 첫 개발자 취업을 위하여 구매하였고, 꼭 취업 하겠습니다.!

감사합니다 첫 개발자 취업을 위하여 구매하였고, 꼭 취업 하겠습니다.!

감사합니다 첫 개발자 취업을 위하여 구매하였고, 꼭 취업 하겠습니다.!

감사합니다 첫 개발자 취업을 위하여 구매하였고, 꼭 취업 하겠습니다.!

감사합니다 첫 개발자 취업을 위하여 구매하였고, 꼭 취업 하겠습니다.!

감사합니다 첫 개발자 취업을 위하여 구매하였고, 꼭 취업 하겠습니다.!

감사합니다 첫 개발자 취업을 위하여 구매하였고, 꼭 취업 하겠습니다.!

감사합니다 첫 개발자 취업을 위하여 구매하였고, 꼭 취업 하겠습니다.!

감사합니다 첫 개발자 취업을 위하여 구매하였고, 꼭 취업 하겠습니다.!

이 리뷰가 도움이 되었나요? 접어보기
  •  eBook 상품상세 페이지에서 더 많은 리뷰를 확인하실 수 있습니다. 바로가기

한줄평 (6건)

0/50
맨위로