TrendShift 딥다이브 · 2026-06-30

CS-Fundamentals 딥다이브
— 취업 면접용 컴퓨터과학 7과목을 한 폴더에 담은 'placement 키트'

CS-Fundamentals는 신입 개발자 취업(인도식 표현으로 placement) 면접을 겨냥해 컴퓨터과학 핵심 7과목 — 자료구조·알고리즘(DSA), 컴퓨터 네트워크, 데이터베이스/SQL, 객체지향(OOP), 운영체제, 시스템 디자인, 소프트웨어 공학 — 의 노트·치트시트·면접 문제집을 한 저장소에 모아둔 큐레이션 자료집이다. 특이한 점은 코드도, 빌드도, 실행할 프로그램도 없다는 것 — README.md 한 장이 목차이고, 실제 알맹이는 30여 개의 PDF·문서 파일에 들어 있다. 그래서 이 딥다이브는 "코드를 뜯어보는" 글이 아니라, 이 모음을 발판 삼아 CS 기초를 어떻게 마스터하는가에 초점을 맞춘다. (저장소: Krishnagangwal/CS-Fundamentals · 문서 큐레이션 · ★5 · 갓 만들어진 신생 레포)
목차
  1. 프로젝트 한줄 요약
  2. 왜 주목받는가
  3. 기술 스택 전체 지도 (= 7과목 지도)
  4. 아키텍처 심화 분석 (지식 지도 · 면접 흐름)
  5. 디렉토리 구조 해부
  6. 학습 포인트 (과목별)
  7. 하드웨어 / 시스템 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한줄 요약

이 저장소가 대체 무엇인가.

핵심 메시지

"면접 전날, 흩어진 PDF·블로그·유튜브를 헤매는 대신 —
CS 7과목 + 면접 Q&A + 회사 리스트 + 커버레터까지 한 폴더에."

CS-Fundamentals는 소프트웨어를 실행하는 프로젝트가 아니다. 7개의 주제 폴더와 루트의 문서 5개로 이뤄진 학습 자료 인덱스다. README가 목차 역할을 하고, 진짜 내용은 각 폴더의 PDF·docx·md 파일에 담겨 있다.

겨냥하는 독자는 분명하다. 전공 취업 면접(코딩 테스트 + CS 이론 면접 + 인성 면접)을 앞둔 신입·학생이다. 그래서 7과목 이론뿐 아니라 "회사 리스트·커버레터 양식·면접 준비 프롬프트"까지 함께 묶여 있다.

저장소를 펼치면 폴더 이름이 그대로 공부 범위가 된다: DSA, Computer-Network, DBMS-and-SQL, OOPs, Operating-System, System-Design, Software-Engineering. 여기에 면접 직결 자료 — HR-Interview-Questions.pdf(인성 면접), LeetCode-Problems.pdf(코딩 문제), Cover-Letter-Template.docx(커버레터), List-of-Companies-Hiring-Freshers-Offcampus.md(신입 채용 회사 목록) — 가 루트에 흩뿌려져 있다. 한마디로 "전공 취업 준비 풀패키지를 한 저장소로 압축"한 모음집이다.

용어
placement (플레이스먼트)
대학 졸업 시즌에 기업이 캠퍼스로 들어와 신입을 대규모로 뽑는 채용 방식. 특히 인도 공대 문화에서 핵심 행사다. 우리말로는 "캠퍼스 리크루팅 / 신입 공채"에 가깝다. 이 저장소의 모든 자료는 이 placement 면접 통과를 목표로 큐레이션돼 있다.
용어
DSA (Data Structures & Algorithms, 자료구조와 알고리즘)
데이터를 담는 그릇(배열·연결리스트·트리·그래프 등)과 그것을 다루는 절차(정렬·탐색·동적계획법 등)를 묶어 부르는 말. 코딩 테스트의 90%가 여기서 나온다. 면접의 "1차 관문"이라 보면 된다.

2왜 주목받는가

트렌딩 이유 · 경쟁 대비 장점 · 그리고 솔직한 한계.

