-
Notifications
You must be signed in to change notification settings - Fork 3
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)
- 정의
- 종류