핵심 요약 카드
시험 직전 빠르게 훑는 영역별 1페이지 요약입니다.
1영역 — 소프트웨어 개발
정렬 알고리즘
| 알고리즘 |
평균 |
최악 |
공간 |
안정 |
| 버블 |
O(n²) |
O(n²) |
O(1) |
O |
| 선택 |
O(n²) |
O(n²) |
O(1) |
X |
| 삽입 |
O(n²) |
O(n²) |
O(1) |
O |
| 퀵 |
O(n log n) |
O(n²) |
O(log n) |
X |
| 병합 |
O(n log n) |
O(n log n) |
O(n) |
O |
| 힙 |
O(n log n) |
O(n log n) |
O(1) |
X |
안정 정렬: 버·삽·병 / 불안정: 선·퀵·힙
최단 경로
| 알고리즘 |
음수 가중치 |
복잡도 |
용도 |
| 다익스트라 |
X |
O(n²) |
단일 출발 |
| 벨만-포드 |
O |
O(VE) |
음수 허용 |
| 플로이드-워셜 |
O |
O(n³) |
전체 쌍 |
자료구조 핵심
| 구조 |
특성 |
활용 |
| 스택 |
LIFO |
DFS, 괄호검사, 함수호출 |
| 큐 |
FIFO |
BFS, 프린터 스풀 |
| 힙 |
삽입/삭제 O(log n) |
우선순위 큐 |
| 해시 |
평균 O(1) |
빠른 검색 |
| 트리 |
노드 n, 간선 n-1 |
계층 구조 |
SOLID 원칙
| 약자 |
이름 |
핵심 |
| S |
단일 책임 |
하나의 클래스는 하나의 책임 |
| O |
개방-폐쇄 |
확장엔 열림, 변경엔 닫힘 |
| L |
리스코프 치환 |
자식 클래스는 부모를 대체 가능 |
| I |
인터페이스 분리 |
필요한 인터페이스만 구현 |
| D |
의존 역전 |
추상화에 의존 |
디자인 패턴 분류
| 분류 |
패턴 |
| 생성 |
싱글톤, 팩토리, 빌더, 프로토타입 |
| 구조 |
어댑터, 데코레이터, 파사드, 프록시 |
| 행동 |
전략, 옵저버, 템플릿 메서드, 커맨드 |
2영역 — 데이터베이스
정규화 단계
| 단계 |
제거 대상 |
핵심 |
| 1NF |
— |
원자값 |
| 2NF |
부분 함수 종속 |
기본키 일부에만 종속 제거 |
| 3NF |
이행 함수 종속 |
A→B→C 관계 제거 |
| BCNF |
결정자가 후보키 아닌 경우 |
모든 결정자=후보키 |
이상 현상: 삽입 / 삭제 / 갱신 이상
SQL 실행 순서
FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY
조인 비교
| 종류 |
결과 |
| INNER JOIN |
양쪽 일치 행만 |
| LEFT JOIN |
왼쪽 전체 + 오른쪽 일치 (없으면 NULL) |
| RIGHT JOIN |
오른쪽 전체 + 왼쪽 일치 |
| FULL OUTER |
양쪽 모두 |
트랜잭션 ACID
| 속성 |
의미 |
| Atomicity |
All or Nothing |
| Consistency |
일관된 상태 유지 |
| Isolation |
트랜잭션 간 독립 |
| Durability |
COMMIT 후 영구 반영 |
격리 수준 (낮음 → 높음)
READ UNCOMMITTED → READ COMMITTED → REPEATABLE READ → SERIALIZABLE
더티리드 방지X → 방지O → + 반복불가능 방지 → + 팬텀리드 방지
NoSQL 4종류
| 종류 |
예시 |
용도 |
| 키-값 |
Redis |
캐싱, 세션 |
| 문서 |
MongoDB |
콘텐츠, 카탈로그 |
| 컬럼 패밀리 |
Cassandra |
시계열, 대규모 쓰기 |
| 그래프 |
Neo4j |
SNS, 추천 |
CAP 정리: 3가지 중 2가지만 선택 가능 (P는 필수)
3영역 — 네트워크
OSI 7계층 (아파서 탄 네데물)
| 계층 |
이름 |
PDU |
프로토콜/장비 |
| 7 |
응용 |
— |
HTTP, DNS, FTP |
| 6 |
표현 |
— |
SSL/TLS, JPEG |
| 5 |
세션 |
— |
NetBIOS |
| 4 |
전송 |
세그먼트 |
TCP, UDP |
| 3 |
네트워크 |
패킷 |
IP, 라우터 |
| 2 |
데이터링크 |
프레임 |
MAC, 스위치 |
| 1 |
물리 |
비트 |
케이블, 허브 |
TCP vs UDP
| 항목 |
TCP |
UDP |
| 연결 |
연결 지향 |
비연결 |
| 신뢰성 |
보장 |
미보장 |
| 속도 |
느림 |
빠름 |
| 용도 |
HTTP, FTP |
DNS, 게임, 스트리밍 |
TCP 핸드셰이크
- 연결: SYN → SYN+ACK → ACK (3-way)
- 종료: FIN → ACK → FIN → ACK (4-way)
주요 포트
20/21=FTP 22=SSH 23=Telnet 25=SMTP
53=DNS 80=HTTP 110=POP3 443=HTTPS
HTTP 메서드 멱등성
- 있음: GET, PUT, DELETE, HEAD
- 없음: POST, PATCH
장비 계층
허브(1계층) → 스위치(2계층, MAC) → 라우터(3계층, IP)
IDS=탐지+알림 / IPS=탐지+자동차단
L4=IP+포트 기반 / L7=URL+헤더 기반
4영역 — 정보보안
암호화 비교
| 구분 |
대칭키 |
비대칭키 |
| 키 |
1개 (동일) |
2개 (공개+개인) |
| 속도 |
빠름 |
느림 |
| 키 배송 |
문제 있음 |
안전 |
| 예시 |
AES |
RSA |
HTTPS: 비대칭키로 대칭키 교환 → 대칭키로 통신
해시
- 단방향 (복호화 불가)
- SHA-256이 현재 표준
- 눈사태 효과: 입력 1비트 변경 → 출력 완전히 달라짐
디지털 서명
- 서명: 개인키로 암호화
- 검증: 공개키로 복호화
주요 공격과 방어
| 공격 |
방어 |
| SQL Injection |
Prepared Statement |
| XSS |
HTML 이스케이프, CSP, HTTPOnly |
| CSRF |
CSRF 토큰, SameSite 쿠키 |
| DDoS/SYN Flood |
CDN, SYN Cookie |
CIA 트라이어드
- 기밀성: 인가된 사용자만 접근
- 무결성: 데이터 변조 없음
- 가용성: 필요할 때 접근 가능
접근 제어 모델
DAC=소유자 결정 / MAC=시스템 강제(군사) / RBAC=역할 기반(기업)
5영역 — IT 비즈니스
PMBOK 5대 프로세스
일정 관리 도구
| 도구 |
핵심 |
| WBS |
작업 계층적 분해 |
| 간트 차트 |
시작/종료 일정 시각화 |
| CPM |
임계 경로 (Float=0) |
| PERT |
기대시간 = (낙관+4×최빈+비관)/6 |
위험 대응 4전략
회피(Avoid) → 원인 제거
완화(Mitigate) → 가능성/영향 감소
전가(Transfer) → 보험/외주
수용(Accept) → 낮은 위험 감수
스크럼 핵심
| 항목 |
내용 |
| 역할 |
PO(백로그), SM(코치), 개발팀 |
| 스프린트 |
1~4주 반복 |
| 이벤트 |
계획 → 데일리 → 리뷰 → 회고 |
SLA 지표
가용성 = MTBF / (MTBF + MTTR)
99% = 연 87.6h / 99.9% = 연 8.76h / 99.999% = 연 5.26분
클라우드 서비스 모델
IaaS → OS·미들웨어·앱 직접 관리
PaaS → 앱만 관리
SaaS → 아무것도 관리 안 함
빅데이터 3V
Volume(규모) + Velocity(속도) + Variety(다양성)
6영역 — 프로젝트 관리 및 테크니컬 커뮤니케이션
프로젝트 생명주기
착수 → 계획 → 실행 → 감시/통제 → 종료
프로젝트 관리 도구
| 도구 |
용도 |
| WBS |
범위관리 — 작업 계층적 분해 |
| 간트 차트 |
일정 시각화 (막대 그래프) |
| CPM |
임계경로 도출 (Float=0인 경로) |
| FP |
원가산정 — 기능 개수 기반 |
| COCOMO |
원가산정 — LOC 기반 |
위험관리 프로세스
식별 → 분석(정성적/정량적) → 대응 → 통제
위험 대응 4전략
회피 — 원인 제거
전가 — 보험/외주
완화 — 가능성·영향 감소
수용 — 낮은 위험 감수
품질관리 3단계
QP(계획) → QA(프로세스 감사) → QC(결과물 검사)
테크니컬 문서
| 문서 |
설명 |
| RFI |
정보제공요청서 — 업체 정보 수집 |
| RFP |
제안요청서 — 업체에 제안 요청 |
| 제안서 |
업체가 RFP에 응답 |
| SRS |
요구사항 명세서 |
비즈니스 커뮤니케이션
상향식(보고) / 하향식(지시) / 수평식(협업)
자주 혼동되는 개념 쌍
| A |
B |
구분 포인트 |
| 안정 정렬 (버·삽·병) |
불안정 (선·퀵·힙) |
같은 값의 순서 유지 여부 |
| WHERE |
HAVING |
그룹화 전 vs 후 필터 |
| INNER JOIN |
LEFT JOIN |
불일치 행 제외 vs 포함 |
| DDL (자동COMMIT) |
DML (ROLLBACK 가능) |
구조 변경 vs 데이터 조작 |
| 더티리드 |
팬텀리드 |
커밋 안 된 데이터 vs 없던 행 나타남 |
| IDS |
IPS |
탐지+알림 vs 탐지+자동차단 |
| AES |
RSA |
대칭키 vs 비대칭키 |
| 인증 |
인가 |
신원 확인 vs 권한 확인 |
| MTTR |
RTO |
실제 평균 복구 시간 vs 목표 복구 시간 |
| CPM |
PERT |
임계 경로 vs 기대 시간 산정 |
| IaaS |
PaaS |
OS까지 관리 vs 앱만 관리 |
| 순열 (nPr) |
조합 (nCr) |
순서 있음 vs 순서 없음 |