1. 소프트웨어 공학 (Software Engineering)
- 소프트웨어 생명주기(SDLC) 모델별 특징
- 폭포수 모델(Waterfall) → 단계별 진행, 문서 중심, 후반 수정 어려움
- 프로토타이핑 모델(Prototyping) → 사용자의 피드백을 기반으로 반복적 개선
- 나선형 모델(Spiral) → 리스크 분석 중심, 대형 프로젝트에 적합
- 애자일(Agile) 모델 → 짧은 개발 주기, 유연한 대응
자주 틀리는 포인트
- "폭포수 모델과 애자일 모델의 차이점"을 혼동
- "나선형 모델 = 위험 분석을 고려"하는 특징을 자주 놓침
2. 데이터베이스 (Database)
- 정규화(Normalization)
- 제1정규형(1NF) → 중복된 데이터 제거, 원자값 유지
- 제2정규형(2NF) → 부분 함수적 종속 제거
- 제3정규형(3NF) → 이행적 종속 제거
자주 틀리는 포인트
- "부분 함수적 종속"과 "이행적 종속"의 개념을 헷갈림
- "BCNF(Boyce-Codd Normal Form)" → 후보키가 아닌 컬럼이 결정자가 되면 추가 정규화
- 트랜잭션(Transaction)과 ACID 특성
- Atomicity(원자성) → 트랜잭션의 모든 작업이 수행되거나 전혀 수행되지 않아야 함
- Consistency(일관성) → 데이터베이스의 일관성이 보장
- Isolation(고립성) → 트랜잭션 간의 간섭 방지
- Durability(지속성) → 트랜잭션 완료 후에도 데이터가 보존
자주 틀리는 포인트
- 트랜잭션 고립성 수준 (Read Uncommitted, Read Committed, Repeatable Read, Serializable)을 정확히 구분 못함
3. 네트워크(Network)
- OSI 7계층과 프로토콜
계층역할대표 프로토콜
1. 물리 계층 | 전기적, 물리적 신호 전달 | UTP, 광케이블 |
2. 데이터링크 계층 | MAC 주소, 오류 검출 | 이더넷, 스위치 |
3. 네트워크 계층 | IP 주소 지정, 라우팅 | IP, ICMP, ARP |
4. 전송 계층 | 포트번호, 신뢰성 제공 | TCP, UDP |
5. 세션 계층 | 세션 유지, 종료 | RPC, NetBIOS |
6. 표현 계층 | 데이터 형식 변환, 압축 | JPEG, GIF, SSL |
7. 응용 계층 | 사용자 인터페이스 | HTTP, FTP, SMTP |
자주 틀리는 포인트
- OSI 7계층에서 "라우터"는 3계층(네트워크 계층), "스위치"는 2계층(데이터링크 계층)
- TCP(신뢰성 보장) vs UDP(비연결성) 차이를 헷갈림
4. 알고리즘 및 자료구조 (Algorithm & Data Structure)
- 알고리즘 시간 복잡도
알고리즘최악 시간 복잡도특징
버블 정렬 | O(n²) | 인접한 값끼리 비교 |
선택 정렬 | O(n²) | 최소값을 선택하여 정렬 |
삽입 정렬 | O(n²) | 앞쪽은 정렬된 상태 유지 |
퀵 정렬 | O(n log n) (최악 O(n²)) | 기준값을 정하고 작은 값과 큰 값 분할 |
병합 정렬 | O(n log n) | 분할 후 병합 |
힙 정렬 | O(n log n) | 완전이진트리 기반 정렬 |
자주 틀리는 포인트
- 퀵 정렬이 평균적으로 O(n log n)이지만 **최악의 경우 O(n²)**이라는 점을 놓침
- 힙 정렬(Heap Sort)과 우선순위 큐(Priority Queue)를 혼동
5. 운영체제 (Operating System)
- 프로세스 스케줄링 기법
스케줄링 기법특징
FIFO(First In First Out) | 먼저 온 작업이 먼저 실행 |
SJF(Shortest Job First) | 실행 시간이 짧은 작업부터 수행 |
RR(Round Robin) | 시간 할당(Time Quantum) 개념을 적용 |
Priority Scheduling | 우선순위가 높은 작업 먼저 수행 |
자주 틀리는 포인트
- "비선점형 vs 선점형 스케줄링" 개념 혼동
- "라운드 로빈(RR)"이 CPU 점유 시간을 균등하게 배분한다는 점을 놓침
6. 보안(Security)
- 암호화 기법
암호화 방식특징대표 알고리즘
대칭키 암호화 | 하나의 키로 암호화/복호화 | AES, DES |
공개키 암호화 | 공개키로 암호화, 개인키로 복호화 | RSA, ECC |
자주 틀리는 포인트
- "대칭키 암호화 vs 공개키 암호화" 차이점을 구분 못함
- "해시(Hash) 알고리즘은 단방향"이라는 점을 놓침
7. 정리
- 소프트웨어 공학 → 생명주기(SDLC), 애자일과 전통적 모델 차이
- 데이터베이스 → 정규화 개념과 트랜잭션 특성
- 네트워크 → OSI 7계층과 프로토콜 역할
- 알고리즘 → 정렬 시간 복잡도와 차이점
- 운영체제 → 프로세스 스케줄링 기법
- 보안 → 암호화 방식과 해시 알고리즘
'CS 공부' 카테고리의 다른 글
CS) 응집도 ( Cohesion ) (0) | 2025.02.18 |
---|---|
CS) 데이터베이스 관계대수, 관계 함수, 정규화 (0) | 2025.02.16 |
CS) 소프트웨어 프로젝트 관리에서 3P와 애자일에서의 적용 (0) | 2025.02.14 |
CS) 결합도 ( Coupling ) (0) | 2025.02.13 |
CS ) UML 다이어그램과 디자인 패턴 정리 (0) | 2025.01.14 |