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 프로세스
디자인 패턴, 네트워크, 운영체제, 데이터베이스, 자료 구조, 개발자 면접과 포트폴리오까지!
CS 전공지식 습득과 면접 대비, 이 책 한 권이면 충분하다!
개발자 면접에서 큰 비중을 차지하는 CS(Computer Science 전공지식! 디자인 패턴부터 자료 구조까지 알아야 할 게 너무 많은데, 어떻게 준비해야 할까? 이 책은 디자인 패턴, 네트워크, 운영체제, 데이터베이스, 자료 구조 등 면접에 필요한 CS 전공지식을 모두 담고 있다. 200여 개의 그림과 코드로 이론을 자세히 설명하고, 실제 라이브러리에서 사용된 디자인 패턴 등으로 실무 활용법을 함께 다뤄 이론과 실무를 놓치지 않고 학습할 수 있도록 구성했다. 또한, 중요한 내용은 깊게, 덜 중요한 내용은 핵심만 설명하며, 책 곳곳에 70여 개의 용어 풀이도 담고 있다. 마지막으로 구글, 네이버, 카카오 등 탑티어급의 회사에 합격한 저자의 경험을 기반으로 한 포트폴리오 작성법과 챕터별 예상 질문, 면접 준비 노하우도 알려준다. 개발자 면접을 준비하거나 더 나은 개발자가 되기 위해 CS 전공지식을 배우고 싶다면 이 책으로 시작하자.
필자는 IT 대기업 면접을 준비할 때 “탄탄한 CS 전공지식이 필요하다.”라는 말을 듣고 수많은 전공 서적과 전공 강의들을 보며 CS 전공지식을 쌓으려고 노력했습니다. 그때는 무엇이 필요하고 필요 없는 지식인지 알 수 없어 다 외우려고 했지만 정말 많은 양이었기 때문에 너무 힘들었습니다. 또한, 인터넷에 있는 CS 전공지식들은 몇 개씩은 틀리기 마련이라 공부하다가 헷갈려서 다시 찾아보는 등의 어려움도 겪었습니다.
이 책은 그러한 문제점들을 해결하는 책입니다. 한 권만으로 CS 전공지식의 전반적인 내용을 학습할 수 있으며, 더 나아가 실제로 개발할 때 필요한 CS 전공지식을 담았습니다.
이 책의 장점은 다음과 같습니다.
면접에 나올 법한 CS 전공지식을 포함한 CS 전공지식의 전반을 다룹니다.
필자의 실제 개발 경험이 녹아 있어 이론에만 치우친