Learning
토픽 4 / 21·답안작성

비교표 핵심정리

💡

시험에서 자주 출제되는 주요 비교 항목을 정리

1. 데이터베이스

ACID vs BASE

구분ACIDBASE
적용RDBMSNoSQL
일관성강한 일관성최종 일관성 (Eventual)
가용성일관성 우선가용성 우선
트랜잭션엄격한 트랜잭션유연한 트랜잭션
확장수직 확장수평 확장
사례Oracle, MySQLMongoDB, Cassandra

SQL vs NoSQL

구분SQL (RDBMS)NoSQL
스키마고정 스키마유연한 스키마
확장수직 확장 (Scale-Up)수평 확장 (Scale-Out)
관계JOIN 지원JOIN 제한적
일관성ACID 보장BASE (최종 일관성)
사례MySQL, PostgreSQLMongoDB, Redis, Cassandra

낙관적 락 vs 비관적 락

구분낙관적 락 (Optimistic)비관적 락 (Pessimistic)
가정충돌 드묾충돌 빈번
락 시점커밋 시점 검증조회 시점 락 획득
동시성높음낮음
구현버전 컬럼SELECT FOR UPDATE
적합읽기 위주쓰기 위주

클러스터드 vs 넌클러스터드 인덱스

구분클러스터드넌클러스터드
물리 정렬데이터 물리적 정렬별도 인덱스 구조
개수테이블당 1개여러 개 가능
검색 속도범위 검색 빠름포인트 검색 빠름
저장리프=데이터리프=포인터

2PC vs Saga

구분2PC (Two-Phase Commit)Saga Pattern
일관성강한 일관성최종 일관성
블로킹블로킹논블로킹
롤백자동 롤백보상 트랜잭션
확장성낮음높음
적합단일 DBMSA/분산

OLTP vs OLAP

구분OLTPOLAP
목적트랜잭션 처리분석/의사결정
쿼리단순, 빈번복잡, 대량
데이터현재 데이터이력 데이터
정규화높음 (3NF)낮음 (비정규화)
응답시간ms 단위초~분 단위

2. 시스템 아키텍처

모놀리식 vs MSA

구분모놀리식MSA (마이크로서비스)
배포전체 배포서비스별 독립 배포
확장전체 확장서비스별 확장
기술단일 기술 스택폴리글랏 가능
장애전체 영향장애 격리
복잡성단순분산 시스템 복잡성
적합소규모, 초기대규모, 성숙 조직

동기 vs 비동기 통신

구분동기 (Sync)비동기 (Async)
응답즉시 대기나중에 처리
결합도강한 결합느슨한 결합
장애 전파전파됨격리됨
처리량낮음높음
구현REST, gRPC메시지 큐, 이벤트

REST vs GraphQL vs gRPC

구분RESTGraphQLgRPC
프로토콜HTTPHTTPHTTP/2
데이터 형식JSONJSONProtobuf (바이너리)
오버페칭발생해결N/A
타입 안전약함스키마강함 (IDL)
성능보통보통빠름
적합범용 API유연한 쿼리내부 서비스 통신

수평 확장 vs 수직 확장

구분수평 확장 (Scale-Out)수직 확장 (Scale-Up)
방식서버 추가서버 스펙 업그레이드
비용선형 증가지수적 증가
한계이론적 무한물리적 한계
복잡도분산 처리 복잡단순
가용성고가용성 가능SPOF 위험

Saga Choreography vs Orchestration

구분ChoreographyOrchestration
조율이벤트 기반 분산중앙 오케스트레이터
결합도느슨함오케스트레이터 의존
가시성낮음 (추적 어려움)높음 (중앙 관리)
복잡성서비스 많으면 복잡오케스트레이터 복잡
장애분산오케스트레이터 SPOF

CQRS vs 전통적 CRUD

구분CQRS전통적 CRUD
모델읽기/쓰기 분리단일 모델
확장독립 확장함께 확장
복잡성높음낮음
일관성최종 일관성즉시 일관성
적합읽기/쓰기 비대칭단순 CRUD

3. 클라우드/인프라

IaaS vs PaaS vs SaaS

구분IaaSPaaSSaaS
관리 범위OS부터 관리앱만 관리사용만
유연성높음중간낮음
운영 부담높음중간낮음
사례AWS EC2HerokuGmail

컨테이너 vs VM

구분컨테이너VM (가상머신)
가상화OS 레벨하드웨어 레벨
크기MB 단위GB 단위
시작 시간초 단위분 단위
격리프로세스 격리완전 격리
오버헤드낮음높음
사례DockerVMware, VirtualBox

K8s Deployment vs StatefulSet vs DaemonSet

구분DeploymentStatefulSetDaemonSet
용도Stateless 앱Stateful 앱노드당 1개
Pod 이름랜덤순차적 고정노드별
스토리지공유 가능개별 PVC노드 로컬
스케일링자유순차적노드 수
사례웹 서버DB, Kafka로그 수집, 모니터링

퍼블릭 vs 프라이빗 vs 하이브리드 클라우드

구분퍼블릭프라이빗하이브리드
소유CSP조직혼합
비용사용량 기반초기 투자 높음중간
보안공유 책임완전 통제선택적
확장성무한제한적유연
규제제한충족 용이균형

Lambda vs Kappa 아키텍처

구분LambdaKappa
레이어Batch + Speed단일 스트림
복잡도높음 (이중 관리)낮음 (단일)
재처리Batch 레이어스트림 재생
지연배치 지연 존재실시간
적합정확성 중요실시간 중요

4. 네트워크

TCP vs UDP

구분TCPUDP
연결연결 지향 (3-way)비연결
신뢰성보장미보장
순서보장미보장
속도느림빠름
오버헤드높음 (20B+)낮음 (8B)
사례HTTP, FTPDNS, 스트리밍, 게임

HTTP/1.1 vs HTTP/2 vs HTTP/3

구분HTTP/1.1HTTP/2HTTP/3
전송TCPTCPQUIC (UDP)
멀티플렉싱불가가능가능
HOL 블로킹있음TCP 레벨없음
헤더 압축없음HPACKQPACK
연결 설정3-RTT1-RTT0-RTT

OSI 7계층 vs TCP/IP 4계층

OSITCP/IP프로토콜
응용/표현/세션응용HTTP, FTP, DNS
전송전송TCP, UDP
네트워크인터넷IP, ICMP
데이터링크/물리네트워크 접근Ethernet

IPv4 vs IPv6

구분IPv4IPv6
주소 길이32bit128bit
표기10진수 (.)16진수 (:)
주소 수약 43억사실상 무한
NAT필요불필요
보안선택 (IPSec)기본 내장
헤더가변 (20-60B)고정 (40B)

L4 vs L7 로드밸런서

구분L4 (전송 계층)L7 (응용 계층)
기준IP/PortURL/헤더/쿠키
속도빠름느림
기능단순 분배콘텐츠 기반 라우팅
SSL미처리SSL 오프로딩
비용낮음높음

5. 보안

대칭키 vs 비대칭키 암호화

구분대칭키비대칭키
키 개수1개 (동일)2개 (공개/개인)
속도빠름느림
키 배포어려움쉬움
용도데이터 암호화키 교환, 전자서명
사례AES, ChaCha20RSA, ECC

인증 vs 인가

구분인증 (Authentication)인가 (Authorization)
질문"누구인가?""권한이 있는가?"
검증신원 확인접근 권한 확인
순서먼저인증 후
예시로그인리소스 접근

OAuth 2.0 vs OIDC vs SAML

구분OAuth 2.0OIDCSAML
목적인가인증 + 인가인증
토큰Access TokenID Token + AccessAssertion (XML)
형식JSONJSON (JWT)XML
적합API 권한 위임웹/모바일 SSO기업 SSO

JWT vs Session

구분JWTSession
저장클라이언트서버
상태StatelessStateful
확장성좋음세션 공유 필요
무효화어려움쉬움
크기작음 (Session ID)

RBAC vs ABAC

구분RBACABAC
기준역할 (Role)속성 (Attribute)
유연성낮음높음
복잡도단순복잡
관리역할 기반정책 기반
적합정적 권한동적/상황 기반

