면접에 대비하여 CS 지식을 정리합니다.
- OSI 7 계층
- TCP 3 way handshake & 4 way handshake
- TCP/IP 흐름제어 & 혼잡제어
- TCPvsUDP
- 대칭키 & 공개키
- HTTP & HTTPS
- TLS/SSL handshake
- DNS
- Rest, Restful
- CORS란
- 쿠키, 세션 & JWT
- 공인(public) IP / 사설(private) IP
- OAuth
- Socket & Socket.io
- 로드 밸런싱(Load Balancing)
- Blocking & Non-Blocking I/O
- 'www.google.com'을 주소창에서 입력하면 일어나는 일
- 운영체제란
- 프로세스 vs 스레드
- 프로세스 주소 공간
- 멀티스레드(Multi Thread)
- 인터럽트(Interrupt)
- 시스템 콜(System Call)
- PCB와 Context Switching
- IPC(Inter Process Communication)
- CPU 스케줄링
- 캐시(Cache)란
- 데드락(DeadLock)
- Race Condition
- 세마포어(Semaphore) & 뮤텍스(Mutex)
- 페이징 & 세그먼테이션 (PDF)
- 페이지 교체 알고리즘
- 메모리(Memory)
- 파일 시스템
- 키(Key) 정리
- SQL - 기본
- SQL - JOIN
- SQL Injection
- SQL vs NoSQL
- 레디스(Redis)
- ORM(Object-Relational Mapping)
- 정규화(Nomalization)
- 이상(Anomaly)
- 인덱스(INDEX)
- 트랜잭션(Transaction)
- 트랜잭션 격리 수준(Transaction Isolation Level)
- Array
- LinkedList
- ArrayList vs LinkedList
- HashTable
- 스택(Stack) & 큐(Queue)
- 그래프(Graph) & 트리(Tree)
- 힙(Heap)
- 이진탐색트리(Binary Search Tree)
- 트라이(Trie)
- B-Tree & B+Tree
- 정렬 알고리즘(Quick Sort, Merge Sort)
- 객체 지향 프로그래밍(OOP)
- 디도스, 피싱, 스미싱
- Hash vs Encryption
- 애자일(Agile) vs 워터폴(Waterfall)
- 디자인패턴