Giter Club home page Giter Club logo

java-interview-prep's Introduction

Motivation:

At Stripe, our interview process has some interviews where you write code, typically on your laptop.

We've noticed that more often than not, we've had to spend a significant portion of the interview helping candidates setup a maven-based Java environment on their personal laptops.

We've created a (rather ad-hoc) maven project to help candidates determine if their laptops were setup to write Java, so interviews can be about evaluating the candidate, and not the way their environment is setup.

Getting Ready

If you can run these commands, your development environment is probably ready for Stripe's Java interview questions:

$ java -version
$ git clone [the project\'s URL]
$ cd [into the project]
$ mvn clean -e install
$ java -jar target/sample-HEAD-SNAPSHOT.jar

About This Project:

Dependencies & Configuration:

Don't read into the chosen libraries too much. We've added them to help alleviate two main problems that may be seen after maven is setup:

  • Maven works correctly with third-party dependencies
  • Maven's classpath is setup correctly

I prefer Gradle/Pants/Ivy/Makefiles/Bespoke Bash Scripts, do I need to use this?

If you know prefer different configuration files, that's awesome. Some interview questions may ask to implement something from nothing, and some may want to watch you interact with a pre-existing codebase. For the former, it doesn't matter what you use, as long as you're able to get things setup quickly.

Concerning the latter: Maven tends to be the most common format Java libraries are distributed as. Because of that, all pre-existing codebases we use in our interviews use maven. We aren't really specifically interested in how you write Maven project files, but want you to quickly get them up and running.

Useful References:

java-interview-prep's People

Contributors

shale-stripe avatar evan-stripe avatar georgevreilly-stripe avatar dependabot[bot] avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.