이 저장소가 TrendShift 상위에 오른 이유는 "취준생의 가장 큰 통증을 한 번에 긁어준다"는 데 있다. CS 면접 준비는 자료가 사방에 흩어져 있다는 게 최대 난관인데, 이 저장소는 "7과목 + 면접 부록"을 폴더 하나로 정리해 그 마찰을 없앤다. GitHub 스타는 아직 ★5로 작지만, TrendShift 순위는 별 수가 아니라 X(트위터) 등에서의 사회적 멘션·공유량으로 매겨진다 — 즉 "갓 올라왔는데 빠르게 입소문 타는 중"인 신생 레포다.

비교 대상한계CS-Fundamentals의 접근
구글링 / 블로그 서핑매번 새로 검색, 품질 들쭉날쭉, 범위가 빠짐7과목을 폴더로 고정 — "빠뜨린 주제"를 구조가 막아준다
유튜브 강의되감기·요약이 어렵고, 면접 직전 속독에 부적합치트시트·노트 PDF라 면접 전날 빠른 복습에 강함
유료 인터뷰 플랫폼구독료, 특정 회사·언어에 치우침무료, 언어 무관(OOP는 Java·Python·C++·JS 4종 병기)
흩어진 면접 후기이론·코딩·인성·서류가 따로 논다이론+LeetCode+HR+커버레터+회사목록을 한 저장소에 통합
기존 방식의 함정
"준비 자료 모으다가 시간 다 간다"

면접 D-7에 DSA는 이 블로그, OS는 저 PDF, SQL은 또 다른 사이트… 자료를 찾고 모으는 데만 에너지를 쓰다 정작 공부할 시간이 사라진다. 게다가 어떤 주제를 빠뜨렸는지조차 모른다.

CS-Fundamentals의 해결
"범위를 폴더가 보장한다"

7개 폴더가 곧 체크리스트다. 각 폴더를 하나씩 비우면 "면접에 나올 CS 이론"을 빠짐없이 훑게 된다. 자료 수집 단계를 통째로 건너뛰고 바로 공부에 진입할 수 있는 게 이 모음의 진짜 가치다.

다만 이 딥다이브는 단점도 솔직히 짚는다. 이 저장소를 "그대로 신뢰하고 별을 누르기" 전에 알아둘 게 있다.

솔직한 한계 3가지
신생 · 1인 큐레이션 · 저작권 미소유 · 바이너리 PDF
커밋 2개·스타 5개의 신생 레포라 "검증된 정전(canon)"은 아직 아니다(반면 system-design-primer 같은 대형 레포는 수만 명이 검수했다). ② README가 "인터넷 여러 곳에서 모은 자료이며 원저작권을 주장하지 않는다"고 명시한다 — 즉 타인의 PDF를 재배포한 모음이라, 자료 자체의 라이선스·최신성은 보장되지 않는다. ③ 내용이 대부분 PDF·docx(바이너리)라 깃의 강점인 "변경 추적·텍스트 검색·PR 협업"이 잘 안 먹힌다. 마크다운 기반인 free-for-dev·system-design-primer와 대비되는 지점이다.

그래서 똑똑한 사용법은 "이 저장소를 지도로만 쓰고, 각 주제의 원본 1차 자료로 갈아타는 것"이다. 폴더 구조로 "무엇을 공부할지"의 범위를 잡되, 실제 학습은 공식 문서·교과서·검증된 강의로 보강하는 식이다. (구체적 1차 자료는 11번 참고 링크에 정리했다.)

3기술 스택 전체 지도 (= 7과목 지도)

반전 — "소프트웨어 스택이 거의 없다". 그래서 진짜 '스택'은 7과목 그 자체다.

보통 트렌딩 저장소를 분석하면 화려한 프레임워크 목록(React·Postgres·Docker…)이 나온다. CS-Fundamentals는 정반대다. 실행할 코드도, 서버도, 빌드도 없다. 기술 구성을 솔직히 적으면 표 하나로 끝난다.

레이어실제 구성역할
콘텐츠PDF (대부분) · docx · md노트·치트시트·면접 문제집. 약 30여 개 파일.
인덱스README.md (표)폴더·파일을 표로 안내하는 단일 목차.
호스팅 / 배포GitHub파일을 그대로 저장·다운로드. 빌드·CI 없음.
백엔드 / 프론트 / DB없음실행 코드 0. "웹사이트"조차 없다(free-for-dev와도 다른 점).

