Skip to content

학습 주제

Daeun Kim edited this page Oct 19, 2023 · 30 revisions
주차 CS 과목 학습 주제 항목
week1
(2023.06.20~07.04)
데이터베이스 - 인덱스(Index)
- 제약 조건 & key
- 이상 현상(Anomaly) & 정규화(Normalization)
- SQL(RDB) vs NoSQL
- SQL JOIN
week2
(07.05~07.11)
데이터베이스 - SQL Injection
- 교착상태(Deadlock)와 해결 방법
- 트랜잭션 & 트랜잭션 격리 수준 & ACID 원칙
- Redis
네트워크 - OSI 7 계층 & TCP/IP 4 계층
- TCP 3-way handshake & 4-way handshake
- TCP/IP 흐름제어 & 혼잡제어
- TCP vs UDP
week3
(07.12~07.18)
네트워크 - 대칭키 & 공개키
- HTTP vs HTTPS
- 로드 밸런싱(Load Balancing)
- Blocking vs Non-Blocking & Synchronous vs Asynchronous
week4
(07.19~07.25)
네트워크 - HTTPS & SSL handshake
- HTTP Method & HTTP status code
- REST API & RESTFul API
- Web Socket
- CORS
week5
(07.26~08.01)
- CSR(Client Side Rendering) vs SSR(Server Side Rendering)
- Cookie & Session
- JWT(JSON Web Token)
- Web Server vs WAS
운영체제 - 운영체제란?
- 프로세스 vs 스레드
week6
(08.02~08.08)
운영체제 - 프로세스 주소 공간
- 인터럽트(Interrupt)
- 시스템 콜(System Call)
- PCB(Process Control Block) & Context Switching
- CPU Scheduling
week7
(08.09~08.15)
운영체제 - IPC(Inter Process Communication)
- 프로세스 동기화
- 교착상태(DeadLock)와 기아상태(Starvation)
- 가상 메모리
- 캐시 메모리
week8
(08.31~09.07)
복습
week9
(09.08~09.14)
복습
week10
(09.15~09.21)
자료구조 - Array & ArrayList & LinkedList
- 스택(Stack) & 큐(Queue)
- 해시(Hash)
- 힙(Heap)
- 그래프(Graph)
- 트리(Tree)
- 트라이(Trie)
알고리즘 - 선택 정렬
- 거품 정렬
- 삽입 정렬
- 병합 정렬
- 퀵 정렬
- 힙 정렬
week11
(09.22~10.05)
알고리즘 (문제 풀이) - 구현(Implementation) & 시뮬레이션(Simulation)
- 깊이 우선 탐색(DFS) & 너비 우선 탐색(BFS)
- 완전 탐색(Brute Force)
- 동적 계획법(DP)
- 이분 탐색(Binary Search)
- 최단 경로(Shortest Path)
week12
(10.06~10.12)
자바 - OOP의 4가지 특징
- OOP의 5대 원칙(SOLID)
- 자바 가상 머신(JVM)과 Java 컴파일 과정
- Garbage Collection 동작 과정
- Java8의 큰 특징
- Overriding vs Overloading
week13
(10.13~10.19)
자바 - Primitive type vs Reference type
- Call By Value vs Call By Reference
- Casting(업캐스팅 & 다운캐스팅)
- 인터페이스(interface) vs 추상클래스(abstract class)
- String vs StringBuilder vs StringBuffer
- Interned String
week14
(10.20~10.26)
자바 - Collection Framework
- Stream API & Lambda
- Mutable 객체 vs Immutable 객체
- Annotation
- Checked Exception vs Unchecked Exception
- 직렬화(Serialization) & 역직렬화(Deserialization)
week15
(10.27~11.03)
기술 스택 별 스터디 및 면접 준비 + 디자인 패턴

📌 네트워크

  • OSI 7 계층 & TCP/IP 4 계층
  • TCP 3-way handshake & 4-way handshake
  • TCP/IP 흐름제어 & 혼잡제어
  • TCP vs UDP
  • 대칭키 & 공개키
  • HTTP vs HTTPS
  • HTTPS & SSL handshake
  • 로드 밸런싱(Load Balancing)
  • Blocking vs Non-Blocking & Synchronous vs Asynchronous

📌 Web

  • HTTP Method & HTTP status code
  • REST API & RESTFul API
  • Web Socket
  • CORS
  • CSR(Client Side Rendering) vs SSR(Server Side Rendering)
  • Cookie & Session
  • JWT(JSON Web Token)
  • Web Server vs WAS

