Skip to content

Study Contents

kyr4601 edited this page Jan 3, 2024 · 1 revision

자료구조

- Array (배열)  
- Linked List (연결 리스트)  
- Stack (스택)  
- Queue (큐)  
- Tree (트리)  
- Binary Tree (이진 트리)  
- Binary Heap  
- Red Black Tree  
- Hash (해시)  
- Graph (그래프)  

네트워크

1. 네트워크 기초
    - 네트워크 기본 용어 (ex. 인터넷이란? 프로토콜이란? 등)
    - 네트워크 구조 (ex. edge / core 등)
2. OSI 7 layers
    왜 7계층으로 나뉘고, 각 무엇을 의미하며 어떤 역할을 하는지 등등 7계층의 큰 흐름
    - application - HTTP & HTTPS / REST API & RESTful / CORS / 쿠키 & 캐시 & 프록시 서버 / DNS
    - presentation
    - session
    - transport - TCP & UDP / TCP 연결, 해제 과정 (3,4 way handshaking) / TCP 흐름제어 & 혼잡제어
    - network - IP / DHCP (App layer이지만 ip관련) / 라우팅
    - link - MAC / ARP / 스위치 / 오류 체크 
    - physical
3. WEB 통신 전체 흐름 
4. 로드밸런싱

컴퓨터구조

1. CPU
    - CPU 구성
    - CPU 명령어 처리 흐름
    - CPU 속도 향상
    - 명령어 병렬 처리 기법
    - CISC와 RISC

2. 메모리
    - RAM 특징과 종류
    - 주소공간 (물리주소, 논리주소, 메모리 보호 기법)
    - 캐시 메모리

3. 보조기억장치
    - 하드디스크
    - 플래시 메모리
    - RAID 정의와 종류 (1일)

4. 입출력장치
    - 장치 컨트롤러, 장치 드라이버
    - 프로그램 입출력, 인터럽트 기반 입출력, DMA 입출력

운영체제

1. 운영체제란? 
    - 커널이란 무엇인가
    - 시스템 콜이란
    - 인터럽트란
2. 프로세스 & 스레드
    - 프로세스란 무엇인가
    - PCB
    - 컨텍스트스위칭
    - 프로세스의 메모리 구조
    - 프로세스 상태 (다이어그램)
    - 프로세스 생성
    - 스레드란 무엇인가
    - 멀티프로세싱 / 멀티스레드
3. CPU 스케줄링
    - 프로세스의 우선순위
    - 스케줄링 큐 관리
    - 선점형, 비선점형 스케줄링
    - 스케줄링 알고리즘
4. 프로세스 동기화
    - 공유 자원과 critical section
    - IPC
    - 동기화 기법 (스핀락, 뮤텍스, 세마포어, 모니터)
5. 교착 상태(deadlock)
    - race condition
    - 데드락 발생 조건
    - 관련 algorithms (예방, 회피, 회복)
6. 가상 메모리
    - 스와핑 / 메모리 할당
    - 가상 메모리란
    - 페이징
    - 페이징에서의 주소 변환 (TLB 포함)
    - 페이징 교체 알고리즘
    - 세그멘테이션
    - 프레임 할당
7. 파일 시스템
    - 파일과 디렉터리란
    - 절대 경로와 상대 경로
    - 파티셔닝과 포매팅
    - 파일 할당 방법
    - 저널링 파일 시스템
    - 마운트

데이터베이스

1. 데이터 베이스 기본 
    - DB
    - DBMS
    - 엔티티
    - 릴레이션
    - 속성
    - 도메인
    - 필드와 레코드
    - 관계
2. 키 종류 및 특징 , 예시 
    - 기본키
    - 외래키
    - 후보키
    - 대체키
    - 슈퍼키 
    - 파일 시스템 vs 데이터 베이스
3. ERD & 정규화 과정
    - ERD 개념, 중요성
    - 정규화 과정 개념, 원칙
    - 제 1 정규형
    - 제 2 정규형
    - 제 3 정규형
    - 보이스/코드 정규형
4. JOIN 
    - 조인 개념
    - 조인 종류
        - inner join
        - left outer join
        - right outer join
        - full outer join
    - 중첩 루프 조인 (NLJ, Nested Loop Join)
    - 정렬 병합 조인
    - 해시 조인
5. SQL Injection
    - SQL injection 개념
    - 공격 종류 및 방법
        - Nomal SQL Injection
        - Union based SQL Injection
        - Blind SQL Injection - Boolean based SQL Injection
        - Blind SQL Injection - Time based SQL Injection
        - Stored Procedure SQL Injection
        - Mass SQL Injection
    - 대응 방안
6. 저장 프로시저
    - 정의, 예시
    - 장단점
    - SQL 문과 저장 프로시져 동작 비교
7. 인덱스 
    - 인덱스 개념, 원리
    - 인덱스 장/단점
    - 인덱스를 언제 사용하는지?
    - 인덱스 분류
        - 역할별
            - 클러스터 인덱스
            - 비클러스터 인덱스
            - 유니크 인덱스
        - 데이터 저장방식(알고리즘)별 → 종류만 설명
            - B- Tree
            - B+ Tree
            - Hash
        - 데이터 중복 허용 여부별
            - 유니크 인덱스
            - 논유니크 인덱스
8. RDMS & NoSQL 
    - RDBMS 특징, 정의, 장단점
    - NoSQL 특징, 정의, 장단점
    - NoSQL 4가지 저장 기술
        - Document Database
        - Graph Database
        - Key-value Database
        - Wide Column Database
    - RDMS 와 NoSQL의 차이점
9. B Tree & B+Tree
    - B Tree
        - 정의, 특징 , 활용
        - B Tree 규칙
        - B Tree  삽입
        - B Tree  삭제
        - 검색방법, 포인터의 사용, 범위 쿼리와 범위 검색, 순차 탐색 . 및정렬, 메모리 사용
    - B+Tree
        - 정의, 특징 , 활용
        - B+Tree 규칙
        - B+Tree  삽입
        - B+Tree  삭제
        - 검색방법, 포인터의 사용, 범위 쿼리와 범위 검색, 순차 탐색 . 및정렬, 메모리 사용
    - 데이터 베이스 인덱스로  더좋은 이유
10. 캐시 
    - 정의
    - 캐시 접하는 순간 ?
    - 캐시 사용구조
    - Look Aside Cache (Lazy Loading)
    - Write Back
11. Memcached 
    - 정의
    - 장단점 
12. 레디스 
    - 정의, 특징
    - Redis는 어디에 사용하는지?
        - 캐시 서버의 역할
        - API 캐싱 역할
        - 메세지 브로커 역할
    - 레디스의 영속성
    - 레디스의 컬렉션
    - 싱글 스레드를 사용하는 레디스
13. 트랜잭션 (ACID / concurrency control / 격리수준 ) 
    - 정의
    - 4가지 특징 ACID
    - 격리 수준에 따라 발생하는 현상
        - DIRTY READ (더티 리드), 예시
        - NON-REPEATABLE READ (반복 가능하지 않은 조회, FUZZY READ), 예시
        - PHANTOM READ (팬텀 리드)
    - 트랜젝션 격리 수준
        - READ UNCOMMITTED
        - READ COMMITTED
        - REPEATABLE READ
        - SERIALIZABLE
14. 정규화 
    - 정규화와 비정규화란?
        - 정의
        - 정규화 원칙
        - 정규화 유형
        - 반정규화
    - 정규화의 목적?
    - 장단점
15. 이상 (anomaly)
    - 정의
    - 종류

Clone this wiki locally