Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

dev-team-study/cs-study

Open more actions menu

Repository files navigation

CS Study

기술 면접 대비를 위한 CS 스터디를 진행합니다.


👾 스터디 멤버

황창현 이현호 김범석 조재현 홍혁준

⛳ 스터디 진행 방식

1회차

항목 내용
기간 2023년 10월 11일 ~
장소 온라인 게더타운, 오프라인 강남역
요일 및 시간 매주 월요일, 수요일, 금요일 오전 10:00 ~ 11:00 (약 1시간)
방식 각 CS 과목의 키워드에 해당하는 지식을 학습하고, 자주 나오는 면접 질문의 답변을 정리한다.
매 스터디 마다 면접자 2명을 무작위로 뽑고, 나머지 인원이 면접관이 되어 모의 면접을 진행한다.
무단으로 불참하거나, 스터디 시작 전까지 PR을 업로드하지 않을 경우 벌금 3,000원을 납부한다.
한 달에 3회 이상 무단 불참 시, 스터디에서 퇴장 당할 수 있다.

2회차

  • 2회차에 키워드 일부 추가
  • 방식은 1회차와 동일하나 조금 더 Deep하게 공부하며 질문의 수준을 높임
항목 내용
기간 2024년 2월 6일 ~
장소 온라인 게더타운
요일 및 시간 매주 화요일, 금요일 오전 10:00 ~ 11:00 (약 1시간)
방식 1회차와 동일

📋 각종 컨벤션

📁 패키지 구조

Cs-study
    ├── database
    |   └── 01_관계형_데이터베이스
    |       ├── README.md => 당일에 나온 모든 질문 아카이빙
    |       ├── 범석.md
    |       ├── 창현.md
    |       └── ...
    ├── network
    |   └── ...
    ...

📍 커밋 및 PR

  1. 커밋 메시지

    {과목} {내용} 문서 작성(수정) [이름]
    
    • 작성 예시) DB 01_관계형_데이터베이스 문서 작성 [황창현]
    • 수정 예시) DB 01_관계형_데이터베이스 문서 수정 [황창현]
  2. PR

    {과목} {내용} 제출 [이름]
    
    • PR 예시) DB 01_관계형_데이터베이스 제출 [황창현]

📌 키워드

1️⃣ 데이터베이스(DB)

  • 관계형 데이터베이스
    • 데이터베이스와 파일시스템의 차이
    • 관계형 데이터베이스의 개념과 장단점
    • DDL, DML, DCL, TCL
    • Key
  • MySQL 아키텍처
    • innodb
    • 언두로그
    • 쿼리동작 방식
  • Join
  • 이상 현상과 정규화
  • 트랜잭션
    • 트랜잭션 개념
    • ACID
    • Commit, Rollback
    • 트랜잭션 격리수준
    • LOCK, 교착상태
  • 인덱스
    • 인덱스 개념
    • 인덱스 종류
    • Clustered index, Non-Clustered index
    • B-Tree 인덱스
    • 인덱스 자료구조
  • 옵티마이저
  • 실행계획
  • Master/Slave
  • Sharding
  • NoSQL
    • NoSQL의 개념
    • RDB VS NoSQL
    • Redis 동작원리

2️⃣ 네트워크 (Network)

  • 네트워크 레이어
    • OSI 7계층
    • TCP/IP 4계층
    • IP
      • IPv4 vs IPv6
      • subnet
      • CIDR
  • 통신
    • TCP
      • 흐름제어, 혼잡제어, 오류제어
      • 3-way-handshake, 4-way-handshake
    • UDP
    • HTTP
      • HTTP status code
      • HTTP method
      • HTTP 1.1, 2.0, 3.0
    • HTTPS, SSL/TSL
    • DNS
    • 기타 : socket, STOMP, SMTP (프로젝트에서 사용한 경우)
  • Web
    • Web Server vs WAS
    • Web Server
      • apache vs nginx (동작원리)
      • SSL offloading
      • reverse proxy
      • load balancing
        • L7 vs L4
        • 알고리즘
    • Web cache
    • URI, URN, URL
    • Rest API
  • 보안
    • CORS
    • XSS
    • SQL Injection
  • 인증
    • cookie
    • session
    • JWT