그러니 이 섹션에서 진짜로 봐야 할 "스택"은 소프트웨어가 아니라 이 저장소가 가르치려는 7과목이다. 면접에서 각 과목이 어디에 쓰이는지를 한 장으로 정리하면 이렇다 — 이게 이 저장소를 공부하는 지도다.

과목(폴더)한 줄 정의면접에서의 위치
DSA데이터를 담는 그릇 + 다루는 절차(정렬·탐색·DP·그래프)코딩 테스트·기술면접의 최대 비중
OOP객체로 코드를 조직하는 4대 원칙(캡슐화·상속·다형성·추상화)"이 개념 설명해보라"식 단골 질문
OS
(운영체제)
프로세스·스레드·스케줄링·메모리·데드락이론 면접의 핵심 축
DBMS/SQL데이터 저장·조회. 정규화·트랜잭션·인덱스 + SQL 작성이론 + 라이브 SQL 작성 둘 다
CN
(네트워크)
OSI 7계층·TCP/IP·HTTP·DNS"URL 치면 무슨 일이?"류 통합 질문
System Design위 전부를 합쳐 큰 서비스를 설계(로드밸런서·캐시·DB 분할)경력·고연봉 트랙의 결정타
SE
(소프트웨어공학)
SDLC·애자일·테스트 등 개발 프로세스 상식가벼운 상식·인성 면접 보조
용어
치트시트 (Cheatsheet)
시험·면접 직전에 핵심만 한눈에 훑도록 압축한 요약지. 이 저장소의 DSA-Cheatsheet.pdf, Complete-SQL-Cheatsheet.pdf, System-Design-Cheatsheet.pdf가 대표적이다. "처음 배우는 용도"가 아니라 "이미 배운 걸 빠르게 되살리는" 용도다.

4아키텍처 심화 분석

시스템 구조가 없으니 — 대신 '지식 지도'와 '면접 파이프라인'을 그린다.

이 저장소엔 분석할 서버 구조나 데이터 흐름이 없다. 그래서 딥다이브의 "아키텍처"를 두 가지 진짜 구조로 바꿔 그린다: ① 7과목이 서로 어떻게 쌓이는가(지식 의존 지도), ② 그 과목들이 실제 면접의 어느 단계에서 쓰이는가(채용 파이프라인). 이 둘을 머릿속에 넣으면 "무엇을 먼저, 왜 공부하는지"가 잡힌다.

① 지식 의존 지도 — 무엇 위에 무엇이 쌓이나

┌──────────────────────────────┐ │ 프로그래밍 기본기 (공통 전제) │ └───────────────┬──────────────┘ ┌────────────────────────┼────────────────────────┐ ┌───▼────┐ ┌────▼────┐ ┌─────▼─────┐ │ DSA │ │ OOP │ │ OS │ │ 자료구조 │ │ 객체지향 │ │ 운영체제 │ └───┬────┘ └────┬────┘ └─────┬─────┘ │ │ │ │ ┌────▼─────┐ ┌─────▼─────┐ │ │ DBMS/SQL │ │ CN │ │ │ 데이터베이스 │ │ 네트워크 │ │ └────┬─────┘ └─────┬─────┘ └────────────────────────┼────────────────────────┘ ┌───────▼────────┐ │ System Design │ ← 위 전부를 합쳐 │ + SE(공학 상식) │ "큰 시스템"을 설계 └────────────────┘

핵심 직관: DSA·OOP·OS는 "기초 기둥"이고, DBMS와 CN은 그 위에 얹히는 "응용 기둥"이며, System Design은 이 모든 걸 합쳐야 비로소 풀리는 꼭대기다. 그래서 신입은 보통 아래(DSA)부터, 경력은 위(System Design)까지 본다. 공부 순서도 이 그림을 따르면 자연스럽다.

② 채용 파이프라인 — 각 과목이 어느 관문에서 쓰이나

[1차] 온라인 코딩 테스트 ─── DSA · LeetCode-Problems.pdf 가 좌우 │ 통과 ▼ [2차] 기술 면접 ────────── DSA + OS·CN·DBMS·OOP 이론 + System Design │ 통과 ▼ [3차] HR / 인성 면접 ────── HR-Interview-Questions + Cover-Letter + 회사 리스트 │ 합격 ▼ 최종 오퍼 (Offer)