제로 트러스트 vs 경계 보안

구분제로 트러스트경계 보안
원칙아무도 신뢰 안함내부는 신뢰
검증항상 검증경계에서 검증
경계없음 (마이크로)내/외부 구분
적합클라우드, 재택전통적 온프레미스

6. 소프트웨어공학

애자일 vs 워터폴

구분애자일워터폴
접근반복/점진적순차적
요구사항변경 수용초기 확정
고객 참여지속적초기/말기
산출물동작 소프트웨어문서
적합불확실성 높음요구 명확

스크럼 vs 칸반

구분스크럼칸반
주기스프린트 (고정)연속 흐름
역할PO, SM, Team역할 미정의
변경스프린트 내 동결언제든 변경
제한스프린트 용량WIP 제한
측정속도 (Velocity)리드타임, 사이클타임

TDD vs BDD

구분TDDBDD
관점개발자비즈니스
언어코드 (단위 테스트)자연어 (Given-When-Then)
단위함수/메서드기능/행위
도구JUnit, pytestCucumber, SpecFlow

CI vs CD (Delivery vs Deployment)

구분CICD (Delivery)CD (Deployment)
범위빌드/테스트+ 릴리스 준비+ 자동 배포
자동화통합 자동화릴리스 자동화배포 자동화
승인자동수동 승인자동

단위 vs 통합 vs E2E 테스트

구분단위 (Unit)통합 (Integration)E2E
범위함수/클래스모듈 간전체 시스템
속도빠름중간느림
격리Mock 사용부분 통합실제 환경
비용낮음중간높음
비율70%20%10%

7. 인공지능/ML

AI vs ML vs DL

구분AIMLDL
범위가장 넓음AI의 부분집합ML의 부분집합
방식규칙/학습데이터 학습신경망
특징 추출수동수동/자동자동
데이터적음~많음중간대량 필요

지도 vs 비지도 vs 강화 학습

구분지도 학습비지도 학습강화 학습
레이블있음없음보상 신호
목표예측패턴 발견보상 최대화
예시분류, 회귀클러스터링, 차원축소게임, 로봇

CNN vs RNN vs Transformer

구분CNNRNNTransformer
입력그리드 (이미지)시퀀스시퀀스
연산컨볼루션순환어텐션
병렬화가능어려움가능
장거리제한적VanishingSelf-Attention
용도이미지시계열NLP, 범용

RAG vs Fine-tuning

구분RAGFine-tuning
방식검색 + 생성모델 재학습
데이터외부 DB 연결학습 데이터 필요
비용낮음높음 (GPU)
최신성실시간 반영재학습 필요
환각감소 (근거 제공)여전히 존재

Precision vs Recall vs F1

구분Precision (정밀도)Recall (재현율)F1 Score
정의TP/(TP+FP)TP/(TP+FN)조화평균
의미예측 중 정답 비율실제 중 예측 비율균형 지표
중요 시점오탐 비용 높을 때미탐 비용 높을 때균형 필요 시
예시스팸 필터암 진단일반적 평가

8. 법/제도/표준

ISMS vs ISMS-P vs ISO 27001

구분ISMSISMS-PISO 27001
범위정보보호정보보호+개인정보정보보호
기준국내국내국제
인증기관KISAKISA국제 인증기관
통제항목80개(관리체계 16 + 보호대책 64)102개(관리체계 16 + 보호대책 64 + 개인정보 22)93개 (Annex A)

개인정보보호법 vs 정보통신망법 vs 신용정보법

구분개인정보보호법정보통신망법신용정보법
성격일반법온라인 특화금융 특화
적용모든 개인정보처리자정보통신서비스금융/신용
감독개인정보위방통위/개인정보위금융위

GDPR vs 개인정보보호법 vs CCPA

구분GDPR (EU)개인정보보호법 (한국)CCPA (미국)
역외적용있음있음있음
과징금매출 4%매출 3%건당 벌금
삭제권있음있음있음
DPO의무일부 의무의무 아님

CC인증 vs KCMVP vs GS인증

구분CC인증KCMVPGS인증
대상보안제품 전반암호모듈SW 품질
기준ISO 15408KS X ISO 19790ISO 25010
용도공공 보안제품암호화 제품SW 품질 인증
등급EAL 1~7검증필1등급/2등급

9. 프로젝트관리/IT경영

COBIT vs ITIL vs ISO 20000

구분COBITITILISO 20000
목적IT 거버넌스IT 서비스 관리ITSM 인증
성격프레임워크베스트 프랙티스표준
인증없음개인 인증조직 인증
초점통제/감사서비스 품질인증 요구사항

PMBOK vs PRINCE2 vs Agile

구분PMBOKPRINCE2Agile
접근지식 체계방법론가치/원칙
구조10개 지식영역7원칙/7테마/7프로세스4가치/12원칙
단계5 프로세스 그룹단계 게이트반복 (스프린트)
적합범용통제 중심변화 대응

RTO vs RPO

구분RTO (Recovery Time Objective)RPO (Recovery Point Objective)
정의복구 목표 시간복구 목표 시점
의미얼마나 빨리 복구얼마나 데이터 손실 허용
영향가용성데이터 손실
비용RTO↓ = 비용↑RPO↓ = 비용↑

CapEx vs OpEx

구분CapEx (자본 지출)OpEx (운영 지출)
성격자산 취득운영 비용
회계감가상각즉시 비용
예측초기 큰 투자지속적 소액
클라우드온프레미스클라우드 (사용량)

10. 기타 핵심 비교

블록체인: PoW vs PoS

구분PoW (작업증명)PoS (지분증명)
검증연산 능력보유 지분
에너지높음낮음
진입장벽장비자본
사례BitcoinEthereum 2.0

캐시: Write-Through vs Write-Back

구분Write-ThroughWrite-Back
쓰기캐시+메모리 동시캐시만, 나중에 메모리
일관성항상 일관불일치 가능
성능쓰기 느림쓰기 빠름
복잡도단순Dirty Bit 관리

가상화: 전가상화 vs 반가상화

구분전가상화 (Full)반가상화 (Para)
OS 수정불필요필요
성능느림 (에뮬레이션)빠름
호환성높음낮음
사례VMwareXen

개인정보: 가명정보 vs 익명정보

구분가명정보익명정보
정의추가정보 없이 식별 불가복원 불가능
활용통계/연구/공익 (제한적)자유 활용
보호법 적용적용미적용
결합결합전문기관 통해 가능제한 없음

빠른 참조 인덱스

키워드비교 항목
DB 일관성ACID vs BASE
트랜잭션2PC vs Saga
아키텍처모놀리식 vs MSA
통신동기 vs 비동기, REST vs gRPC
클라우드IaaS vs PaaS vs SaaS
컨테이너VM vs Container
보안대칭키 vs 비대칭키
인증OAuth vs OIDC vs SAML
방법론애자일 vs 워터폴
AICNN vs RNN vs Transformer
법제도ISMS vs ISO 27001
프로젝트RTO vs RPO
데이터 아키텍처데이터 패브릭 vs 데이터 메시
블록체인 토큰STO vs NFT
AI 에이전트단일 에이전트 vs 멀티에이전트
컴퓨터구조폰 노이만 vs 하버드, RAID, Flynn 분류
자료구조배열 vs 연결 리스트, BST vs AVL vs RB
알고리즘정렬 종합, Dijkstra vs BF, P vs NP
운영체제커널 구조, CPU 스케줄링, 동기화
암호화 알고리즘DES/AES/SEED, SHA 계열, SPN vs Feistel
AI 최적화SGD vs Adam, 양자화, 정규화

11. 추가 핵심 비교

프로세스 vs 스레드

구분프로세스스레드
메모리독립 공간공유 (힙, 코드)
생성 비용높음낮음
컨텍스트 스위칭무거움가벼움
통신IPC 필요직접 공유
장애 영향격리됨전체 영향
안정성높음낮음 (동기화 필요)

페이징 vs 세그멘테이션

구분페이징세그멘테이션
크기고정 (4KB)가변
단편화내부 단편화외부 단편화
관점물리적 분할논리적 분할
복잡도단순복잡
공유어려움쉬움

