A collection of hands-on coding interview projects organized by language and interview format. Each project is a self-contained codebase with intentional issues, gaps, and areas for improvement — giving interviewers realistic scenarios to test candidates.
- Interviewer picks a project and 1-2 tasks from its
INTERVIEW_TASKS.md - Candidate clones the repo, explores the codebase (~10 min)
- Live coding — candidate works through the assigned tasks while explaining their thought process
| Language | Format | Project | Stack | Status |
|---|---|---|---|---|
| Java | Pair Programming | Bookstore API | Spring Boot 4, Java 25, H2, JPA | Done |
| Java | Pair Programming | Todo API | Spring Boot 4, Java 25, H2, JPA | Done |
| Java | Pair Programming | Delivery Food System | Spring Boot 3.4, Java 21, MongoDB, Kafka | Done |
interviews/
├── java/
│ ├── pair-programming/
│ │ ├── bookstore-api/
│ │ ├── todo-api/
│ │ └── delivery-food-system/
│ ├── take-home/
│ └── system-design/
├── python/
│ ├── pair-programming/
│ └── take-home/
└── typescript/
├── pair-programming/
└── take-home/
- README.md — setup instructions, endpoints, architecture overview
- INTERVIEW_TASKS.md — tasks organized by level (Junior / Mid / Senior) with descriptions, acceptance criteria, hints, and time estimates
- Working codebase — with intentional issues baked in for candidates to find and fix
Each project is self-contained. Navigate to its directory and follow the README:
cd java/pair-programming/bookstore-api
./mvnw spring-boot:run- Let candidates explore the codebase for 10 minutes before assigning tasks
- Pick 1-2 tasks matching the candidate's level
- Encourage candidates to talk through their approach before coding
- For senior candidates, focus on trade-off discussions as much as implementation
- Each project has a reference implementation candidates can learn from