A terminal-based Python game that simulates interview-style coding practice.
You play through 10 scenarios at a selected difficulty level:
- easy
- medium
- hard
Each scenario is broken into step-by-step interview questions with optional hints.
- 10 random scenarios per session
- Three gameplay modes (Classic, Practice, Code Write)
- Three difficulty levels
- Separate question banks for Python, Java, and C#
- 125 prepared scenarios per level for each language
- Heart system (mistakes cost hearts)
- Streak bonuses (+5 points every 3 correct answers in a row)
- Per-category performance breakdown
- Persistent leaderboard stored in JSON
- Hint tracking
- End-of-round continue option that keeps your score and stats
- Early quit and save support
- Resume saved game on next launch
- Python 3.9+ (uses modern type hints)
From the project root directory:
python3 Whiteboarding_Interview- A / B / C / D: choose an answer
- H: show a hint for the current step
- Q: quit early, save progress, and exit
In Code Write Mode:
- Type your code answer directly (instead of selecting A/B/C/D)
- H: show a hint
- Q: quit the current drill and return/save as prompted
- Enter your name.
- Choose a difficulty level.
- Complete 10 interview scenarios.
- For each step:
- Answer with A, B, C, or D
- Type H to view a hint
- Type Q to quit early and save your progress
- Review your final score, category breakdown, and leaderboard placement.
- At the end, the game says "Thank you for playing" and asks if you want to continue.
- If yes, you play another round with your current score/stats preserved.
- If no, the game says "Goodbye" and exits.
Main menu modes:
- Classic Mode: 10 random interview scenarios
- Practice Mode: choose a topic and answer 5 multiple-choice questions
- Code Write Mode: choose a topic and type code answers for 5 questions
- If you quit with Q during a step, the game saves your place.
- On next launch, if a save exists, you can resume from where you left off.
- If you choose not to resume, the old save is cleared and a new game starts.
- Save data includes your score state, category stats, selected scenarios, and step position.
- Each correct step: +10 points
- Every 3-step correct streak: +5 bonus points
- Incorrect step: lose 1 heart
- Perfect scenario: regain 1 heart (up to max hearts)
- Hints are tracked and shown in leaderboard stats
The game saves top scores in:
- whiteboard_leaderboard.json
Stored fields include:
- player name
- score and possible score
- percent
- level
- hints used
- Whiteboarding_Interview: main game script
- whiteboard_leaderboard.json: auto-generated leaderboard data file
- whiteboard_save.json: auto-generated in-progress save file used for resume
- The game includes 125 prepared scenarios per selected level and language.
- Scenario prompts and options are randomized to keep practice fresh.