동기 vs 비동기 I/O

구분동기 (Blocking)비동기 (Non-Blocking)
대기완료까지 대기즉시 반환
CPU 활용낮음높음
구현단순복잡 (콜백/이벤트)
처리량낮음높음
사례전통 I/ONode.js, io_uring

B-Tree vs B+Tree

구분B-TreeB+Tree
데이터 위치모든 노드리프 노드만
리프 연결없음연결 리스트
범위 검색느림빠름
포인트 검색빠를 수 있음항상 리프까지
용도일반DBMS 인덱스

해시 인덱스 vs B-Tree 인덱스

구분해시 인덱스B-Tree 인덱스
검색O(1) 평균O(log n)
범위 검색불가가능
정렬불가가능
동등 비교빠름보통
메모리많음적음

스택 vs 큐 vs 덱

구분스택
원리LIFOFIFO양방향
삽입/삭제한쪽 끝양쪽 (각 1개)양쪽 모두
용도함수 호출, 실행 취소작업 대기열슬라이딩 윈도우

정렬 알고리즘 비교

알고리즘평균최악공간안정성
퀵 정렬O(n log n)O(n²)O(log n)불안정
병합 정렬O(n log n)O(n log n)O(n)안정
힙 정렬O(n log n)O(n log n)O(1)불안정
삽입 정렬O(n²)O(n²)O(1)안정

BFS vs DFS

구분BFS (너비 우선)DFS (깊이 우선)
자료구조스택/재귀
탐색 순서레벨별경로별
최단 경로보장 (무가중치)미보장
메모리많음적음
용도최단거리, 레벨순회경로탐색, 백트래킹

분할 정복 vs 동적 프로그래밍 vs 그리디

구분분할 정복동적 프로그래밍그리디
부분 문제독립적중복됨없음
접근재귀 (Top-Down)메모이제이션/테이블지역 최적 선택
최적해보장보장미보장 (조건 필요)
예시퀵소트, 병합정렬피보나치, 배낭다익스트라, 허프만

RISC vs CISC

구분RISCCISC
명령어단순, 고정 길이복잡, 가변 길이
명령어 수적음많음
사이클1 사이클/명령어다중 사이클
레지스터많음적음
파이프라인효율적복잡
예시ARM, MIPSx86, x64

캐시 교체 정책

구분LRULFUFIFO
기준최근 사용 시간사용 빈도도착 순서
구현복잡복잡단순
장점시간 지역성빈도 반영단순함
단점오버헤드과거 빈도 누적효율 낮음

선점 vs 비선점 스케줄링

구분선점 (Preemptive)비선점 (Non-Preemptive)
CPU 회수가능불가능
응답 시간좋음나쁨
오버헤드높음낮음
예시RR, SRTF, 우선순위FCFS, SJF

대칭 멀티프로세싱 vs 비대칭

구분SMP (대칭)AMP (비대칭)
역할모든 CPU 동등마스터/슬레이브
OS하나의 OS마스터만 OS
부하 분산자동수동
복잡도높음낮음

폭포수 vs 애자일 vs DevOps

구분폭포수애자일DevOps
주기긴 릴리스스프린트 (2-4주)지속적
변경어려움수용자동화
분리교차기능Dev+Ops 통합
피드백말기반복마다실시간

모놀리식 vs 계층형 vs MSA

구분모놀리식계층형 (N-Tier)MSA
구조단일계층 분리서비스 분리
배포전체계층별서비스별
확장전체계층별서비스별
복잡도단순중간높음

메시지 큐 vs 이벤트 스트림

구분메시지 큐이벤트 스트림
소비한 번 소비 후 삭제여러 번 소비 가능
순서보장파티션 내 보장
보존소비 후 삭제설정 기간 보존
사례RabbitMQ, SQSKafka, Kinesis

Kafka vs RabbitMQ vs Redis Pub/Sub

구분KafkaRabbitMQRedis Pub/Sub
모델로그 기반브로커In-Memory
처리량매우 높음중간높음
내구성디스크디스크메모리 (휘발)
재처리가능불가불가
용도스트리밍작업 큐실시간 알림

Blue-Green vs Canary vs Rolling 배포

구분Blue-GreenCanaryRolling
방식환경 전환점진적 트래픽순차 교체
롤백즉시빠름느림
리소스2배추가 필요기존 사용
위험낮음낮음중간

포워드 프록시 vs 리버스 프록시

구분포워드 프록시리버스 프록시
위치클라이언트 측서버 측
용도클라이언트 보호서버 보호
IP 숨김클라이언트 IP서버 IP
예시회사 프록시Nginx, HAProxy

API Gateway vs Service Mesh

구분API GatewayService Mesh
위치진입점 (North-South)내부 (East-West)
대상외부 → 내부서비스 ↔ 서비스
기능인증, 라우팅, 속도제한mTLS, 관측성, 재시도
예시Kong, AWS API GWIstio, Linkerd

피싱 vs 스피어 피싱 vs 웨일링

구분피싱스피어 피싱웨일링
대상불특정 다수특정 개인/조직고위 임원
맞춤화없음높음매우 높음
성공률낮음높음매우 높음

IDS vs IPS vs SIEM

구분IDSIPSSIEM
역할탐지탐지 + 차단통합 분석
대응알림자동 차단상관 분석
위치패시브인라인중앙

WAF vs 방화벽 vs NGFW

구분WAF방화벽NGFW
계층L7 (웹)L3/L4L3-L7
대상웹 공격네트워크애플리케이션
검사HTTP 페이로드IP/PortDPI
예시ModSecurityiptablesPalo Alto

핫 vs 웜 vs 콜드 사이트

구분핫 (Hot)웜 (Warm)콜드 (Cold)
복구 시간즉시~분수 시간수 일
데이터 동기화실시간주기적백업 복원
비용높음중간낮음
인프라상시 가동일부 가동장비만

퍼블릭 vs 프라이빗 vs 컨소시엄 블록체인

구분퍼블릭프라이빗컨소시엄
참여누구나허가된 조직연합 조직
투명성완전 공개비공개제한 공개
속도느림빠름중간
예시Bitcoin, EthereumHyperledgerR3 Corda

전가상화 vs 반가상화 vs 컨테이너

구분전가상화반가상화컨테이너
게스트 OS수정 없음수정 필요공유
성능느림빠름가장 빠름
격리완전완전프로세스
오버헤드높음중간낮음

데이터 웨어하우스 vs 데이터 레이크 vs 데이터 레이크하우스

구분웨어하우스레이크레이크하우스
데이터정형정형+비정형정형+비정형
스키마Schema-on-WriteSchema-on-Read둘 다
처리BI/리포팅ML/분석통합
품질높음낮음 (늪)높음
사례SnowflakeS3, HDFSDatabricks

ETL vs ELT

구분ETLELT
변환 위치중간 서버타겟 시스템
적합온프레미스클라우드
확장성제한적높음
비용별도 서버타겟 자원 활용

Star 스키마 vs Snowflake 스키마

구분StarSnowflake
디멘션비정규화정규화
조인적음많음
저장 공간많음적음
쿼리 성능빠름느림
유지보수어려움쉬움

Batch vs Stream 처리

구분BatchStream
처리 시점주기적실시간
지연높음낮음
데이터전체증분
복잡도단순복잡
예시Spark Batch, HiveKafka Streams, Flink

GPT vs BERT vs T5

구분GPTBERTT5
방향단방향 (Left→Right)양방향인코더-디코더
목적생성이해범용
학습다음 토큰 예측마스크 예측Text-to-Text
용도텍스트 생성분류, QA번역, 요약, QA

LoRA vs QLoRA vs Full Fine-tuning

구분Full Fine-tuningLoRAQLoRA
파라미터전체일부 (Low-Rank)일부 + 양자화
메모리매우 높음낮음매우 낮음
성능최고유사약간 낮음
비용높음낮음매우 낮음

12. 네트워크 핵심 비교

TCP vs UDP

구분TCPUDP
연결연결 지향 (3-Way)비연결
신뢰성보장 (재전송)미보장
순서보장미보장
속도느림빠름
헤더20 바이트8 바이트
흐름제어있음없음
용도HTTP, FTP, 이메일DNS, 스트리밍, 게임

