Skip to content

CS-Study-with-baikIm/CS_Study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📘 CS_Study

본 스터디는 iOS 개발자와 Back-end 개발자 이 두명이 면접에 대비하여 CS 지식에 대한 이해도를 높히고자 개설되었습니다.

📜 스터디 규칙

1. 주 3회 CS 공부

월, 수, 금 주 3회 CS 지식을 공부하고 공부한 내용을 md 파일로 만들어 주세요.
주에 공부할 내용이 방대할 경우 조율이 가능합니다.

2. 오후 8시까지 PR 작성하기 📝

학습한 내용은 md 파일로 만들고 학습한 다음날 오후 8시 이전에 PR(Pull Request)를 작성해주세요.

3. 일주일에 한 번 의견 공유시간 갖기 💬

일주일에 한 번, 스터디원들과 함께 모여 그 주에 학습한 내용들에 대한 의견을 공유합니다. 

4. PR 템플릿에 맞게 작성 부탁드립니다.

5. 지각, 내용 숙지 미숙 등에 이유로 소정에 벌금이 발생할 수 있습니다.

주 한번 확인시에 지각, 내용 숙지 미숙 시엔 1만원에 벌금이 발생합니다.

📚 스터디 커리큘럼

💡 개발상식

  • 좋은 코드란 무엇인가? ✅
  • 객체 지향 프로그래밍이란 무엇인가? ✅
  • RESTFul API 란? ✅
  • TDD 란 무엇이며 어떠한 장점이 있는가? ✅
  • 함수형 프로그래밍이란? ✅
  • MVC 패턴이란 무엇인가? ✅
  • Git 과 GitHub 에 대해서 ✅

💡 자료구조

  • Array vs Linked List ✅
  • Stack and Queue ✅
  • Tree ✅
    • Binary Tree ✅
    • Full Binary Tree ✅
    • Complete Binary Tree ✅
    • BST (Binary Search Tree) ✅
  • Binary Heap ✅
  • Red-Black Tree ✅
    • 정의
    • 특징
    • 삽입
    • 삭제
  • Hash Table ✅
    • Hash Function
    • Resolve Collision
      • Open Addressing
      • Separate Chaining
    • Resize
  • Graph ✅
    • Graph 용어 정리
    • Graph 구현
    • Graph 탐색
    • Minimum Spanning Tree
      • Kruskal algorithm
      • Prim algorithm

💡 네트워크

  • GET, POST 방식의 차이점 ✅
  • TCP 3-way-handshake ✅
  • TCP 와 UDP 의 차이점 ✅
  • HTTP 와 HTTPS 의 차이점 ✅
    • HTTP 의 문제점들
  • DNS round robin 방식 ✅
  • 웹 통신의 큰 흐름

💡 운영체제

  • 프로세스와 스레드의 차이
  • 스케줄러의 종류
    • 장기 스케줄러
    • 단기 스케줄러
    • 중기 스케줄러
  • CPU 스케줄러
    • FCFS
    • SJF
    • SRT
    • Priority scheduling
    • RR
  • 동기와 비동기의 차이
  • 멀티스레드
    • 장점과 단점
  • 프로세스 동기화
    • Critical Section
    • 해결책
  • 메모리 관리 전략
    • 메모리 관리 배경
    • Paging
    • Segmentation
  • 가상 메모리
    • 배경
    • 가상 메모리가 하는 일
    • Demand Paging (요구 페이징)
    • 페이지 교체 알고리즘
  • 캐시의 지역성
    • Locality
    • Caching line

💡 데이터베이스

  • 데이터베이스

    • 데이터베이스를 사용하는 이유
    • 데이터베이스 성능
  • Index

    • Index 란 무엇인가
    • Index 의 자료구조
    • Primary index vs Secondary index
    • Composite index
    • Index 의 성능과 고려해야할 사항
  • 정규화에 대해서

    • 정규화 탄생 배경
    • 정규화란 무엇인가
    • 정규화의 종류
    • 정규화의 장단점
  • Transaction

    • 트랜잭션(Transaction)이란 무엇인가?
    • 트랜잭션과 Lock
    • 트랜잭션의 특성
    • 트랜잭션의 상태
    • 트랜잭션을 사용할 때 주의할 점
  • Statement vs PreparedStatement

  • NoSQL

    • 정의
    • CAP 이론
      • 일관성
      • 가용성
      • 네트워크 분할 허용성
    • 저장방식에 따른 분류
      • Key-Value Model
      • Document Model
      • Column Model
  • DBMS 는 어떻게 트랜잭션을 관리할까?

💡 Design Pattern Link

  • Singleton

💡 Algorithm (알고리즘) Link

  • 손코딩 및 코딩 테스트 대비 => 대부분의 내용이 코드이기 때문에 별도의 Java Algorithm Training Repository에 저장합니다.
  • 코딩 테스트를 위한 Tip
  • 문제 해결을 위한 전략적 접근
  • Sorting Algorithm
  • Prime Number Algorithm

👯 스터디원

백종현 (iOS 개발자)

임지원 (Back-end 개발자)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published