- LeetCode는 코드를 제출하고 테스트 케이스를 통해 평가받는 온라인 플랫폼입니다. 💻
- 시스템 디자인 스쿨에서 LeetCode 디자인 문제를 무료로 연습하고 피드백을 받을 수 있습니다. 🧑🏫
- 기능 요구 사항에는 문제 목록 보기, 개별 문제 보기, 코드 제출 및 평가, 실시간 리더보드를 통한 콘테스트 지원이 포함됩니다. 🏆
- 비기능 요구 사항에는 최대 50,000명의 동시 사용자 지원, 리더보드 업데이트에 대한 10초 지연 시간, 코드 실행 보안이 포함됩니다. 🛡️
- API 디자인에는 문제 보기(개별 및 목록), 코드 제출, 리더보드 가져오기를 위한 엔드포인트가 포함됩니다. ⚙️
- 데이터베이스 디자인에는 사용자, 문제, 제출, 콘테스트, 리더보드와 같은 엔터티가 포함됩니다. 🗄️
- 코드 실행 보안을 위해 Docker 컨테이너를 사용하여 사용자 코드를 격리하고 리소스 제한을 설정합니다. 🐳