본문 바로가기

CS 공부

CS) 정처기 대비 요약 정리

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계층과 프로토콜 역할
  • 알고리즘 → 정렬 시간 복잡도와 차이점
  • 운영체제 → 프로세스 스케줄링 기법
  • 보안 → 암호화 방식과 해시 알고리즘