sbt "run <inputFile>"
Example:
sbt "run AddressBook"
The program simulates the presence of a repository layer, even if it's in memory.
The service layer delegates the repository for trivial operation like finding the oldest person or counting by gender, whilst keeps for itself what requires some business logic, like calculating the age difference
- In order to simplify, if the data is corrupted the repository will behave like there is no data
- There are no persons with the same name in the addressbook
Your task is to develop a small application. We need you to build your application in your own GitHub repository. Please do not fork our repository to create your project. Once you are done, send us a link to your repository.
Please allow yourself at least 1 hour of uninterrupted time for this task, but feel free to spend as much time on the task as you like and make the solution and the code as perfect as you like.
We should be able to run your program with a single command. The program should print the answers to the questions and then exit. The answers should be in the following form:
<question number>. <answer>
You will be submitting an application to be reviewed by a group of peers, this is a good chance to showcase your technical skills. Our expectation is that you will submit code that you feel best reflects your skills and that you would be happy to put into a production environment.
Your application needs to read the attached AddressBook file and answer the following questions:
- How many males are in the address book?
- Who is the oldest person in the address book?
- How many days older is Bill than Paul?
Some insights into what we'll be looking for (and what we will not):
- Feel free to use any dependency management and build tools eg maven or gradle
- Please do not use database, we are more interested in your programming skills than your SQL skills
- Feel free to commit as often as you'd like. The more commits the better! Please commit at least once within the first hour
- It's better to complete 1 task than to start 3
- We will be looking at how you approach the task (e.g. how you break it into sub-tasks) and how you structure your code to answer the questions
Good Luck!z