CS study for interview
✏️ CS 면접 스터디
🌳 Rule
- 스터디는 매주 수요일 & 목요일 진행 (공휴일은 x)
- 학습내용은 자신이 이해한 내용을 설명하듯이 정리
- 학습한 CS는 마크다운으로 정리해서 PR을 생성하고, 주제에 대해 예상 질문을 Issue로 생성
- 다른 사람이 Issue로 만든 예상 질문에 답변을 남기고, 질문자는 해당 질문에 대한 모범 답변 작성
- 불참 5회시 퇴출
학습 주제
학습 주제 및 내용은 이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접을 참고했습니다.
📌 Data Structure
- [자료구조의 큰 그림]
- [배열과 연결 리스트]
- [스택과 큐]
- [해시 테이블]
- [트리]
- [그래프]
📌 Network
- [네트워크의 큰 그림]
- [물리 계층과 데이터 링크 계층]
- [네트워크 계층 - IP]
- [전송 계층 - TCP와 UDP]
- [응용 계층 - HTTP의 기초]
- [프록시와 안정적인 트래픽]
- [웹 서버와 웹 애플리케이션 서버]
- [소켓 프로그래밍]
📌 Database
- [데이터베이스의 큰 그림]
- [RDBMS의 기본]
- [SQL]
- [효율적 쿼리]
- [데이터베이스 설계]
- [NoSQL]
- [데이터베이스 분할과 샤딩]
📌 Web
- [HTTP 메소드 종류]
- [RESTful API 개념]
- [브라우저 작동 원리]
- [DOM 구조 이해]
- [이벤트 버블링과 캡처링]
- [이벤트 위임 기법]
- [CORS와 동일 출처 정책]
- [인증과 권한 부여 차이]
- [JWT 활용]
- [웹 성능 최적화 방법]
- [서버 사이드 vs 클라이언트 사이드 렌더링]
- [CSS 방법론 및 BEM]
- [크로스 브라우징 문제 해결]
- [PWA 개념]
📌 Java
- [JVM 개념 및 작동 원리]
- [Garbage Collection 이해]
- [Java Collections Framework]
- [OOP 원칙: Overriding vs Overloading]
- [접근 제어자 종류]
- [Wrapper Class와 기본 타입]
- [멀티스레딩 및 동기화 기법]
- [Java 8과 11의 주요 차이]
- [예외 처리 기법]
- [Functional Interface와 람다 표현식]
📌 JavaScript
- [JavaScript 기본 문법]
- [Event Loop 작동 원리]
- [Hoisting 개념]
- [Closure 이해와 활용]
- [this 키워드 이해]
- [Promise와 비동기 처리]
- [ES6+ 기능 (모듈, 템플릿 리터럴 등)]
- [JavaScript Scope 개념]
📌 Backend
- [Spring/Spring Boot 소개]
- [REST API 설계 및 구현]
- [JPA/Hibernate 데이터베이스 연동]
- [Spring Security: 인증 및 권한 관리]
- [테스트 주도 개발(TDD)와 JUnit]
- [Spring MVC 패턴 이해]
- [Bean Scope 및 의존성 주입]
- [AOP (관점 지향 프로그래밍) 기초]
📌 Frontend
- [React 기본 개념]
- [컴포넌트 설계 및 상태 관리]
- [Hooks 활용 (useState, useEffect 등)]
- [React Router를 통한 페이지 관리]
- [API 통신 및 비동기 처리]
- [웹 성능 관련 이슈]
📌 OS
- [운영체제의 큰 그림]
- [프로세스와 스레드]
- [동기화와 교착 상태]
- [CPU 스케줄링]
- [가상 메모리]
- [파일 시스템]
- [가상 머신과 컨테이너]
📌 Computer Architecture
- [컴퓨터 구조의 큰 그림]
- [컴퓨터가 이해하는 정보]
- [CPU]
- [메모리]
- [보조기억장치와 입출력장치]
- [GPU의 용도와 처리 방식]