---
description: 리트코드 프로젝트 성능 & 부하 테스트 학습
---

# Leetcode Project

시스템 디자인 인터뷰를 준비하면서 느낀 가장 큰 어려움은 “머리로는 알겠지만, 손으로는 만들어본 적 없는 시스템”이라는 점이었습니다. 읽고 그려보는 것만으로는 설계 원리를 체득하기 어렵다고 판단했고, 실제로 설계, 구현, 성능 개선까지 경험해보는 것이 가장 효과적인 학습이라고 생각했습니다.

직접 LeetCode 같은 코딩 플랫폼을 직접 설계하고, 작은 MVP부터 시작해 성능 병목을 찾아내고, 문제를 구조적으로 해결하는 일련의 과정을 실습해보기로 했습니다.

이 글은 단순히 동작하는 서비스를 만들기 위한 기록이 아니라, **시스템 디자인 인터뷰에서 자주 등장하는 주제들**—예를 들면 **캐싱 전략, 페이지네이션 방식의 선택, 코드 실행 샌드박스 분리, 실시간 리더보드 설계, 메시지 큐와 컨테이너를 활용한 비동기 처리 구조** 등을 실제로 설계하고 실험한 과정입니다.

실무에서도, 인터뷰에서도 자신 있게 설명할 수 있도록 만들기 위한 일종의 **자체 시뮬레이션 기반 학습입니다.**



## **Contents**

* [implementation](leetcode-project/implementation "mention")**: 초기 프로젝트 구현**
* [optimization1-java-application](leetcode-project/optimization1-java-application "mention")**: 애플리케이션 내부 성능 측정 및 최적화**
* [k6-load-test](leetcode-project/k6-load-test "mention")**: 프로젝트 부하 테스트 및 최적화**
* [troubleshooting](leetcode-project/troubleshooting "mention")**: 프로젝트 트라블 슈팅**&#x20;