IPv4 vs IPv6

구분IPv4IPv6
주소 길이32비트128비트
표기10진수 (192.168.0.1)16진수 (2001:db8::1)
주소 개수약 43억사실상 무한
헤더가변 (20-60B)고정 (40B)
NAT필요불필요
보안선택 (IPSec)내장
브로드캐스트지원멀티캐스트로 대체

L4 vs L7 로드밸런싱

구분L4 (Transport)L7 (Application)
기준IP, PortURL, Header, Cookie
속도빠름느림
기능단순 분배콘텐츠 기반 라우팅
SSL 처리불가SSL 오프로딩 가능
세션IP 기반쿠키/헤더 기반
사례AWS NLBAWS ALB, Nginx

HTTP/1.1 vs HTTP/2 vs HTTP/3

구분HTTP/1.1HTTP/2HTTP/3
프로토콜TCPTCPQUIC (UDP)
다중화불가스트림 다중화스트림 다중화
헤더 압축없음HPACKQPACK
HOL 블로킹있음TCP 레벨 존재해결
연결 설정1-RTT + TLS1-RTT + TLS0-RTT 가능

라우팅 프로토콜 비교

구분RIPOSPFBGP
유형거리벡터링크상태경로벡터
메트릭홉 카운트비용 (대역폭)경로 속성
범위소규모 (15홉)대규모 AS 내부AS 간 (인터넷)
수렴느림빠름느림
표준IGPIGPEGP

13. 데이터베이스 심화 비교

트랜잭션 격리수준

구분Read UncommittedRead CommittedRepeatable ReadSerializable
Dirty ReadOXXX
Non-RepeatableOOXX
Phantom ReadOOOX
동시성최고높음중간낮음
일관성최저낮음높음최고

정규화 단계 비교

구분1NF2NF3NFBCNF
조건원자값1NF + 부분종속 제거2NF + 이행종속 제거모든 결정자가 후보키
중복많음줄어듦더 줄어듦최소화
이상현상많음줄어듦거의 없음없음

NoSQL 유형별 비교

구분Key-ValueDocumentColumn-FamilyGraph
구조키-값 쌍JSON/BSON컬럼 그룹노드-엣지
스키마없음유연유연유연
쿼리키 조회필드 쿼리컬럼 쿼리그래프 순회
적합캐시, 세션콘텐츠 관리시계열, 로그관계 분석
사례Redis, DynamoDBMongoDBCassandra, HBaseNeo4j

인덱스 스캔 방식

구분Full ScanIndex Range ScanIndex Unique ScanIndex Skip Scan
조건인덱스 없음범위 조건유니크 + 등호선두 컬럼 생략
효율최저높음최고중간
읽기전체범위1건선택적

14. 보안 심화 비교

SSL vs TLS

구분SSL 3.0TLS 1.2TLS 1.3
상태폐기 (취약)현재 사용최신 권장
핸드셰이크2-RTT2-RTT1-RTT (0-RTT 가능)
암호 스위트취약선택 가능안전한 것만
인증서평문 전송평문 전송암호화 전송

인증 vs 인가

구분인증 (Authentication)인가 (Authorization)
질문"당신은 누구인가?""무엇을 할 수 있는가?"
확인신원 확인권한 확인
시점먼저 수행인증 후 수행
방법ID/PW, 생체, MFARBAC, ABAC, ACL
실패시401 Unauthorized403 Forbidden

RBAC vs ABAC vs ReBAC

구분RBACABACReBAC
기준역할 (Role)속성 (Attribute)관계 (Relationship)
정책역할-권한 매핑조건식 평가관계 그래프
유연성낮음높음높음
복잡도낮음높음중간
적합정적 조직동적 조건소셜, 협업

암호화 알고리즘 비교

구분AESRSASHA-256ECDSA
유형대칭키비대칭키해시전자서명
키 길이128/192/2562048+N/A256
속도빠름느림빠름중간
용도데이터 암호화키 교환, 서명무결성 검증인증, 서명

공격 유형별 대응

공격설명대응
SQL Injection쿼리 삽입Prepared Statement, ORM
XSS스크립트 삽입입력 검증, CSP, 이스케이프
CSRF위조 요청CSRF 토큰, SameSite 쿠키
SSRF서버측 요청 위조화이트리스트, 내부망 차단
XXEXML 외부 엔티티DTD 비활성화

15. 개발 방법론 비교

TDD vs BDD vs DDD

구분TDDBDDDDD
관점개발자비즈니스도메인
단위테스트 케이스시나리오도메인 모델
언어코드Given-When-Then유비쿼터스 언어
초점기능 동작사용자 행위비즈니스 로직

단위 vs 통합 vs E2E 테스트

구분단위 테스트통합 테스트E2E 테스트
범위함수/클래스모듈 간전체 시스템
속도빠름중간느림
격리Mock 사용일부 실제실제 환경
비용낮음중간높음
신뢰도낮음중간높음
도구JUnit, JestTestContainersSelenium, Cypress

Git Flow vs GitHub Flow vs Trunk-Based

구분Git FlowGitHub FlowTrunk-Based
브랜치많음 (5종)적음 (2종)최소 (1종)
복잡도높음낮음낮음
배포 주기긴 릴리스PR 머지 시지속적
적합대규모, 버전 관리웹 서비스CI/CD 성숙 조직

16. 데이터 포맷 비교

JSON vs XML vs YAML

구분JSONXMLYAML
가독성좋음보통매우 좋음
크기작음작음
스키마JSON SchemaXSD없음
주석불가가능가능
용도API, 설정문서, SOAP설정 파일

Parquet vs ORC vs Avro

구분ParquetORCAvro
저장 방식컬럼 기반컬럼 기반행 기반
압축높음매우 높음중간
읽기분석 쿼리 빠름분석 쿼리 빠름전체 행 빠름
스키마내장내장내장
생태계Spark, PrestoHive, PrestoKafka, Hadoop
적합분석분석 (Hive)스트리밍

Protobuf vs Avro vs Thrift

구분ProtobufAvroThrift
개발사GoogleApacheApache (Facebook)
스키마.protoJSON.thrift
인코딩바이너리바이너리/JSON바이너리
RPCgRPC별도내장
스키마 진화좋음매우 좋음좋음

17. AI/ML 심화 비교

지도학습 vs 비지도학습 vs 강화학습

구분지도학습비지도학습강화학습
레이블있음없음보상 신호
목표예측/분류패턴 발견최적 행동
예시분류, 회귀클러스터링, 차원축소게임 AI, 로봇
알고리즘SVM, RF, DNNK-means, PCAQ-Learning, PPO

RAG vs Fine-tuning

구분RAGFine-tuning
방식검색 + 생성모델 재학습
지식 업데이트문서 교체 (즉시)재학습 필요
비용낮음 (인퍼런스)높음 (GPU 학습)
환각감소 (근거 제시)여전히 존재
적합최신 정보, FAQ도메인 특화

Precision vs Recall vs F1

구분Precision (정밀도)Recall (재현율)F1 Score
수식TP / (TP+FP)TP / (TP+FN)2×P×R / (P+R)
의미예측 중 실제 양성실제 양성 중 예측정밀도-재현율 조화평균
중요스팸 필터 (FP 최소화)암 진단 (FN 최소화)균형 필요 시

협업 필터링 vs 콘텐츠 기반 추천

구분협업 필터링콘텐츠 기반
기반사용자 행동 유사성아이템 속성 유사성
콜드 스타트취약상대적 강함
다양성높음낮음 (필터 버블)
예시"이 상품을 본 사람들""비슷한 장르 영화"

18. 네트워크 심화 비교

OSI 7계층 vs TCP/IP 4계층

OSI 7계층TCP/IP 4계층역할
ApplicationApplicationHTTP, FTP, DNS
Presentation암호화, 압축
Session세션 관리
TransportTransportTCP, UDP
NetworkInternetIP, 라우팅
Data LinkNetwork AccessMAC, 스위치
Physical케이블, 신호

유니캐스트 vs 멀티캐스트 vs 브로드캐스트

