Looking for a job? Check out our open positions. You can also take a look at our engineering blog to learn more about the way we work.
For each level, write code that creates a new data/output.json
file from the data in data/input.json
.
An expected_output.json
file is available to give you a reference on what result is expected.
- Clone this repo (do not fork it)
- Solve the levels in ascending order
- Only do one commit per level and include the
.git
when submiting your test
You can have a look at the higher levels, but please do the simplest thing that could work for the level you're currently solving.
The levels become more complex over time, so you will probably have to re-use some code and adapt it to the new requirements. A good way to solve this is by using OOP, adding new layers of abstraction when they become necessary and possibly write tests so you don't break what you have already done.
Don't hesitate to write shameless code at first, and then refactor it in the next levels.
For higher levels we are interested in seeing code that is clean, extensible and robust, so don't overlook edge cases, use exceptions where needed, ...
Please also note that:
- All prices are stored as integers (in cents)
- Running
$ ruby main.rb
from the level folder must generate the desired output, but of course feel free to add more files if needed.
Once you are done, please send your results to someone from Drivy.
- If you are already in discussion with us, send it directly to the person you are talking to.
- If not, use the application form on every job listing.
You can send your Github project link or zip your directory and send it via email.
If you do not use Github, don't forget to attach your .git
folder.
Good luck!