3️⃣ Java

  • 객체지향
    • 4가지 특징
    • 5원칙 (SOLID)
    • 객체지향 vs 절차지향 vs 함수형 프로그래밍
  • JDK, JRE, JVM
    • 컴파일 과정
    • 컴파일 언어 vs 인터프리터 언어
    • JVM 메모리 구조
    • Garbage Collector 동작과정
      • STW(Stop-The-World)
      • Parallel GC, G1 GC, ZGC
    • Java8의 큰 특징 + Java11과의 차이점
    • Java21
      • Virtual Thread
  • Java 기초
    • 접근제어자
    • 클래스, 객체, 인스턴스 차이
    • Overloading vs Overriding
    • Primitive type vs Reference type
      • Call by Reference vs Call by Value
      • Wrapper Class
    • interface vs abstract class
    • Checked Exception vs UnChecked Exception
    • static
    • final
    • generic
    • stream, lambda
    • Reflection & Dynamic Proxy
  • Java 컬렉션
    • hashcode() & equals()
    • Thread Safe & Syncronized
      • Volatile
      • AtomicInteger
    • String
      • String vs StringBuffer vs StringBuilder
      • Immutable Object
      • String a = "" vs String a = new String("")
    • List
      • ArrayList vs LinkedList
    • Map
      • HashTable vs HashMap vs LinkedHashMap vs TreeMap
      • HashMap vs ConcurrentHashMap

4️⃣ 운영체제

  • 운영체제 소개
    • 운영체제 필요성
    • 운영체제 정의
    • 운영체제 역할
  • 운영체제 구조
    • 커널
    • 시스템 호출
  • 프로세스
    • 프로세스 개념
    • 프로세스 상태
    • 프로세스 제어 블록
    • 프로세스 문맥 교환
  • 스레드
    • 스레드 개념
    • 멀티스레드의 구조
    • 멀티스레드의 장단점
    • 멀티 프로세스 VS 멀티 스레드
  • CPU 스케줄링
    • 장기 스케줄링
    • 중기 스케줄링
    • 단기 스케줄링
  • 스케줄링 알고리즘
    • FCFS
    • SJF
    • Round Robin
    • SRT
    • Priority scheduling
    • Multilevel Queue
    • Multilevel Feedback Queue
  • 인터럽트
    • 인터럽트 개념
    • 동기적 인터럽트, 비동기적 인터럽트
    • 인터럽트 처리 과정
    • 인터럽트와 이중 모드
  • 프로세스 동기화
    • 공유자원, 경쟁상태, 임계구역
    • 피터슨 알고리즘
    • 뮤텍스
    • 세마포어
    • 모니터
  • 교착 상태(Deadlock)
    • 교착 상태 정의
    • 교착 상태 조건
    • 교착 상태 해결 방법
    • 식사하는 철학자 문제
  • 메모리 관리
    • 메모리 관리 필요성
    • 고정 분할 방식
    • 가변 분할 방식
  • 가상 메모리 개요
    • 가상 메모리 정의
    • 가상 메모리 필요성
    • 페이징 기법
    • 세그먼테이션 기법
  • 가상 메모리 관리
    • 요구 페이징
    • 페이지 교체 알고리즘
      • FIFO
      • OPT
      • LRU

5️⃣ Spring

  • Servlet
    • 개념
    • tomcat
    • filter
    • servlet container
    • 동작과정
  • Spring 기본
    • Spring vs Spring MVC vs Spring Boot
      • MVC1 vs MVC2
    • dispatcher servlet
    • IoC
    • DI
    • Bean, Component
      • @Component @Service @Controller
      • 생성주기
      • 프로토타입 빈
    • Container
    • VO vs DTO vs DAO
  • Spring 심화
    • AOP
      • Spring AOP 어노테이션
      • JDK Dynamic Proxy
      • CGLIB
    • interceptor
      • filter와 차이점
    • Spring 전체 동작과정
  • JPA
    • JDBC, Spring JDBC
    • Sql Mapper(MyBatis), ORM
    • @Transactional
    • JPA, Hibernate
    • 영속성 컨텍스트
    • 즉시/지연 로딩
    • 프록시
    • 고아객체
    • 단뱡향/양방향 매핑
    • N + 1 문제
  • 테스트
    • DDD, TDD
    • Junit4 vs Junit5
    • 단위, 통합, 인수 테스트
    • stub, mock
    • SpringBoot 계층별 테스트 방법
    • 테스트 커버리지 (JACOCO)
  • 기타
    • 2.x.x와 3.x.x 버전 차이

About

기술 면접 대비를 위한 CS 스터디

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.