구분유니캐스트멀티캐스트브로드캐스트
대상1:11:N (그룹)1:All
효율낮음 (N개 전송)높음 (1개 전송)중간
주소개별 IP224.0.0.0/4255.255.255.255
용도일반 통신스트리밍, IPTVARP, DHCP

CIDR vs 서브넷 마스크

구분CIDR서브넷 마스크
표기/24255.255.255.0
가변가변 길이클래스 기반 (A/B/C)
집약가능 (Supernetting)어려움
효율높음낮음 (주소 낭비)

19. 품질/성능 지표 비교

SLA vs SLO vs SLI

구분SLASLOSLI
정의서비스 수준 계약서비스 수준 목표서비스 수준 지표
성격계약 (법적)내부 목표실제 측정값
예시"99.9% 가용성 보장""99.95% 목표""현재 99.92%"
위반 시배상/크레딧알림/개선단순 기록

지연시간 백분위수

구분P50 (중앙값)P90P99P99.9
의미50%가 이 이하90%가 이 이하99%가 이 이하99.9%가 이 이하
용도평균 경험대부분 경험최악 케이스극단 케이스
주의평균은 왜곡됨Tail Latency 중요장애 탐지SLA 기준

MTBF vs MTTR vs MTTA

구분MTBFMTTRMTTA
의미평균 고장 간격평균 복구 시간평균 응답 시간
수식총 운영시간/고장횟수총 복구시간/고장횟수총 응답시간/인시던트수
목표높을수록 좋음낮을수록 좋음낮을수록 좋음
관점신뢰성복구 능력대응 속도

20. Kubernetes 워크로드 비교

Deployment vs StatefulSet vs DaemonSet

구분DeploymentStatefulSetDaemonSet
용도Stateless 앱Stateful 앱노드당 1개 Pod
Pod 이름랜덤 (xxx-abc123)고정 순번 (xxx-0, xxx-1)노드별 자동
스케일링병렬 가능순차적 (0→1→2)노드 수에 연동
스토리지공유 가능Pod별 PVC (volumeClaimTemplates)일반 Volume
네트워크공유 ServiceHeadless Service (개별 DNS)노드 네트워크
롤링 업데이트병렬역순 (2→1→0)노드별 순차
사용 예시웹서버, APIDB, Kafka, Redis로그수집, 모니터링

ReplicaSet vs Deployment

구분ReplicaSetDeployment
역할Pod 복제 유지ReplicaSet 관리 + 롤링 업데이트
업데이트수동자동 롤링 업데이트
롤백불가revision 기반 롤백
직접 사용비권장권장

Job vs CronJob

구분JobCronJob
실행1회성주기적
완료completions 수 만큼Job 생성 반복
스케줄즉시cron 표현식 (*/5 * * * *)
용도배치 작업, 마이그레이션백업, 리포트, 정리 작업

21. 컨테이너 런타임 비교

Docker vs containerd vs CRI-O

구분DockercontainerdCRI-O
개발사Docker IncCNCFRed Hat
목적범용 컨테이너경량 런타임K8s 전용
K8s 지원Dockershim (deprecated)CRI 네이티브CRI 네이티브
이미지 빌드가능 (docker build)불가 (BuildKit 별도)불가
오버헤드높음 (daemon 필요)낮음최소
CLIdockerctr, crictlcrictl
채택개발환경EKS, GKE 기본OpenShift

컨테이너 이미지 빌드 도구 비교

구분Docker BuildKanikoBuildahBuildKit
특징전통적 방식DaemonlessDaemonless, OCI병렬 빌드
루트 권한필요불필요불필요선택적
캐싱레이어 캐시원격 캐시레이어 캐시고급 캐시
CI/CD 적합제한적매우 적합적합적합
K8s 내 실행어려움 (DinD 필요)가능가능가능

22. CI/CD 도구 비교

Jenkins vs GitLab CI vs GitHub Actions vs ArgoCD

구분JenkinsGitLab CIGitHub ActionsArgoCD
유형Self-hostedSaaS/SelfSaaS/SelfGitOps CD
설정 파일Jenkinsfile.gitlab-ci.yml.github/workflows/Application CRD
강점플러그인 생태계All-in-one DevOpsGitHub 통합K8s 네이티브
학습 곡선높음중간낮음중간
스케일링에이전트 수동 관리Runner 자동 스케일호스티드 러너K8s 기반
GitOps플러그인 필요제한적제한적네이티브
비용무료 (인프라 비용)무료 티어 있음무료 티어 있음무료 (OSS)

CI vs CD vs GitOps

구분CI (Continuous Integration)CD (Continuous Delivery)GitOps
목적코드 통합/검증배포 자동화선언적 인프라 관리
트리거코드 커밋/PRCI 완료 후Git 변경 감지
산출물빌드/테스트 결과배포된 서비스동기화된 클러스터
도구 예시Jenkins, GitHub ActionsSpinnaker, ArgoCDArgoCD, Flux
방향PushPushPull (클러스터가 Git 감시)

23. 모니터링/Observability 도구 비교

Prometheus vs Grafana vs Datadog vs CloudWatch

구분PrometheusGrafanaDatadogCloudWatch
유형메트릭 수집/저장시각화통합 SaaSAWS 네이티브
데이터시계열 메트릭대시보드 (데이터소스 연결)메트릭+로그+트레이스AWS 리소스 메트릭
쿼리 언어PromQL데이터소스별자체 쿼리CloudWatch Insights
배포Self-hostedSelf-hosted/CloudSaaSAWS 관리형
비용무료 (OSS)무료 (OSS)/유료 Cloud사용량 과금사용량 과금
강점K8s 네이티브, 경량다양한 데이터소스올인원AWS 통합

Metrics vs Logs vs Traces (Observability 3요소)

구분MetricsLogsTraces
형태수치 (집계)텍스트 (이벤트)요청 흐름
용도상태 모니터링디버깅, 감사분산 추적
카디널리티낮음높음중간
도구PrometheusELK, LokiJaeger, Zipkin
저장 비용낮음높음중간
예시CPU 사용률 90%"Error: connection refused"요청 A→B→C→D 지연 분석

ELK vs EFK vs PLG 스택

구분ELKEFKPLG
구성Elasticsearch+Logstash+KibanaElasticsearch+Fluentd+KibanaPromtail+Loki+Grafana
수집기Logstash (JVM)Fluentd (Ruby)Promtail (Go)
저장소ElasticsearchElasticsearchLoki
리소스높음중간낮음
인덱싱전문 인덱싱전문 인덱싱라벨만 인덱싱
K8s 적합무거움적합매우 적합

24. IaC (Infrastructure as Code) 도구 비교

Terraform vs Ansible vs Pulumi vs CloudFormation

구분TerraformAnsiblePulumiCloudFormation
개발사HashiCorpRed HatPulumiAWS
언어HCL (선언형)YAML (절차형)Python/TS/GoYAML/JSON
패러다임선언형절차형 (멱등성)명령형+선언형선언형
상태 관리tfstate 파일없음 (에이전트리스)Pulumi CloudAWS 관리
멀티 클라우드지원 (Provider)지원 (Module)지원AWS 전용
에이전트불필요불필요 (SSH)불필요불필요
강점인프라 프로비저닝구성 관리프로그래밍 유연성AWS 네이티브

Terraform vs OpenTofu

구분TerraformOpenTofu
라이선스BSL (변경됨)MPL 2.0 (오픈소스)
관리HashiCorpLinux Foundation
호환성-Terraform과 호환
상태 파일동일동일
커뮤니티대규모성장 중

Helm vs Kustomize

구분HelmKustomize
방식템플릿 (values.yaml)오버레이 (패치)
패키징Chart (tar.gz)없음 (plain YAML)
버전 관리Chart 버전Git 기반
복잡도높음 (Go 템플릿)낮음
저장소Helm RegistryGit
kubectl 통합helm installkubectl apply -k
릴리즈 관리있음 (helm list)없음

25. 서비스 디스커버리 비교

Client-side vs Server-side Discovery

구분Client-side DiscoveryServer-side Discovery
로직 위치클라이언트로드밸런서/프록시
레지스트리 접근직접 조회LB가 조회
장점단순, 홉 감소클라이언트 독립
단점언어별 구현 필요추가 홉, SPOF 가능
예시Netflix EurekaAWS ELB, K8s Service

