📘

6단계: 복습(Q&A)

학습하며 남긴 Q&A를 한 번에 모아 복습하는 단계

모듈형 학습 자동 정렬

🧠 모듈 개요

목표

  • 자주 헷갈리는 백엔드 핵심 개념을 Q&A 형식으로 빠르게 복습
  • 스프링, 데이터베이스, 운영/모니터링 등 영역별 질문을 한눈에 정리
  • 실무 문제 대응을 위한 참고 답변을 축적

활용 방법

  • 모르는 개념이 생길 때마다 Q&A를 추가하고, module: "qna"만 붙이면 이 페이지에 자동 정리됩니다.
  • 필요하면 태그(Spring, Database, Kafka, DevOps 등)로 필터링하여 빠르게 찾아봅니다.

📑 이 모듈의 학습 노트

Spring

WebFlux 구조 정리

Q1. Mono와 Flux의 차이는 무엇인가요? 답변 Mono: 0개 또는 1개의 데이터를 비동기로 처리하는 Publisher Flux: 0개 이상 N개의 데이터를 비동기로 처리하는 Publisher …

Spring WebFlux Reactor Reactive
Frontend

상태관리 비교 정리

상태관리 비교 정리 Q1. Redux와 Context API의 차이는 무엇인가요? 답변 Redux와 Context API는 모두 전역 상태 관리를 위한 도구이지만, 철학과 복잡도가 다릅니다. Context API …

React Redux Zustand
Database

SQL 성능 튜닝 정리

SQL 성능 튜닝 정리 Q1. Execution Plan (실행 계획)은 어떻게 읽나요? 답변 **Execution Plan (실행 계획)**은 DB 옵티마이저가 쿼리를 어떻게 실행할지 계획한 내용입니다. …

SQL Performance Join
Spring

Spring Transaction 관리 정리

Spring Transaction 관리 정리 Q1. @Transactional은 어떻게 동작하나요? 답변 @Transactional은 Spring AOP를 이용한 선언적 트랜잭션 관리로, 프록시 패턴으로 구현됩니다. …

Spring Transaction ACID
Spring

Spring Bean Lifecycle 정리

Q1. Spring Bean의 생명주기를 설명해주세요. 답변 Spring Bean은 컨테이너 시작 → 생성 → 의존성 주입 → 초기화 → 사용 → 소멸 단계를 거칩니다. 상세 생명주기: 1. 스프링 컨테이너 생성 ↓ …

Spring Bean Lifecycle
Reactive

Reactive Programming 개념 정리

Reactive Programming 개념 정리 Q1. Reactive Programming이란 무엇이고, 왜 필요한가요? 답변 Reactive Programming은 비동기 데이터 스트림을 선언적으로 처리하는 프로 …

Reactive Backpressure Publisher
Frontend

React 성능 최적화 정리

React 성능 최적화 정리 Q1. Virtual DOM은 어떻게 동작하나요? 답변 Virtual DOM은 실제 DOM의 가벼운 복사본으로, React가 UI 업데이트를 효율적으로 처리하기 위한 메커니즘입니다. …

React Performance Virtual DOM
Security

OAuth2 인증 구조 정리

Q1. OAuth2 인증 흐름을 설명하고, 4가지 Grant Type의 차이점을 비교해주세요. 답변 OAuth2는 인증(Authentication)이 아닌 인가(Authorization) 프로토콜입니다. 사용자가 …

OAuth2 인증 보안
Kafka

Kafka Partition 설계 정리

Kafka Partition 설계 정리 Q1. Kafka에서 메시지는 어떻게 Partition에 분배되나요? 답변 Partition 분배 방식은 메시지의 Key에 따라 결정됩니다. 3가지 분배 전략: 1. Key가 …

Kafka Partition Ordering
Kafka

Kafka Consumer Group 정리

Kafka Consumer Group 정리 Q1. Kafka Consumer Group이란 무엇이고, 왜 필요한가요? 답변 Consumer Group은 여러 Consumer가 협력하여 Topic의 메시지를 분산 처리 …

Kafka Consumer Group Rebalance
Java

JVM 내부 구조 정리

Q1. JVM의 구조를 설명해주세요. 답변 JVM은 크게 Class Loader, Runtime Data Area, Execution Engine으로 구성됩니다. …

Java JVM ClassLoader
Java

Java GC & 메모리 구조 정리

Q1. Java의 메모리 구조를 설명해주세요. Heap과 Stack의 차이는 무엇인가요? 답변 Java 메모리는 크게 Heap, Stack, Method Area, PC Register, Native Method …

Java GC Memory
Spring

예외 처리 전략 정리

Q1. @ControllerAdvice와 @ExceptionHandler를 사용한 글로벌 예외 처리를 설명해주세요. 답변 @ControllerAdvice는 Spring에서 모든 Controller에 대한 전역적인 예 …

예외처리 Spring ControllerAdvice
DevOps

Docker & Kubernetes 정리

Docker & Kubernetes 정리 Q1. Docker와 가상머신(VM)의 차이는 무엇인가요? 답변 **Docker (Container)**와 **VM (Virtual Machine)**은 모두 애플리케 …

Docker Kubernetes DevOps
Spring

DispatcherServlet 동작 흐름 정리

Q1. DispatcherServlet의 동작 흐름을 설명해주세요. 답변 DispatcherServlet은 Spring MVC의 Front Controller로, 모든 HTTP 요청을 받아 적절한 컨트롤러로 라우팅합 …

Spring Spring MVC DispatcherServlet
Database

DB 인덱스 최적화 정리

DB 인덱스 최적화 정리 Q1. B-Tree 인덱스는 어떻게 동작하나요? 답변 **B-Tree (Balanced Tree)**는 대부분의 RDBMS에서 사용하는 균형 잡힌 트리 구조의 인덱스입니다. 구조적 특징: …

Database Index B-Tree
Backend

동시성 제어 정리

Q1. 낙관적 락(Optimistic Lock)과 비관적 락(Pessimistic Lock)의 차이점과 사용 사례를 설명해주세요. 답변 동시성 제어는 여러 트랜잭션이 동시에 같은 데이터에 접근할 때 데이터 일관성을 …

동시성 Lock JPA
DevOps

CI/CD 개념 정리

CI/CD 개념 정리 Q1. CI/CD란 무엇이고, 왜 필요한가요? 답변 CI/CD는 **지속적 통합(Continuous Integration)**과 **지속적 배포(Continuous …

CI/CD Jenkins ArgoCD
Backend

캐싱 전략 정리

Q1. 캐싱의 기본 개념과 Cache-Aside, Write-Through, Write-Behind 전략을 설명해주세요. 답변 **캐싱(Caching)**은 자주 사용되는 데이터를 빠른 저장소(메모리)에 임시 저장하 …

캐싱 Redis Caffeine
Backend

API 성능 문제 해결 정리

API 성능 문제 해결 정리 Q1. Thread Dump는 어떻게 분석하나요? 답변 Thread Dump는 특정 시점의 모든 스레드 상태 스냅샷으로, 성능 문제 진단에 핵심적입니다. Thread Dump …

Performance API Thread Dump