This is a pairing exercise for prospective full-stack/back-end developers with a focus on Java.
The candidate can guide the exercise and do as much as is feasible within the time limit (~40-45 mins).
The candidate can choose to use any tools(preferable IntelliJ), IDEs and editors they like and is expected to have some setup to be able to write Java code.
The pairing exercise is going to be run following Test-Driven Development (TDD). The candidate doesn't need to have previous TDD experience, but some understanding of what it is at high level can be helpful.
The main idea is to start by writing a failing test with the expected behaviour of the code, and then work on it until the test passes.
Process a list of invoices and produce the following statistics:
- Read a csv file and return a List of Invoice Objects
- Number of unpaid invoices per organisation
- Number of overdue invoices per organisation
- Number of paid invoices per organisation per month
The exercise should not require the use of external dependencies except default jdk libraries.