Consul vs etcd vs Zookeeper

구분ConsuletcdZookeeper
개발사HashiCorpCoreOS/CNCFApache
용도서비스 디스커버리 + KVKV 저장소분산 코디네이션
합의 알고리즘RaftRaftZAB
서비스 디스커버리네이티브 지원별도 구현 필요별도 구현 필요
헬스 체크내장별도 구현별도 구현
K8s 연동가능K8s 기본 저장소가능
UI내장 웹 UI없음없음

26. 신기술 동향 비교

데이터 패브릭 vs 데이터 메시

구분데이터 패브릭데이터 메시
접근기술 중심 (중앙 관리)조직 중심 (도메인 분산)
관리중앙 데이터팀도메인팀 자율 관리
핵심메타데이터 기반 자동 통합Data as a Product
아키텍처가상화 계층, AI/ML 활용셀프서비스 플랫폼
제안GartnerZhamak Dehghani (2019)
적합기존 중앙화 조직대규모 도메인 분리 조직

STO vs NFT

구분STO (Security Token)NFT (Non-Fungible Token)
성격증권형 토큰 (투자 상품)대체 불가능 토큰 (소유권)
규제증권법 적용 (금융 규제)규제 미비
대체성대체 가능 (Fungible)대체 불가 (Non-Fungible)
가치기초자산 연동 (부동산, 주식)희소성/문화적 가치
수익배당, 이자, 시세차익시세차익 (2차 판매 로열티)
표준ERC-1400 등ERC-721, ERC-1155

단일 AI 에이전트 vs 멀티에이전트 시스템

구분단일 에이전트멀티에이전트
구조하나의 LLM이 전체 수행역할별 에이전트 협업
전문성범용역할 특화 (코더, 리뷰어 등)
복잡도낮음높음 (오케스트레이션)
품질단일 관점다관점 검증
비용낮음높음 (다중 호출)
프레임워크LangChain, LlamaIndexAutoGen, CrewAI, LangGraph

27. 컴퓨터구조 비교표

폰 노이만 vs 하버드 구조

구분폰 노이만하버드
메모리명령어+데이터 통합명령어/데이터 분리
버스단일 버스이중 버스
병렬 접근불가 (병목)가능
구조 복잡도단순복잡
비용낮음높음
적용범용 PCDSP, 임베디드, MCU
현대 CPUModified Harvard (L1 분리, 메인 메모리 통합)-

캐시 매핑: 직접 매핑 vs 연관 매핑 vs 세트 연관 매핑

구분직접 매핑완전 연관 매핑세트 연관 매핑
매핑 규칙고정 위치 (mod 연산)임의 위치세트 내 임의 위치
적중률낮음높음중간~높음
하드웨어단순복잡 (비교기 많음)중간
충돌잦음 (핑퐁)없음적음
검색1회 비교전체 비교세트 내 비교
사용TLB소규모 캐시L1/L2/L3 캐시 (일반적)

내부 단편화 vs 외부 단편화

구분내부 단편화외부 단편화
발생할당 블록 > 요청 크기빈 공간이 분산되어 사용 불가
원인고정 크기 할당 (페이징)가변 크기 할당 (세그멘테이션)
낭비 위치할당 블록 내부할당 블록 사이
해결블록 크기 최적화압축(Compaction), 버디 시스템

인터럽트 vs 트랩 vs 폴링

구분인터럽트트랩폴링
발생 원인외부 장치 (HW)소프트웨어/예외CPU 능동 확인
발생 시점비동기 (예측 불가)동기 (명령어 실행 중)주기적
CPU 효율높음높음낮음 (바쁜 대기)
우선순위있음 (인터럽트 컨트롤러)없음순서대로
예시키보드, 타이머, I/O 완료시스템 콜, 0 나눗셈장치 상태 루프 확인

DMA vs PIO (프로그램 I/O)

구분DMAPIO
CPU 개입최소 (시작/완료만)매 바이트 개입
전송 주체DMA 컨트롤러CPU
CPU 효율높음낮음
전송 속도빠름 (대량 전송)느림
하드웨어DMA 컨트롤러 필요추가 HW 불필요
적합대용량 I/O (디스크, 네트워크)소량 I/O

SISD vs SIMD vs MIMD (Flynn 분류)

구분SISDSIMDMIMD
명령어단일단일다중
데이터단일다중다중
처리순차데이터 병렬완전 병렬
예시전통 단일코어GPU, SSE/AVX멀티코어, 클러스터
적합범용벡터 연산, 이미지범용 병렬

SSD vs HDD

구분SSDHDD
매체NAND 플래시 (반도체)자기 디스크 (기계식)
속도매우 빠름 (NVMe: ~7GB/s)느림 (~200MB/s)
지연μs 단위ms 단위 (탐색 시간)
내구성쓰기 횟수 제한 (TBW)기계적 마모
소음/진동없음있음 (모터)
전력낮음높음
가격/TB높음낮음
적합OS, DB, 핫 데이터백업, 아카이브, 콜드 데이터

RAID 수준 비교

구분RAID 0RAID 1RAID 5RAID 6RAID 10
방식스트라이핑미러링분산 패리티이중 패리티미러+스트라이프
최소 디스크22344
내결함성없음1개 장애1개 장애2개 장애미러 쌍당 1개
용량 효율100%50%(N-1)/N(N-2)/N50%
읽기 성능빠름빠름빠름빠름매우 빠름
쓰기 성능빠름보통느림 (패리티)더 느림보통
적합임시 데이터중요 데이터범용 서버미션 크리티컬DB, 고성능

Little Endian vs Big Endian

구분Little EndianBig Endian
저장LSB를 낮은 주소MSB를 낮은 주소
직관성낮음높음 (사람 읽기 자연스러움)
연산 효율높음 (크기 변환 용이)낮음
채택x86, ARM (기본), RISC-V네트워크 바이트 순서 (표준)
변환htonl/ntohl 필요네트워크 전송 그대로

GPU vs NPU/TPU

구분GPUNPUTPU
개발NVIDIA 등다양 (삼성, 퀄컴)Google
설계 목적범용 병렬 연산AI 추론 특화AI 학습+추론
연산CUDA 코어, 범용MAC 연산 최적화행렬 연산 (MXU)
전력 효율중간높음 (저전력)중간~높음
유연성높음 (범용)낮음 (AI 특화)낮음 (TensorFlow)
적용학습/추론/그래픽모바일/엣지 AI클라우드 AI

NVMe vs SATA

구분NVMeSATA
인터페이스PCIe (직결)SATA 컨트롤러
대역폭~7GB/s (PCIe 4.0 x4)~600MB/s (SATA III)
지연~10μs~100μs
64K 큐 × 64K 명령1큐 × 32 명령
병렬 처리우수제한적
폼팩터M.2, U.2, AIC2.5인치, M.2 (B key)
적합고성능 워크로드범용, 레거시

28. 자료구조 비교표

배열 vs 연결 리스트

구분배열연결 리스트
메모리연속 할당비연속 (노드+포인터)
접근O(1) 랜덤 접근O(n) 순차 접근
삽입/삭제O(n) (시프트)O(1) (포인터 변경)
메모리 효율높음 (데이터만)낮음 (포인터 오버헤드)
캐시 친화좋음 (지역성)나쁨 (분산)
크기 변경고정/재할당동적

BST vs AVL vs Red-Black Tree

구분BSTAVLRed-Black
균형미보장엄격 (높이차 ≤ 1)느슨 (최대 2배 차이)
검색O(n) 최악O(log n) 보장O(log n) 보장
삽입/삭제O(n) 최악O(log n) + 회전 많음O(log n) + 회전 적음
회전 빈도없음잦음적음
적합단순 구현검색 위주삽입/삭제 빈번
사례교육용데이터베이스std::map, TreeMap

해시 충돌 해결: 체이닝 vs 개방 주소법