📌 운영체제

  • 운영체제란?
  • 프로세스 vs 스레드
  • 프로세스 주소 공간
  • 인터럽트(Interrupt)
  • 시스템 콜(System Call)
  • PCB(Process Control Block) & Context Switching
  • IPC(Inter Process Communication)
  • 멀티프로세스 vs 멀티스레드
  • CPU Scheduling
    • 스케줄링 큐
    • 선점/비선점형 스케줄링
    • 스케줄링 알고리즘 종류
  • 프로세스 동기화
    • 공유 자원과 임계 영역, 경쟁 상태(Race Condition)
    • 세마포어(Semaphore) & 뮤텍스(Mutex, 상호배제)
  • 교착상태(DeadLock) vs 기아상태(Starvation)
  • 가상 메모리
    • 페이징 & 세그먼테이션
    • 페이지 교체 알고리즘
  • 캐시 메모리

📌 데이터베이스

  • 인덱스(Index)
  • 제약 조건 & key
  • 이상 현상(Anomaly) & 정규화(Normalization)
  • SQL(RDB) vs NoSQL
  • SQL JOIN
  • SQL Injection
  • 트랜잭션 & 트랜잭션 격리 수준 & ACID 원칙
  • 교착상태(Deadlock)와 해결 방법
  • Redis

📌 자료구조

  • 선형 자료구조
    • Array & ArrayList & LinkedList
    • 스택(Stack) & 큐(Queue)
    • 해시(Hash)
  • 비선형 자료구조
    • 그래프(Graph)
    • 트리(Tree)
      • Binary Tree
      • Full Binary Tree
      • Complete Binary Tree
      • Binary Search Tree
      • AVL Tree
      • Red-Black Tree
      • B-Tree & B+Tree
    • 힙(Heap)
    • 트라이(Trie)

📌 알고리즘

  • 정렬
    • 선택 정렬, 거품 정렬, 삽입 정렬
    • 병합 정렬, 퀵 정렬, 힙 정렬
  • 너비 우선 탐색(BFS) & 깊이 우선 탐색(DFS)
  • 이분 탐색(Binary Search)
  • 동적계획법(DP)
  • 최단 경로
  • 최소 비용(MST)

📌 디자인 패턴

  • MVC, MVP, MVVM 패턴
  • Singleton 패턴
  • Adapter 패턴
  • Factory Method 패턴
  • Template Method 패턴
  • Observer 패턴
  • Strategy 패턴
  • Facade 패턴
  • Proxy 패턴

📌 Java

  • OOP의 4가지 특징
  • OOP의 5대 원칙(SOLID)
  • 자바 가상 머신(JVM)과 Java 컴파일 과정
  • Garbage Collection 동작 과정
  • Java8의 큰 특징
  • Java 기초
    • Overriding vs Overloading
    • Primitive type vs Reference type
    • Call By Value vs Call By Reference
    • Casting(업캐스팅 & 다운캐스팅)
    • 인터페이스(interface) vs 추상클래스(abstract class)
    • String vs StringBuilder vs StringBuffer
    • Interned String
    • Collection Framework
    • Stream API & Lambda
    • Mutable 객체 vs Immutable 객체
    • Annotation
    • Checked Exception vs Unchecked Exception
    • 직렬화(Serialization) & 역직렬화(Deserialization)
    • Java에서 null을 안전하게 다루는 방법
    • Intrinsic Lock(자바 고유 락)
    • Thread 활용

📌 Spring

  • Servlet & Servlet Container
  • Dispatcher Servlet
  • IoC & DI & Container & Bean
  • VO vs DTO vs DAO
  • AOP - JDK Dynamic Proxy & CGLIB
  • Interceptor vs Filter
  • Spring 전체 동작 과정
  • Jar vs War
  • Maven vs Gradle

📌 JPA

  • JDBC vs Spring JDBC vs Spring Data JDBC
  • SQL Mapper(MyBatis) vs ORM
  • JPA & Hibernate & Spring Data JPA
  • 영속성 컨텍스트 & 엔티티 생명주기
  • 더티 체킹(Dirty Checking)
  • 즉시, 지연 로딩 & 프록시
  • 영속성 전이(cascade) & 고아객체
  • 연관관계 매핑
  • N + 1 문제

📌 안드로이드


참고

백엔드 개발자 기초 CS 스터디
신입 개발자 전공 지식 & 기술 면접 백과사전