Skip to content

coder4ever2/technical-challenge-lrucache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Shopify Technical Challenge

A Java project for the Shopify Technical Challenge interview process.

Project Structure

technical-challenge/
├── pom.xml                          # Maven configuration
├── README.md                        # This file
└── src/
    ├── main/
    │   └── java/
    │       └── com/
    │           └── shopify/
    │               └── App.java     # Main application class
    └── test/
        └── java/
            └── com/
                └── shopify/
                    └── AppTest.java # Unit tests

Prerequisites

  • Java 17 or higher
  • Maven 3.6 or higher

Building the Project

# Clean and compile
mvn clean compile

# Run tests
mvn test

# Package the application
mvn package

# Run the application
mvn exec:java

Running the Application

Using Maven

mvn exec:java

Using JAR file

# First build the JAR
mvn package

# Then run it
java -jar target/technical-challenge-1.0-SNAPSHOT.jar

Testing

The project includes comprehensive unit tests using JUnit 5:

# Run all tests
mvn test

# Run tests with verbose output
mvn test -X

Project Features

  • Java 17: Uses the latest LTS version of Java
  • Maven: Modern build tool with dependency management
  • JUnit 5: Modern testing framework
  • Comprehensive Testing: Well-documented test cases
  • Executable JAR: Can be packaged and run independently

Development

Adding New Classes

  1. Create new Java files in src/main/java/com/shopify/
  2. Create corresponding test files in src/test/java/com/shopify/
  3. Follow the existing naming conventions and documentation patterns

Code Style

  • Use Java 17 features where appropriate
  • Include comprehensive JavaDoc comments
  • Write tests with clear documentation of purpose and expected behavior
  • Follow standard Java naming conventions

License

This project is part of the Shopify Technical Challenge interview process.

About

LRUCache implementation with comprehensive memory constraint tests

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages