백엔드 기술면접 대비 CS 학습 기록 — 컴퓨터구조 · 알고리즘 · 네트워크 · 데이터베이스 · 운영체제
보여주려고 만든 게 아니라, 면접 전에 내가 다시 읽으려고 만든 저장소입니다. 그래서 교과서를 옮겨 적는 대신 개념마다 ① 30초 안에 말할 답변과 ② 예상 꼬리질문을 먼저 쓰고, 코드로 확인할 수 있는 건 Java로 직접 돌려본 출력만 남깁니다.
👉 INTERVIEW.md — 면접 전날 읽는 파일
모든 노트의 30초 답변과 꼬리질문만 자동으로 모아둔 곳. 노트는 길게 쓰고, 복습은 여기서 합니다.
| # | 과목 | 폴더 | 진행 |
|---|---|---|---|
| 01 | 컴퓨터구조 | 01_computer-architecture | 🌿 |
| 02 | 알고리즘 · 자료구조 | 02_algorithm | 🌿 |
| 03 | 네트워크 | 03_network | 🌱 |
| 04 | 데이터베이스 | 04_database | 🌱 |
| 05 | 운영체제 | 05_operating-system | 🌱 |
🌱 시작 전 · 🌿 진행 중 · 🌳 1회독 완료
과목폴더/
├── README.md # 목차 (새 노트를 쓰면 여기에 한 줄 추가)
├── 01_주제이름.md # 개별 노트
└── code/ # 노트에서 돌려본 Java 소스
└── Foo.java
- _templates/note.md를 복사해서 시작합니다.
- 파일명은
NN_주제.md— 번호로 학습 순서를 유지합니다. - 검증 코드는
code/*.java에 두고 실제로 실행합니다 (java Foo.java— JDK 11+ 단일 파일 실행). python3 _scripts/build-interview.py를 돌려INTERVIEW.md를 갱신합니다.- 과목
README.md목차에 링크를 추가합니다. - 커밋 메시지는
[과목] 주제형식 — 예:[OS] 컨텍스트 스위칭 정리
- 면접 답변을 먼저 쓴다 — 노트 맨 위
🎯 30초 답변이 그 노트의 결론이다. 그게 안 써지면 아직 이해 못 한 것이다. - 꼬리질문까지 준비한다 — 면접은 첫 질문이 아니라 두 번째, 세 번째 질문에서 갈린다.
- 직접 돌려본 것만 쓴다 —
직접 확인해본 것에는 실제 실행 출력만 붙인다. 코드는 Java로 쓰고, 안 돌려본 코드는 넣지 않는다. - 왜를 남긴다 — 정의만 옮기지 않고 그렇게 설계된 이유와 트레이드오프를 쓴다.
- 모르는 것도 적는다 — 막힌 지점을
TODO로 남기고 나중에 채운다. 한계를 아는 것도 답변이다.
이 저장소는 코딩테스트 준비 시간을 침범하지 않는 선에서만 운영합니다. 대형 IT는 코테 → 서류 → 면접 순이라, 코테를 못 뚫으면 이 노트를 읽을 일도 없습니다. 노트 한 편이 부담스러워지면 분량을 줄이지, 주기를 늘리지 않습니다.
_scripts/build-interview.py는 노트를 모아주는 빌드 스크립트일 뿐, 학습 코드는 전부 Java입니다.