- 모의 면접으로 컴퓨터공학을 학습하는 스터디
- 레퍼런스: https://github.com/VSFe/Tech-Interview
- 프레임워크 vs 라이브러리
- 객체 지향 프로그래밍
- RESTful API
- 가상화와 가상 머신
- 인증과 인가
- OAuth
- Base64 인코딩
- 컴퓨터 구조 개요
- 고정 소수점 vs 부동 소수점
- CPU
- 메모리 계층 구조
- 주기억장치
- 보조기억장치
- 입출력 장치
- 패리티 비트와 해밍 코드
- 시간 복잡도와 공간 복잡도
- 배열
- 연결 리스트
- 스택
- 큐
- 덱(Deque)
- 그래프
- 트리
- 힙(Heap)과 우선순위 큐
- 해시
- 트라이(Trie)
- DFS와 BFS
- 재귀
- 정렬
- 거품 정렬(Bubble sort)
- 선택 정렬(Selection sort)
- 삽입 정렬(Insertion sort)
- 퀵 정렬(Quick sort)
- 병합 정렬(Merge sort)
- 힙 정렬(Heap sort)
- 기수 정렬(Radix sort)
- 계수 정렬(Counting sort)
- 그리디(Greedy)
- 동적 계획법(Dynamic Programming)
- 이진 탐색(Binary Search)
- 비트마스크(BitMask)
- 운영체제 개요
- 프로세스와 스레드
- 프로세스 상태와 계층 구조
- CPU 스케줄링
- 동기화
- 동기화 기법
- 교착 상태
- 가상 메모리와 메모리 관리 전략
- 쓰레드 풀(Thread Pool)
- Blocking I/O vs Non-blocking I/O
- 동기(Synchronous) vs 비동기(Asynchronous)
- 파일 시스템
- 네트워크 개요
- OSI 모델 vs TCP/IP 모델
- 물리 계층과 데이터 링크 계층
- 네트워크 계층
- 전송 계층
- 응용 계층
- 쿠키, 세션, JWT
- 로드 밸런싱
- 포워드 프록시와 리버스 프록시
- HTTPS
- SOP와 CORS
- XSS와 CSRF
- 데이터베이스 개요
- SQL
- SQL Injection
- 인덱스(Index)
- 뷰(View)
- 저장 프로시저(Stored procedure)
- 트리거(Trigger)
- 트랜잭션(Transaction)
- 트랜잭션 격리 레벨(Transaction Isolation Level)
- 락(Lock)
- Multi-Version Concurrency Control(MVCC)
- 정규화(Normalization)
- 커넥션 풀(Connection Pool)
- 파티셔닝, 샤딩, 레플리케이션
- NoSQL vs RDB
- 싱글톤 패턴
- 어댑터 패턴
- 탬플릿 메소드 패턴
- 팩토리 메소드 패턴
- 옵저버 패턴
- 스트레터지 패턴
- 컴포지트 패턴