https://systemdesignschool.io/problems/leetcode/solution?utm_source=neetcode
problem
- view question bank
- write/compile/submit code against test cases, get immediate feedback
- user submitted code is persisted
- for contests, thousands of people compete concurrently to solve questions
- users are ranked based on accuracy and speed
- leaderboard provides real-time updates during 2-hour contest
- after contest ends, leader is a frozen historical view
functional requirements
- User can browse list of problems, and problem info (descriptions, test cases)
- User can solve coding questions
- User can compete in a coding contest