Skip to content

ByteByteGoHq/ood-interview

Repository files navigation

Object-Oriented Design Examples

Companion code repository for "Object-Oriented Design Interview" by ByteByteGo.

Quick Start

git clone <repo-url>
cd oo-design

# Build all projects
./gradlew buildAll

# Test a specific project
./gradlew :vendingmachine:test
./gradlew :blackjack:test
./gradlew :tictactoe:test

Available Projects

Project Command
ATM System ./gradlew :atm:test
Blackjack ./gradlew :blackjack:test
Elevator System ./gradlew :elevator:test
File Search ./gradlew :filesearch:test
Grocery Store ./gradlew :grocerystore:test
Movie Ticket ./gradlew :movieticket:test
Parking Lot ./gradlew :parkinglot:test
Restaurant ./gradlew :restaurant:test
Shipping Locker ./gradlew :shippinglocker:test
Tic-Tac-Toe ./gradlew :tictactoe:test
Vending Machine ./gradlew :vendingmachine:test

Requirements

  • Java 17+ (Java 21 LTS recommended)

Project Commands

# List all available projects
./gradlew projects

# Build specific project
./gradlew :vendingmachine:build

# Test specific project
./gradlew :vendingmachine:test

# Build everything
./gradlew buildAll

# Test everything
./gradlew runAllTests

Running Tests

Tests are configured to always show output (stdout/stderr) and run every time (no caching). This makes it easier to see test results and debug issues.

# Run tests for a specific project
./gradlew :vendingmachine:test

# If you need to force re-run cached tests in other projects
./gradlew :projectname:cleanTest :projectname:test

About

Code for the OOD Interview Book by ByteByteGo. Available on Amazon:

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages