- [ 전공자로서 알아야 할 기본 CS 지식 52개 + 각자 관심 있는 기술 α개 ]를 공부, 발표, 토론하고 정리해둔 공간입니다.
- 주목적은 면접 대비이고, 향후 다른 개발자들과 소통하여 좋은 영향을 주고 받을 수 있게 되는 것이 또 하나의 목표입니다.
- 컴퓨터학부생 4명 (Java Spring 3명, Kotlin Android 1명)이 진행했습니다.
- 2023.01.16 ~ 2023.08.02
구경하는 방법 : 각 대주제(폴더)마다 README 파일이 하나씩 있는 구조입니다.
원하는 폴더로 이동한 다음, 상단의 햄버거 버튼을 누르면 목차대로 보실 수 있습니다.
- data structure (자료구조)
- Array
- Linked List
- Stack
- Queue & Deque
- Tree & Binary Tree
- Graph
- Priority Queue & Heap
- Hash Table
- B-tree & B+tree
- Indexed Tree (Segment Tree)
- Trie
- algorithm (알고리즘)
- 시간복잡도와 공간복잡도
- 정렬
- DFS와 BFS
- 백트래킹
- 분할 정복법
- 탐욕 알고리즘
- 동적 계획법 (Dynamic Programming)
- 최단 경로
- information_security
- sql injection
- csrf
- computer architecture (컴퓨터구조)
- 컴퓨터의 구성
- 중앙처리장치(CPU) 작동 원리
- 캐시 메모리
- 고정 소수점 & 부동 소수점
- 패리티 비트 & 해밍 코드
- ARM 프로세서
- operating system (운영체제)
- 운영체제란?
- 프로세스와 스레드
- 프로세스 주소 공간
- 인터럽트
- 시스템 콜
- PCB와 Context Switching
- IPC(Inter Process Communication)
- CPU 스케줄링
- 데드락
- 경쟁 상태(Race Condition)
- 세마포어와 뮤텍스
- 페이징과 세그먼테이션
- 페이지 교체 알고리즘
- 메모리
- 파일 시스템(File System)
- network (네트워크)
- OSI 7계층
- TCP & UDP
- TCP/IP 흐름제어 & 혼잡제어
- 대칭키 & 공개키
- HTTP & HTTPS
- TLS/SSL HandShake
- 로드밸런싱(Load Balancing)
- Blocking/Non-blocking & Synchronous/Asynchronous
- Blocking & Non-Blocking I/O
- language (Java, Kotlin)
- database (데이터베이스)
- 키(Key)
- 조인
- 인덱스
- 이상(Anomaly)과 정규화(Normalization)
- 트랜잭션(Transaction)
- SQL vs NOSQL
- design pattern (디자인패턴)
- software engineering
- projects (프로젝트에 쓰인 기술들)
- 👨🏻💻 Tech Interview
- 서그림님의 CS-study
- GitHub - JaeYeopHan/Interview_Question_for_Beginner
- GitHub - WeareSoft/tech-interview: 🙍 tech interview
- 각 폴더의 README.md 하단에 세부적인 참고자료 출처를 작성해두었습니다.
