cs지식이란 컴퓨터 공학적 지식을 말한다. 디자인패턴, 데이터 베이스 운영체제, 네트워크등을 포함한다. 이런 지식은 개발자가 비지니스 로직을 구축하는 데 있어서 기초가 되는 상식이고 기술 면접에 대비하기 위해서 공부해야 한다.
💡 개발상식 Link
- 좋은 코드란
- 객체 지향 프로그래밍
- RESTful API
- TDD
- 함수형 프로그래밍
- MVC 패턴
💡 컴퓨터구조 Link
- 컴퓨터의 구성
- 중앙처리장치(CPU) 작동 원리
- 캐시 메모리
- 고정 소수점 vs. 부동 소수점
- 패리티 비트와 해밍코드
- APM 프로세서
💡 네트워크 Link
- TCP 3, 4way handShake
- OSI 7계층
- TCP vs.UDP
- 대칭키와 공개키
- HTTP vs. HTTPS
- HTTP GET vs POST
- TSL/SSL HandShake
- 로드밸런싱
- Blocking/Non-blocking
💡 데이터베이스 Link
- Index Index의 성능과 고려해야할 사항
- Primary index vs. Secondary index
- Composite
- 정규화
- 정규화 탄생 배결
- 정규화란
- 정규화의 종류
- 정규화의 장단점
- 트랜잭션
- 트랜잭션과 Lock
- 트랜잭션 특정
- 트랜잭션 상태
- 트랜잭션 사용할 때 주의할 점
- 교착상태
- SQL Injection
- SQL vs. NoSQL
- 정의
- CAP 이론
- 일관성
- 가용성
- 네트워크 분할 허용성
- 저장방식에 따른 분류
- Key-Value Model
- Document Model
- Column Model
💡 운영체제 Link
- 프로세스와 스레드
- 멀티 스레드
- 장점과 단점
- 스케줄러
- 장기 스케줄러
- 단기 스케줄러
- 중기 스케줄러
- CPU 스케줄러
- FCFS
- SJF
- SRT
- Priority scheduling
- PR
- Synchronous/Asynchronous
- 프로세스 동기화
- Critical Section
- 해결책
- 메모리
- 데드락
- 페이징과 세그먼테이션
💡 자료구조 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
- 시간 복잡도
- 공간 복잡도
💡 Algorithm (알고리즘) Link
- 완전탐색
- 이분탐색
- 삼분탐색
- DFS & BFS
- 다익스트라
- 비트마스크
- 소수
- 선택 정렬
- 삽입 정렬
- 퀵 정렬
- 힙 정렬
- 거품 정렬
- 병합 정렬
- 기수 정렬
- 계수 정렬
- 동적 계획법