이 파이프라인이 저장소의 파일 배치를 설명한다. LeetCode-Problems.pdfDSA/가 1차용, 이론 7과목 폴더가 2차용, 루트의 HR-Interview-Questions.pdf·Cover-Letter-Template.docx·List-of-Companies-Hiring-Freshers-Offcampus.md가 3차·지원 관리용이다. 즉 폴더 구조 자체가 "면접 단계별 준비물 체크리스트"로 설계돼 있다.

비유

이런 "자료 덤프형(resource-dump) 저장소"는 잘 정리된 책장과 같다. 책장(폴더 구조)이 좋으면 어떤 책이 어디 있는지 한눈에 보이지만, 책장이 책을 대신 읽어주지는 않는다. 설계 패턴으로 보면 "README = 단일 인덱스, 폴더 = 주제 분류, 파일 = 콘텐츠"라는 단순·견고한 구조인데, 대신 검색·버전관리가 약한 바이너리 PDF라는 대가를 치른다.

5디렉토리 구조 해부

폴더 7개 + 루트 문서 5개 — 어디에 무엇이 있나.

CS-Fundamentals/ ├── Computer-Network/ (3개) CN 노트·면접 Q&A·로드맵(.md) ├── DBMS-and-SQL/ (9개) DBMS 노트 + SQL 치트시트·튜토리얼·면접·LeetCode SQL ├── DSA/ (6개) 치트시트·종합자료·Striver SDE 풀이·Top 50 면접 ├── OOPs/ (5개) 면접 Q&A + Java·Python·C++·JS 4언어 OOP ├── Operating-System/ (5개) OS 노트 2부·단기노트·면접 Q&A·교과서 ├── Software-Engineering/ (2개) SE 노트·면접 Q&A ├── System-Design/ (3~4개) 치트시트(PDF·md)·노트·면접 Q&A ├── HR-Interview-Questions.pdf ← 인성/행동 면접 ├── LeetCode-Problems.pdf ← 코딩 문제 세트 ├── Cover-Letter-Template.docx ← 커버레터 양식 ├── List-of-Companies-Hiring-Freshers-Offcampus.md ← 신입 채용 회사 목록 ├── 25-Job-Interview-Preparation-Prompts.md ← 면접 준비용 AI 프롬프트 └── README.md ← 전체 목차/인덱스

각 폴더가 담는 "알맹이"를 풀어보면 이렇다.

