📝 Table of Contents

Why

cs지식이란 컴퓨터 공학적 지식을 말한다. 디자인패턴, 데이터 베이스 운영체제, 네트워크등을 포함한다. 이런 지식은 개발자가 비지니스 로직을 구축하는 데 있어서 기초가 되는 상식이고 기술 면접에 대비하기 위해서 공부해야 한다.

Part 1

💡 개발상식 Link

  • 좋은 코드란
  • 객체 지향 프로그래밍
  • RESTful API
  • TDD
  • 함수형 프로그래밍
  • MVC 패턴

Part 2

💡 컴퓨터구조 Link

  • 컴퓨터의 구성
  • 중앙처리장치(CPU) 작동 원리
  • 캐시 메모리
  • 고정 소수점 vs. 부동 소수점
  • 패리티 비트와 해밍코드
  • APM 프로세서

Part 3

💡 네트워크 Link

  • TCP 3, 4way handShake
  • OSI 7계층
  • TCP vs.UDP
  • 대칭키와 공개키
  • HTTP vs. HTTPS
  • HTTP GET vs POST
  • TSL/SSL HandShake
  • 로드밸런싱
  • Blocking/Non-blocking

Part 4

💡 데이터베이스 Link

  • Index Index의 성능과 고려해야할 사항
  • Primary index vs. Secondary index
  • Composite
  • 정규화
    • 정규화 탄생 배결
    • 정규화란
    • 정규화의 종류
    • 정규화의 장단점
  • 트랜잭션
    • 트랜잭션과 Lock
    • 트랜잭션 특정
    • 트랜잭션 상태
    • 트랜잭션 사용할 때 주의할 점
  • 교착상태
  • SQL Injection
  • SQL vs. NoSQL
    • 정의
    • CAP 이론
      • 일관성
      • 가용성
      • 네트워크 분할 허용성
    • 저장방식에 따른 분류
      • Key-Value Model
      • Document Model
      • Column Model

Part 5

💡 운영체제 Link

  • 프로세스와 스레드
  • 멀티 스레드
    • 장점과 단점
  • 스케줄러
    • 장기 스케줄러
    • 단기 스케줄러
    • 중기 스케줄러
  • CPU 스케줄러
    • FCFS
    • SJF
    • SRT
    • Priority scheduling
    • PR
  • Synchronous/Asynchronous
  • 프로세스 동기화
    • Critical Section
    • 해결책
  • 메모리
  • 데드락
  • 페이징과 세그먼테이션

Part 6

💡 자료구조 Link

  • Array
  • Linked List
  • Dict
  • Stack, Queue(Deque)
  • Hash
    • Hash Table
    • Hash Function
    • Resolve Collision
      • Open Addressing
      • Separate Chaning
  • Binary Heap
  • Tree
    • Binary Tree
    • Full Binary Tree
    • Complete Binary Tree
    • BST (Binary Search Tree)
  • Red-Black Tree
    • 정의
    • 특징
    • 삽입
    • 삭제
  • Graph
    • Granph 용어 정리
    • Graph 구현
    • Graph 탐색
    • Minimum Spanning Tree
      • Kruskal algorithm
      • Prim algorithm
  • 시간 복잡도
  • 공간 복잡도

Part 7

💡 Algorithm (알고리즘) Link

  • 완전탐색
  • 이분탐색
  • 삼분탐색
  • DFS & BFS
  • 다익스트라
  • 비트마스크
  • 소수
  • 선택 정렬
  • 삽입 정렬
  • 퀵 정렬
  • 힙 정렬
  • 거품 정렬
  • 병합 정렬
  • 기수 정렬
  • 계수 정렬
  • 동적 계획법