김수현 | 복영빈 | 임예지 | 박지윤 | 정경연 | 박진영 |
- 진행 기간 : 5, 6, 7월
- 진행 방법
- 대분류별 하나의 주제를 선택하여 개인 학습 후 Github .md 파일 작성
- 매주 담당 주제 발표 및 피드백 (1시간~2시간)
- 주제 선정 방식 : 매주 대분류별 로테이션으로 돌아가며 선택
- 주제별 면접 예상 질문 및 답변 2개 이상씩 작성 파일 하단에 작성
- 발표 후 인당 질문 최소 1개씩 하기
- Issue의 To Do 완료 시, 완료 확인 comment 작성
Computer Architecture
- 컴퓨터 구조 기초
- 컴퓨터의 구성
- 중앙처리장치(CPU) 작동 원리
- 캐시 메모리
- 고정 소수점 & 부동 소수점
- 패리티 비트 & 해밍 코드
- ARM 프로세서
Data Structure
- Array
- LinkedList
- Array & ArrayList & LinkedList
- 스택(Stack) & 큐(Queue)
- 힙(Heap)
- 트리(Tree)
- 이진탐색트리(Binary Search Tree)
- 해시(Hash)
- 트라이(Trie)
- B-Tree & B+Tree
Database
- 키(Key) 정리
- SQL - JOIN
- SQL Injection
- SQL vs NoSQL
- 정규화(Normalization)
- 이상(Anomaly)
- 인덱스(INDEX)
- 트랜잭션(Transaction)
- 트랜잭션 격리 수준(Transaction Isolation Level)
- 저장 프로시저(Stored PROCEDURE)
Network
- OSI 7 계층
- TCP 3 way handshake & 4 way handshake
- TCP/IP 흐름제어 & 혼잡제어
- UDP
- 대칭키 & 공개키
- HTTP & HTTPS
- TLS/SSL handshake
- 로드 밸런싱(Load Balancing)
- Blocking,Non-blocking & Synchronous,Asynchronous
- Blocking & Non-Blocking I/O
OS
- 운영체제란
- 프로세스 vs 스레드
- 프로세스 주소 공간
- 인터럽트
- 시스템 콜(System Call)
- PCB와 Context Switching
- IPC(Inter Process Communication)
- CPU 스케줄링
- 데드락(DeadLock)
- Race Condition
- 세마포어(Semaphore) & 뮤텍스(Mutex)
- 페이징 & 세그먼테이션 (PDF)
- 페이지 교체 알고리즘
- 메모리(Memory)
- 파일 시스템
Software Engineering
- 클린코드 & 리팩토링 & 시큐어코딩
- TDD(Test Driven Development)
- 애자일(Agile) 정리1 / 애자일(Agile) 정리2
- 객체 지향 프로그래밍(Object-Oriented Programming)
- 함수형 프로그래밍(Fuctional Programming)
- 데브옵스(DevOps)
- 서드 파티(3rd party)란?
- 마이크로서비스 아키텍처(MSA)
Algorithm
- 거품 정렬(Bubble Sort)
- 선택 정렬(Selection Sort)
- 삽입 정렬(Insertion Sort)
- 퀵 정렬(Quick Sort)
- 병합 정렬(Merge Sort)
- 힙 정렬(Heap Sort)
- 기수 정렬(Radix Sort)
- 계수 정렬(Count Sort)
- 이분 탐색(Binary Search)
- 해시 테이블 구현
- DFS & BFS
- 최장 증가 수열(LIS)
- 최소 공통 조상(LCA)
- 동적 계획법(Dynamic Programming)
- 다익스트라(Dijkstra) 알고리즘
- 비트마스크(BitMask)
Design Pattern
- 싱글톤 패턴
- 탬플릿 메소드 패턴
- 팩토리 메소드 패턴
- 옵저버 패턴
- 스트레티지 패턴
- 프록시 패턴
- 컴포지트 패턴
- SOLID