구분체이닝 (Chaining)개방 주소법 (Open Addressing)
구조버킷별 연결 리스트테이블 내 빈 슬롯 탐색
적재율1 초과 가능1 미만 유지
삭제쉬움어려움 (삭제 마커)
캐시나쁨 (포인터 추적)좋음 (연속 메모리)
클러스터링없음발생 (선형/이차)
탐색 방법리스트 순회선형/이차/이중 해싱

힙 vs 이진 탐색 트리

구분힙 (Heap)이진 탐색 트리 (BST)
성질부모 ≥ 자식 (최대힙)왼쪽 < 부모 < 오른쪽
최솟값/최댓값O(1)O(log n)~O(n)
검색O(n)O(log n) 평균
삽입O(log n)O(log n) 평균
정렬 순회불가중위 순회 = 정렬
구현배열 기반노드+포인터
용도우선순위 큐탐색, 정렬

그래프 표현: 인접 행렬 vs 인접 리스트

구분인접 행렬인접 리스트
공간O(V²)O(V+E)
간선 확인O(1)O(degree)
전체 순회O(V²)O(V+E)
적합밀집 그래프희소 그래프
가중치값으로 저장(목적지, 가중치) 쌍
메모리많음적음 (일반적)

블룸 필터 vs 해시 셋

구분블룸 필터해시 셋
공간매우 적음 (비트 배열)큼 (원본 저장)
오탐 (False Positive)가능없음
미탐 (False Negative)없음없음
삭제불가 (Counting BF 제외)가능
용도대량 데이터 존재 여부정확한 집합 연산
사례캐시 필터, 스팸 체크중복 제거, 멤버십

Trie vs 해시 맵

구분Trie해시 맵
검색O(m) 문자열 길이O(1) 평균
접두사 검색효율적 (자연 지원)불가
공간큼 (노드 오버헤드)중간
정렬사전순 순회 가능불가
적합자동완성, 사전범용 키-값
최악 검색O(m)O(n) 충돌 시

29. 알고리즘 비교표

정렬 알고리즘 종합 비교

알고리즘최선평균최악공간안정성
버블 정렬O(n)O(n²)O(n²)O(1)안정
선택 정렬O(n²)O(n²)O(n²)O(1)불안정
삽입 정렬O(n)O(n²)O(n²)O(1)안정
병합 정렬O(n log n)O(n log n)O(n log n)O(n)안정
퀵 정렬O(n log n)O(n log n)O(n²)O(log n)불안정
힙 정렬O(n log n)O(n log n)O(n log n)O(1)불안정
팀소트O(n)O(n log n)O(n log n)O(n)안정

안정 정렬 vs 불안정 정렬

구분안정 정렬 (Stable)불안정 정렬 (Unstable)
정의동일 키 원래 순서 보존동일 키 순서 미보장
알고리즘버블, 삽입, 병합, 팀소트선택, 퀵, 힙
중요 시점다중 키 정렬, DB 정렬단일 키, 성능 우선
구현 복잡도보통~높음낮음~보통

Dijkstra vs Bellman-Ford vs Floyd-Warshall

구분DijkstraBellman-FordFloyd-Warshall
목적단일 출발 최단경로단일 출발 최단경로전체 쌍 최단경로
음의 가중치불가가능가능
음의 사이클미탐지탐지 가능탐지 가능
시간복잡도O(E log V)O(VE)O(V³)
알고리즘그리디 (우선순위 큐)DP (V-1회 완화)DP (경유 노드)
적합양수 가중치 그래프음수 간선 포함작은 그래프 전체 쌍

Kruskal vs Prim

구분KruskalPrim
접근간선 기반 (정렬 후 선택)정점 기반 (확장)
자료구조Union-Find우선순위 큐
시간복잡도O(E log E)O(E log V)
적합희소 그래프밀집 그래프
간선 선택전체에서 최소인접 간선 중 최소

P vs NP vs NP-Complete

구분PNPNP-Complete
정의다항 시간 풀이 가능다항 시간 검증 가능NP 중 가장 어려운 부류
풀이효율적 알고리즘 존재효율적 풀이 미확인효율적 풀이 미확인
검증다항 시간다항 시간다항 시간
관계P ⊆ NPP ⊆ NPNP의 부분
예시정렬, 최단경로해밀턴 경로 (결정)SAT, TSP, 배낭
P=NP?미해결 문제 (밀레니엄)-하나라도 풀면 P=NP

이진 탐색 vs 선형 탐색 vs 보간 탐색

구분선형 탐색이진 탐색보간 탐색
시간복잡도O(n)O(log n)O(log log n) 평균
정렬 필요불필요필수필수 + 균등 분포
방식순차 비교중간값 비교값 비례 위치 추정
최악O(n)O(log n)O(n)
적합소량, 비정렬정렬된 배열균등 분포 데이터

30. 운영체제 비교표

모놀리식 커널 vs 마이크로커널

구분모놀리식 커널마이크로커널
구조모든 서비스 커널 공간최소 커널 + 사용자 공간 서버
성능빠름 (직접 호출)느림 (IPC 오버헤드)
안정성드라이버 오류 = 커널 크래시서버 오류 격리
확장성어려움 (재컴파일)쉬움 (모듈 추가)
크기작음
예시Linux, FreeBSDMINIX, QNX, L4

CPU 스케줄링 알고리즘 비교

알고리즘유형기준장점단점
FCFS비선점도착 순서단순, 공정호위 효과 (Convoy)
SJF비선점최소 실행 시간평균 대기시간 최소기아 (Starvation)
SRTF선점최소 잔여 시간SJF보다 효율적기아, 오버헤드
RR선점시간 할당량공정, 응답 좋음타임퀀텀 설정 중요
Priority선점/비선점우선순위중요 작업 우선기아 (에이징으로 해결)
MLFQ선점다단계 큐적응적, 범용구현 복잡

뮤텍스 vs 세마포어 vs 모니터

구분뮤텍스세마포어모니터
소유소유자만 해제누구나 Signal자동 (언어 지원)
0 또는 10~N (카운팅)N/A
용도상호 배제자원 카운트, 동기화상호 배제 + 조건변수
데드락발생 가능발생 가능구조적 방지
구현OS 커널OS 커널프로그래밍 언어
예시pthread_mutexsem_wait/postJava synchronized

교착상태: 예방 vs 회피 vs 탐지

