컴퓨터공학 기초 종합 정리 — 개발자 커리어와 학습 로드맵
컴퓨터공학 기초 시리즈 총정리
| 챕터 | 주제 | 핵심 개념 |
|---|---|---|
| Ch1 | 디지털 세계 | 이진법, CPU, 메모리 계층 |
| Ch2 | 알고리즘 | 정렬, 탐색, 복잡도 |
| Ch3 | 자료구조 | 배열, 해시, 트리 |
| Ch4 | 운영체제 | 프로세스, 메모리, 스케줄링 |
| Ch5 | 네트워크 | TCP/IP, HTTP, DNS |
| Ch6 | 데이터베이스 | SQL, ACID, 인덱스 |
| Ch7 | 소프트웨어 공학 | OOP, SOLID, 테스트 |
| Ch8 | 보안 | 암호화, SQL 인젝션, XSS |
| Ch9 | 클라우드 | IaaS/PaaS/SaaS, 분산 시스템 |
| Ch10 | 종합 정리 | 커리어 로드맵 |
CS 지식의 상호 연결
컴퓨터공학의 각 영역은 독립적이지 않습니다:
웹 요청 하나의 여정:
1. 사용자가 URL 입력
2. DNS 조회 (네트워크) → IP 획득
3. TCP 3-way 핸드셰이크 (네트워크)
4. HTTPS TLS 핸드셰이크 (보안)
5. HTTP 요청 전송
6. 서버 로드 밸런서 → 서버 선택 (클라우드)
7. 프로세스 처리 (운영체제)
8. DB 쿼리 + 인덱스 탐색 (DB)
9. 캐시(해시 테이블) 활용 (자료구조)
10. HTTP 응답 반환
기술 면접 핵심 토픽
CS 기초
자주 나오는 질문:
☐ 프로세스와 스레드의 차이는?
☐ 데드락이란? 발생 조건 4가지?
☐ TCP와 UDP의 차이는?
☐ HTTP와 HTTPS의 차이는?
☐ 관계형 DB vs NoSQL?
☐ 인덱스란? 언제 쓰는가?
☐ 해시 테이블의 시간 복잡도는?
☐ 캐시란? 왜 쓰는가?
☐ RESTful API란?
☐ CI/CD란?
알고리즘·자료구조
빅오 표기법과 시간 복잡도 비교
→ 배열 vs 연결 리스트 언제 무엇을?
→ 스택·큐 활용 예시
→ 이진 탐색 조건과 구현
→ BFS vs DFS 차이와 활용
커리어별 학습 로드맵
프론트엔드 개발자
기초:
HTML·CSS·JavaScript (ES6+)
→ DOM 조작, 이벤트, 비동기(Promise/async-await)
프레임워크:
React 또는 Vue 선택 → 심화
성능 최적화:
→ 브라우저 렌더링 원리
→ 번들링(Webpack/Vite), 코드 스플리팅
→ Core Web Vitals (LCP, FID, CLS)
필수 CS:
→ HTTP/HTTPS, 브라우저 동작 원리
→ 보안 (XSS, CSRF)
백엔드 개발자
기초:
언어 선택 (Java/Spring, Python/Django-FastAPI, Node.js)
→ REST API 설계 → DB 연동
심화:
→ 캐싱 (Redis), 메시지 큐 (Kafka/RabbitMQ)
→ 마이크로서비스, Docker, Kubernetes
→ 성능 튜닝 (DB 인덱스, 쿼리 최적화)
필수 CS:
→ 네트워크, OS, 데이터베이스, 보안 모두 중요
데이터 엔지니어/사이언티스트
기초:
Python + SQL
→ 판다스, NumPy → 데이터 분석
데이터 엔지니어링:
→ ETL/ELT 파이프라인
→ Apache Spark, Airflow
→ 데이터 웨어하우스 (BigQuery, Snowflake)
필수 CS:
→ 자료구조·알고리즘, 분산 시스템, 클라우드
지속 학습 전략
CS 기초 강화:
→ 백준/LeetCode: 주 3회 알고리즘
→ CS50 (하버드 무료 강의)
→ "컴퓨터 과학이 여는 세계" (이광근 교수)
실무 연결:
→ 이론 배우면 → 실제 코드에서 찾기
→ 오픈소스 코드 읽기
→ 사이드 프로젝트로 적용
커뮤니티:
→ GitHub: 코드 공개·피드백
→ 기술 블로그: 배운 것 정리·공유
→ 로컬 개발자 모임 참여
CS 기초가 중요한 이유
"프레임워크는 바뀌어도 CS 기초는 바뀌지 않는다"
10년 전에 배운 것:
→ 알고리즘 복잡도 → 여전히 유효
→ TCP/IP → 여전히 작동
→ SQL → 여전히 산업 표준
→ SOLID 원칙 → 여전히 적용
프레임워크 vs CS:
React → Vue → Svelte → Next → ...
TCP/IP → 변하지 않음
해시 테이블 → 변하지 않음
→ CS 기초에 투자한 시간은 절대 낭비가 없습니다.
좋은 개발자와 훌륭한 개발자의 차이는 경험이 아니라 기초의 깊이입니다.
O
OIYO 편집부
Content Editor지식 인큐베이터이자 전문 콘텐츠 크리에이터. 경영, 경제, 법률 및 실생활에 유용한 실무/자격증 중심의 깊이 있는 정보를 연구하고 공유합니다.