HOME > 상세정보

상세정보

면접을 위한 CS 전공지식 노트 (2회 대출)

자료유형
단행본
개인저자
주홍철
서명 / 저자사항
면접을 위한 CS 전공지식 노트 = Computer science note / 주홍철 지음
발행사항
서울 :   길벗,   2022  
형태사항
292 p. : 삽화 ; 24 cm
ISBN
9791165219529
일반주기
색인수록  
000 00000cam c2200205 c 4500
001 000046129262
005 20220927162340
007 ta
008 220927s2022 ulka 001a kor
020 ▼a 9791165219529 ▼g 93000
040 ▼a 211009 ▼c 211009 ▼d 211009
082 0 4 ▼a 005.1 ▼2 23
085 ▼a 005.1 ▼2 DDCK
090 ▼a 005.1 ▼b 2022z10
100 1 ▼a 주홍철
245 1 0 ▼a 면접을 위한 CS 전공지식 노트 = ▼x Computer science note / ▼d 주홍철 지음
246 3 ▼a 면접을 위한 시에스 전공지식 노트
260 ▼a 서울 : ▼b 길벗, ▼c 2022
300 ▼a 292 p. : ▼b 삽화 ; ▼c 24 cm
500 ▼a 색인수록

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실/ 청구기호 005.1 2022z10 등록번호 151361555 도서상태 대출중 반납예정일 2022-12-17 예약 예약가능 R 서비스 M

컨텐츠정보

책소개

디자인 패턴, 네트워크, 운영체제, 데이터베이스, 자료 구조 등 면접에 필요한 CS 전공지식을 모두 담고 있다. 200여 개의 그림과 코드로 이론을 자세히 설명하고, 실제 라이브러리에서 사용된 디자인 패턴 등으로 실무 활용법을 함께 다뤄 이론과 실무를 놓치지 않고 학습할 수 있도록 구성했다.

또한, 중요한 내용은 깊게, 덜 중요한 내용은 핵심만 설명하며, 책 곳곳에 70여 개의 용어 풀이도 담고 있다. 마지막으로 구글, 네이버, 카카오 등 탑티어급의 회사에 합격한 저자의 경험을 기반으로 한 포트폴리오 작성법과 챕터별 예상 질문, 면접 준비 노하우도 알려준다. 개발자 면접을 준비하거나 더 나은 개발자가 되기 위해 CS 전공지식을 배우고 싶다면 이 책으로 시작하자.

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


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

필자는 IT 대기업 면접을 준비할 때 “탄탄한 CS 전공지식이 필요하다.”라는 말을 듣고 수많은 전공 서적과 전공 강의들을 보며 CS 전공지식을 쌓으려고 노력했습니다. 그때는 무엇이 필요하고 필요 없는 지식인지 알 수 없어 다 외우려고 했지만 정말 많은 양이었기 때문에 너무 힘들었습니다. 또한, 인터넷에 있는 CS 전공지식들은 몇 개씩은 틀리기 마련이라 공부하다가 헷갈려서 다시 찾아보는 등의 어려움도 겪었습니다.

이 책은 그러한 문제점들을 해결하는 책입니다. 한 권만으로 CS 전공지식의 전반적인 내용을 학습할 수 있으며, 더 나아가 실제로 개발할 때 필요한 CS 전공지식을 담았습니다.

이 책의 장점은 다음과 같습니다.

• 면접에 나올 법한 CS 전공지식을 포함한 CS 전공지식의 전반을 다룹니다.

• 필자의 실제 개발 경험이 녹아 있어 이론에만 치우친 CS 전공지식이 아닌 이론과 실무가 아우러진 전공지식을 선사합니다.

• 필자의 수많은 면접 경험을 바탕으로 한 면접 노하우가 책 곳곳에 녹아 있습니다.

• 구글, 네이버, 카카오 등 탑티어급의 회사에 합격한 필자의 포트폴리오가 소개되며 포트폴리오 작성 노하우를 알려줍니다.

각 장은 다음과 같은 내용을 담고 있습니다.

• 1장에서는 디자인 패턴을 다룹니다. 이론뿐만 아니라 실제로 어떻게 디자인 패턴이 쓰이고 있는지를 서술했습니다. 예를 들어 ‘전략 패턴은 passport 라이브러리에서 사용된다’처럼 실무에서 어떻게 사용되고 있는지를 구체적으로 알려줍니다. 예시 코드로는 자바, 자바스크립트 두 가지의 언어로 구성했고, 코드의 난이도를 최대한 낮추면서도 디자인 패턴을 잘 표현하도록 노력했습니다.

• 2장에서는 네트워크를 다룹니다. 네트워크의 전반적인 내용을 설명하며 네트워크에서 중요한 IP, HTTP 부분은 따로 빼서 좀 더 자세하게 설명하여 중요한 부분은 깊게, 중요하지 않은 부분은 핵심만 설명합니다.

• 3장에서는 운영체제를 다룹니다. 운영체제의 핵심 요소 중 하나인 시스템콜이나 커널을 조금 더 쉽게 설명하고자 노력했으며, 프로세스와 스레드를 중심으로 설명합니다.

• 4장에서는 데이터베이스를 다룹니다. ERD나 트랜잭션, 인덱싱 등 데이터베이스에서의 중요한 부분들을 중점적으로 설명합니다.

• 5장에서는 자료 구조를 설명합니다. 먼저 시간 복잡도와 공간 복잡도를 설명하여 자료 구조의 기초를 알아보고 큐, 스택 등 필수적인 자료 구조를 전부 다룹니다.

• 6장에서는 필자의 포트폴리오를 중심으로 포트폴리오를 쓰는 팁과 인성 면접을 준비하는 팁을 알려줍니다.

이 책이 탄탄한 CS 전공지식을 갖춘 훌륭한 개발자가 되기 위한 첫걸음이 되길 바랍니다.

“이 책을 만들기까지 총 13명의 개발자 최범석(네이버 리서치 엔지니어), 김찬호(라인 백엔드 개발자), 이성준(쿠팡 시니어 소프트웨어 엔지니어), 남승원(당근마켓 백엔드 개발자), 이태훈(배달의 민족 백엔드 개발자), 이태우(휴먼스케이프 CTO), 송성빈(삼성전자 소프트웨어 엔지니어), 이승철(NHN 백엔드 개발자), 김인범(CNCITY 데이터 엔지니어 / MongoDB Korea 운영진), 김재엽(스타트업 데이터 엔지니어), 김건우(클래스101 백엔드 개발자), 조유빈(이스트소프트 IOS 개발자), 오규영(한전 KDN 소프트웨어 엔지니어) 님이 도와주셨습니다.


정보제공 : Aladin

저자소개

주홍철(지은이)

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

정보제공 : Aladin

목차

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 인성 면접


정보제공 : Aladin

관련분야 신착자료