구분예방 (Prevention)회피 (Avoidance)탐지 (Detection)
시점사전 (설계)실행 중 (할당 전)사후 (발생 후)
방법4대 조건 중 하나 제거안전 상태 확인 (Banker's)자원 할당 그래프
자원 활용낮음 (보수적)중간높음
오버헤드낮음중간 (매 요청 확인)높음 (주기적 검사)
복구불필요불필요프로세스 종료/자원 회수

페이지 교체 알고리즘 비교

알고리즘기준장점단점
Optimal가장 늦게 사용될 페이지이론적 최적미래 참조 불가 (비실용)
FIFO가장 오래된 페이지단순Belady 이상현상
LRU가장 오래 미사용실용적, 성능 좋음구현 복잡 (타임스탬프/스택)
LFU가장 적게 사용빈도 반영과거 빈도 누적, 오버헤드
Clock (NRU)참조 비트 순환LRU 근사, 효율적정밀도 낮음

좀비 프로세스 vs 고아 프로세스

구분좀비 프로세스고아 프로세스
정의자식 종료, 부모 wait 미호출부모 먼저 종료
상태종료됨 (EXIT_ZOMBIE)실행 중
문제PID/PCB 자원 누수없음 (init이 입양)
해결부모의 wait()/SIGCHLDinit(PID 1)이 wait()
위험도PID 고갈낮음

공유 메모리 vs 메시지 패싱

구분공유 메모리메시지 패싱
통신공유 영역 읽기/쓰기send/receive 메시지
속도빠름 (커널 개입 최소)느림 (커널 복사)
동기화명시적 필요 (세마포어 등)암묵적 (메시지 순서)
적합단일 머신, 대용량분산 시스템, 격리
예시POSIX shm, mmap파이프, 소켓, MPI
구현 복잡도높음 (동기화)낮음

가상 메모리 vs 물리 메모리

구분가상 메모리물리 메모리
주소가상 주소 (프로세스별)물리 주소 (실제 RAM)
크기물리 메모리보다 클 수 있음실제 RAM 용량
매핑페이지 테이블 (MMU)직접
장점격리, 대용량, 보호빠름
단점페이지 폴트 오버헤드용량 제한
관련스왑, 페이지 폴트, TLB-

파일 시스템 비교: FAT vs ext4 vs NTFS vs XFS

구분FAT32ext4NTFSXFS
OS범용LinuxWindowsLinux
저널링없음있음있음있음
최대 파일4GB16TB256TB8EB
최대 볼륨2TB1EB256TB8EB
권한 관리없음POSIX ACLACLPOSIX ACL
적합USB, SD카드범용 Linux범용 Windows대용량 파일

31. 네트워크 비교표 확장

회선 교환 vs 패킷 교환 vs 메시지 교환

구분회선 교환패킷 교환메시지 교환
경로전용 물리 경로공유 경로Store-and-Forward
대역폭고정 할당 (비효율)동적 공유 (효율)동적 (느림)
지연일정 (낮음)가변 (지터)높음
신뢰성회선 장애 = 단절우회 가능우회 가능
적합실시간 음성 (PSTN)인터넷 (IP)이메일 (개념)

CSMA/CD vs CSMA/CA

구분CSMA/CDCSMA/CA
환경유선 (이더넷)무선 (WiFi)
충돌 처리감지 (Detection)회피 (Avoidance)
동작전송 중 충돌 감지 → 잼 → 백오프IFS 대기 → 랜덤 백오프 → 전송
ACK불필요필요
RTS/CTS없음선택적 사용
표준IEEE 802.3IEEE 802.11
Hidden Node해당 없음문제 (RTS/CTS로 해결)

L2 스위치 vs L3 스위치 vs 라우터

구분L2 스위치L3 스위치라우터
계층데이터링크네트워크네트워크
기준MAC 주소IP 주소 (HW)IP 주소 (SW)
속도가장 빠름빠름 (ASIC)상대적 느림
VLAN 라우팅불가가능가능
WAN 연결불가제한적가능
기능프레임 전달VLAN간 라우팅NAT, 방화벽, VPN
적합LAN 내부데이터센터 내부WAN 연결, 인터넷

FTP vs FTPS vs SFTP

구분FTPFTPSSFTP
프로토콜FTPFTP + TLS/SSLSSH File Transfer
포트20/21990 (Implicit)22
암호화없음TLS/SSLSSH 암호화
방화벽복잡 (능동/수동)더 복잡단순 (단일 포트)
인증ID/PW인증서 + ID/PWSSH 키/PW
적합내부망 (레거시)파일 전송 보안서버 관리, 보안 전송

32. 보안 비교표 확장

대칭키 알고리즘 비교

구분DES3DESAESSEEDARIA
키 길이56비트112/168비트128/192/256128/256128/192/256
블록 크기64비트64비트128비트128비트128비트
구조FeistelFeistel (3회)SPNFeistelSPN
라운드164810/12/141612/14/16
안전성취약 (사용금지)취약 (권장X)안전 (표준)안전 (국내)안전 (국내)
제정NIST (1977)NISTNIST (2001)KISA (1998)KISA (2004)

해시 함수 비교

구분MD5SHA-1SHA-256SHA-3
출력128비트160비트256비트가변 (256/512)
안전성취약 (충돌 발견)취약 (충돌 발견)안전안전
구조Merkle-DamgardMerkle-DamgardMerkle-DamgardSponge (Keccak)
속도빠름빠름보통보통
용도체크섬 (보안X)레거시범용 표준최신 표준
양자내성없음없음제한적상대적 강함

전자서명 알고리즘 비교

구분RSAECDSAEd25519
기반소인수분해타원곡선 이산로그타원곡선 (EdDSA)
키 길이2048/4096비트256비트256비트
서명 크기256/512바이트64바이트64바이트
속도느림빠름매우 빠름
보안 동등RSA-3072 ≈ ECC-256128비트 보안128비트 보안
양자내성없음없음없음
사례TLS, PKIBitcoin, TLSSSH, Signal

SPN vs Feistel 구조

구분SPNFeistel
구조전체 블록에 S-Box + P-Box좌우 분할 → 라운드 함수 교차
복호화역연산 별도 구현동일 구조 역순 (대칭)
병렬 처리우수제한적 (절반만 변환)
확산빠름 (전체 변환)느림 (절반씩)
대표AES, ARIADES, 3DES, SEED
장점빠른 확산, 병렬화암복호화 구조 동일, 설계 용이

IDS vs IPS vs WAF

구분IDSIPSWAF
역할탐지 (알림)탐지 + 차단웹 공격 차단
위치패시브 (미러링)인라인웹 서버 앞단
계층L3-L7L3-L7L7 (HTTP)
대상네트워크 전반네트워크 전반웹 애플리케이션
차단불가가능가능
오탐 영향알림만정상 트래픽 차단정상 요청 차단
사례Snort, SuricataSuricataModSecurity, AWS WAF

VPN: SSL VPN vs IPsec VPN

구분SSL VPNIPsec VPN
계층L4-L7 (TLS)L3 (네트워크)
클라이언트웹 브라우저 (에이전트 선택)전용 클라이언트 필요
접근 범위애플리케이션별 제어네트워크 전체
NAT 통과용이 (443 포트)복잡 (NAT-T 필요)
설정간편복잡
적합원격 근무, 웹 접속사이트 간 연결 (Site-to-Site)

33. AI/ML 비교표 확장

클러스터링: K-means vs DBSCAN vs 계층적

구분K-meansDBSCAN계층적 (Hierarchical)
기반중심점 (거리)밀도거리 (유사도)
K 사전 지정필요불필요불필요 (덴드로그램)
클러스터 형태구형임의 형상임의
잡음 처리약함강함 (노이즈 라벨)약함
시간복잡도O(nKt)O(n log n)O(n²)~O(n³)
확장성좋음좋음나쁨 (대규모 부적합)
적합대규모, 구형 클러스터노이즈, 비구형소규모, 계층 시각화

LSTM vs GRU

구분LSTMGRU
게이트3개 (입력/망각/출력)2개 (리셋/업데이트)
파라미터많음적음 (~25% 절약)
셀 상태별도 셀 상태 (C_t)은닉 상태와 통합
학습 속도느림빠름
성능긴 시퀀스 유리짧은 시퀀스 유사
적합복잡한 장기 의존성소규모, 빠른 학습

최적화: SGD vs Adam vs RMSprop

구분SGDAdamRMSprop
학습률고정적응적 (1차+2차 모멘트)적응적 (2차 모멘트)
모멘텀선택적내장없음
수렴 속도느림빠름중간
메모리적음많음 (2배 파라미터)중간
일반화좋음 (노이즈)보통보통
적합대규모, 일반화 중요범용 기본 선택RNN/비정상 목적함수

정규화: L1 vs L2 vs Dropout

구분L1 (Lasso)L2 (Ridge)Dropout
방식가중치 절대값 합 패널티가중치 제곱합 패널티랜덤 뉴런 비활성화
효과희소 가중치 (Feature Selection)작은 가중치 (전체 축소)앙상블 효과
0 생성많음 (특징 제거)드묾 (작게 만듦)N/A
적합특징 선택다중공선성 방지딥러닝
수식λΣwλΣw²p 확률로 뉴런 제거

배치 학습 vs 온라인 학습 vs 미니배치

구분배치 (Batch)온라인 (Stochastic)미니배치 (Mini-batch)
데이터전체1개씩N개씩 (32/64/128)
수렴안정적불안정 (노이즈)균형
속도느림빠름 (업데이트 잦음)중간
메모리많음적음중간
GPU 활용비효율비효율효율적 (병렬)
적합소규모 데이터실시간/스트리밍범용 (가장 일반적)

양자화: INT8 vs FP16 vs BF16

구분FP32 (기준)FP16BF16INT8
비트3216168
지수/가수8/235/108/7N/A (정수)
정밀도최고높음중간 (범위 넓음)낮음
메모리1x0.5x0.5x0.25x
속도1x~2x~2x~4x
용도학습 기본혼합 정밀도 학습LLM 학습 (안정적)추론 최적화
정밀도 손실없음약간약간있음 (보정 필요)