폴더파일 수핵심 알맹이
DBMS-and-SQL9가장 풍부. 이론 노트 + SQL 치트시트·튜토리얼 + 면접 100문·Top 50 + LeetCode SQL까지
DSA6치트시트·종합자료 + Striver SDE 시트 풀이(인기 문제 세트) + Top 50 면접
OOPs5한 개념(OOP)을 4개 언어로 — Java·Python·C++·JavaScript 병기
Operating-System52부작 정식 노트 + 단기 암기노트 + 면접 Q&A + 교과서 한 권
System-Design3~4치트시트(PDF·md 둘 다) + 노트 + 면접 Q&A
Computer-Network3placements/GATE용 노트 + 면접 Q&A + 로드맵
Software-Engineering2가장 얇음. 개념 노트 + 면접 Q&A
용어
Striver SDE 시트 (Striver's SDE Sheet)
인도 개발자 사이에서 유명한 "면접 빈출 코딩 문제 ~180선" 큐레이션. SDE = Software Development Engineer. 이 저장소엔 그 풀이 PDF가 들어 있다. 한국으로 치면 "코딩테스트 필수 유형 모음"에 해당한다.
용어
GATE (Graduate Aptitude Test in Engineering)
인도의 공학 대학원 입학·공기업 채용용 표준 시험. CS 이론을 깊게 묻기로 유명해서, "GATE용 노트"라는 표현은 곧 "이론을 탄탄하게 정리한 자료"라는 신호다.

6학습 포인트 (과목별)

각 폴더에서 무엇을 배우고 · 면접에 뭐가 나오고 · 무엇을 손으로 해볼까.

이 저장소의 핵심 가치는 "범위"다. 아래는 7과목 각각에서 꼭 챙길 개념 + 면접 단골 질문 + 손으로 해볼 실습을 한 묶음으로 정리한 것이다. 여기 적힌 개념을 폴더의 PDF로 채우고, 모르는 건 11번의 1차 자료로 보강하면 된다.

먼저 알아둘 공통 무기
Big-O 표기법 (시간/공간 복잡도)
입력이 커질 때 알고리즘이 얼마나 느려지는지를 나타내는 "성장 속도" 표기. O(1)(즉시) → O(log n)(이분탐색) → O(n)(한 번 훑기) → O(n log n)(좋은 정렬) → O(n²)(이중 반복) 순으로 느려진다. DSA 면접의 모든 답은 "그래서 복잡도가 얼마?"로 끝난다. 가장 먼저 체화할 언어다.
① DSA · 자료구조와 알고리즘

배울 것: 배열·문자열·해시맵·스택/큐·연결리스트·트리·그래프 + 정렬·이분탐색·재귀·동적계획법(DP). 패턴(투 포인터·슬라이딩 윈도우·BFS/DFS)으로 묶어 외우는 게 핵심.

면접 단골: "이 코드의 시간복잡도는?", "해시맵으로 O(n)에 풀어보라", "이 트리를 순회하라."

실습 한 줄: LeetCode Easy 50문제를 풀고 패턴별로 다시 분류해 노트로 묶기.

② OOP · 객체지향 프로그래밍

배울 것: 4대 원칙(캡슐화·상속·다형성·추상화) + SOLID 5원칙. 이 저장소는 같은 개념을 Java·Python·C++·JS 4개 언어로 보여줘 "언어 무관한 원리"를 잡게 한다.

면접 단골: "오버로딩 vs 오버라이딩", "추상 클래스 vs 인터페이스", "다형성 예시를 코드로."

실습 한 줄: 같은 "도형(Shape) 클래스 계층"을 Java와 Python 두 언어로 똑같이 설계해보기.

③ OS · 운영체제

배울 것: 프로세스 vs 스레드, CPU 스케줄링, 동기화(뮤텍스·세마포어), 데드락 4조건, 가상메모리·페이징.

면접 단골: "프로세스와 스레드 차이", "데드락이 생기는 4가지 조건", "페이징이 왜 필요한가."

실습 한 줄: 생산자-소비자(producer-consumer) 문제를 세마포어로 직접 코딩해 경쟁 상태를 눈으로 확인.

④ DBMS / SQL · 데이터베이스

배울 것: 정규화(1~3NF), 트랜잭션과 ACID, 인덱스 원리, JOIN·서브쿼리·집계. 폴더가 9개로 가장 두툼하니 여기 시간을 많이 쓰자.

면접 단골: "인덱스는 왜 조회를 빠르게 하나", "정규화 vs 비정규화 트레이드오프", "트랜잭션 격리수준."

실습 한 줄: LeetCode SQL 20문제로 JOIN·GROUP BY·윈도우 함수 손에 익히기.

⑤ CN · 컴퓨터 네트워크

배울 것: OSI 7계층, TCP vs UDP, 3-way handshake, HTTP/HTTPS, DNS, IP/포트.

면접 단골: "브라우저에 URL을 치면 무슨 일이 일어나는가"(거의 모든 과목을 엮는 통합 질문).

실습 한 줄: 그 "URL → 화면" 전 과정을 DNS·TCP·HTTP 단계로 직접 다이어그램으로 그려보기.

⑥ System Design · 시스템 디자인

배울 것: 수평 확장, 로드밸런서, 캐시(Redis), DB 복제·샤딩, CAP 정리, 메시지 큐. 앞의 6과목을 합쳐야 풀린다.

면접 단골: "URL 단축 서비스를 설계하라", "읽기 1억 건을 어떻게 버티나."

실습 한 줄: "URL 단축기" 한 개를 골라 요구사항→API→DB 스키마→확장 전략까지 설계 문서 1장 쓰기.

⑦ SE · 소프트웨어 공학

배울 것: SDLC(개발 생명주기), 애자일·스크럼, 테스트 종류(단위·통합·시스템), 버전관리 기본.

면접 단골: "애자일 vs 워터폴", "단위 테스트와 통합 테스트 차이."

실습 한 줄: 작은 토이 프로젝트에 깃 브랜치 전략 + 칸반 보드를 실제로 적용해보기.

7하드웨어 / 시스템 요구사항

소프트웨어가 아니니 — 사실상 없다. 대신 '학습 환경'을 세팅하자.

이 저장소는 실행할 코드가 없으므로 사양 요구가 사실상 제로다. PDF 뷰어와 인터넷만 있으면 폰에서도 본다. 의미 있는 건 하드웨어가 아니라 "효율적으로 공부할 환경"이라, 그쪽으로 바꿔 안내한다.

준비물
PDF 뷰어 + 인터넷자료 열람의 전부. 별도 설치 없음.
LeetCode / HackerRank 계정DSA·SQL은 읽기만으론 안 늘고 직접 풀어야 한다(무료).
코드 에디터 (VS Code 등)OOP·OS 실습 코드를 직접 돌려볼 공간.
노트 앱 / 화이트보드System Design은 "그림으로 설명"이 핵심 — 손으로 그리는 연습 필수.
공부 팁
"읽기 30% · 손으로 70%"

PDF를 읽는 건 워밍업일 뿐이다. DSA는 문제를 풀고, SQL은 쿼리를 짜고, System Design은 직접 그려봐야 면접에서 말이 나온다. 이 저장소는 "무엇을 연습할지"의 목록으로 쓰고, 시간의 대부분은 손을 움직이는 데 쓰자.

8직접 해볼 수 있는 실습 과제

읽기에서 끝내지 않도록 — 난이도별 5개.

과제 1. SQL 10문제 정복 난이도 ★☆☆ (입문)

DBMS-and-SQL 치트시트를 옆에 두고 LeetCode SQL Easy 10문제를 푼다. JOIN·GROUP BY·HAVING을 손에 익히는 게 목표. 막히면 치트시트의 문법을 그 자리에서 찾아 쓰면 된다 — 외우지 말고 찾아 쓰며 익히기.

과제 2. OOP 4원칙을 코드로 증명 난이도 ★☆☆ (입문)

"동물(Animal) → 개·고양이" 같은 작은 클래스 계층을 만들어 캡슐화·상속·다형성·추상화가 코드 어디서 나타나는지 주석으로 표시한다. 같은 걸 Java와 Python 두 언어로 써서 "원리는 같고 문법만 다르다"를 체감.

과제 3. 생산자-소비자 동기화 구현 난이도 ★★☆ (중급)

Operating-System 노트의 세마포어 개념을 코드로 옮긴다. 스레드 두 개(생산자·소비자)가 공유 버퍼를 두고 경쟁할 때, 세마포어 없이는 어떻게 깨지고(경쟁 상태) 있으면 어떻게 안전해지는지 직접 출력으로 확인.

과제 4. "URL 단축기" 시스템 설계 1장 난이도 ★★★ (고급)

System-Design 치트시트를 참고해 URL 단축 서비스(bit.ly류)를 설계 문서로 정리한다: ① 요구사항 → ② API 형태 → ③ DB 스키마 → ④ 짧은 키 생성 방식 → ⑤ 읽기 폭증 시 캐시·샤딩 전략. 한 장이면 충분 — 면접에서 말할 순서대로 쓰는 게 포인트.

과제 5. (메타) 나만의 'CS 인덱스' 레포 만들기 난이도 ★★★ (응용)

이 저장소의 약점(바이너리 PDF라 검색·갱신이 어렵다)을 직접 개선하는 과제다. 내가 공부한 7과목 요약을 마크다운(.md)으로 정리해 GitHub 레포로 만들고, free-for-dev처럼 Docsify로 빌드 없이 웹페이지화한다. "자료를 모으는 사람"에서 "자료를 구조화하는 사람"으로 올라서는 연습이자, 그 자체가 포트폴리오가 된다.

9관련 기술 심화 학습 로드맵

이 저장소를 8주 placement 준비 플랜으로 굴리면.

폴더 7개를 무작정 위에서 아래로 훑으면 지친다. 면접 비중과 의존 관계(4번 지도)를 따라 순서를 짜면 효율이 다르다. 아래는 하루 2~3시간 기준 8주 플랜이다. 비중 큰 DSA·DBMS에 시간을 더 얹었다.

주차집중 과목그 주의 산출물
1주DSA 기초 + Big-O배열·문자열·해시 패턴 정리 + Easy 30문제
2주DSA 심화트리·그래프·DP + Medium 20문제, 패턴 노트
3주DBMS / SQL정규화·트랜잭션·인덱스 요약 + LeetCode SQL 20문제
4주운영체제(OS)프로세스/스레드·데드락·페이징 1장 요약 + 생산자-소비자 코드
5주네트워크(CN) + OOP"URL 치면?" 다이어그램 + OOP 4원칙 2언어 구현
6주System Design 입문URL 단축기·뉴스피드 등 설계 문서 2장
7주모의면접 + 부록HR 답변 스크립트 + 커버레터 완성 + 지원 회사 리스트업
8주약점 보강 + 복습틀린 문제 재풀이 + 나만의 치트시트 1장으로 압축
비유

로드맵은 운동 루틴과 같다. 큰 근육(DSA·DBMS)에 더 많은 세트를, 작은 근육(SE)엔 가볍게. 그리고 마지막 주의 "치트시트 1장으로 압축"이 곧 면접 전날 펼칠 나만의 요약본이 된다 — 남의 PDF가 아니라 내가 만든 게 시험장에서 진짜 힘이 된다.

10핵심 키워드 사전

7과목을 가로지르는 면접 빈출 용어 한 줄 정리.

용어한 줄 뜻
Big-O입력이 커질 때 알고리즘이 느려지는 속도. 모든 DSA 답의 마무리.
해시맵
(Hash Map)
키→값을 평균 O(1)에 찾는 자료구조. "빠른 조회"의 단골 해법.
동적계획법
(DP)
큰 문제를 작은 문제로 쪼개 답을 저장·재사용. 중복 계산 제거.
정규화
(Normalization)
데이터 중복을 줄이려 테이블을 쪼개는 DB 설계 규칙(1~3NF).
트랜잭션 / ACID여러 DB 작업을 "전부 성공 또는 전부 취소"로 묶는 단위 + 그 4보장(원자성·일관성·고립성·지속성).
인덱스
(Index)
책 색인처럼 특정 열을 빨리 찾게 하는 보조 구조. 조회↑ 쓰기↓.
프로세스 vs 스레드프로세스=독립 메모리의 실행 단위, 스레드=한 프로세스 안에서 메모리를 공유하는 실행 흐름.
데드락
(Deadlock)
서로 상대의 자원을 기다리며 멈춘 교착 상태. 성립 4조건이 단골 질문.
페이징
(Paging)
메모리를 고정 크기 조각으로 나눠 관리하는 가상메모리 기법.
OSI 7계층네트워크 통신을 7단계(물리~응용)로 나눈 표준 모델.
TCP vs UDPTCP=신뢰성 있는 연결형, UDP=빠르지만 보장 없는 비연결형.
3-way handshakeTCP 연결을 여는 3단계 인사(SYN→SYN/ACK→ACK).
OOP 4원칙캡슐화·상속·다형성·추상화. 객체지향의 뼈대.
SOLID유지보수 좋은 객체지향 설계 5원칙(단일책임·개방폐쇄 등).
로드밸런서들어오는 요청을 여러 서버로 분산하는 교통정리 장치.
캐시
(Cache)
자주 쓰는 데이터를 빠른 곳(메모리)에 미리 둬 응답을 가속(예: Redis).
샤딩
(Sharding)
거대한 DB를 여러 조각으로 수평 분할해 부하를 나누는 기법.
CAP 정리분산 시스템은 일관성·가용성·분단내성 중 셋을 동시에 다 못 가진다는 원칙.
SDLC소프트웨어 개발 생명주기(요구분석→설계→구현→테스트→유지보수).

11참고 링크

저장소 + "지도로 쓰고 갈아탈" 검증된 1차 자료.

이 저장소는 "무엇을 공부할지"의 지도로 쓰고, 실제 깊이는 아래의 공식·검증 자료로 채우는 걸 권한다.

분류자료 / 링크
저장소 원본github.com/Krishnagangwal/CS-Fundamentals
DSA 연습LeetCode · NeetCode(패턴별 로드맵) · takeUforward(Striver SDE 시트)
System Designdonnemartin/system-design-primer (이 인덱스에도 정리됨)
운영체제(OS)OSTEP — 무료 OS 교과서
네트워크(CN)Cloudflare Learning Center
DBMS / SQLUse The Index, Luke! · LeetCode Top SQL 50
OOP / 설계Refactoring.Guru
면접 종합jwasham/coding-interview-university (이 인덱스에도 정리됨)