Below is a simple application that we need you to build in Xcode, written in Swift. Please note the following rules:
- Submissions must be a git repo, sent zipped via email (please don't post on github)
- We expect to see commits at sensible points in your progress
- Please DO NOT spend more than 2 hours on this exercise
On interview day you will be expected to solve and discuss similar tasks in Xcode in person in front of developers, if you find this task hard you will not pass our interview (and probably be very unhappy).
Now it's up to you! Solve this in any way you feel appropriate, no need for everything to be perfect, do your best to demonstrate your skill in the 2 hours (or less).
Welcome to the world of mobile ticketing! We're creating a brand new mobile application that allows users to select their fare before purchasing their bus tickets. This will consist of three screens:
- Rider type selection
- Fare type selection
- Confirmation
All of the data required for these screens comes from a single JSON response with the following format:
{
"Adult": {
"fares": [
{ "description": "2.5 Hour Ticket", "price": 2.5 },
{ "description": "1 Day Pass", "price": 5.0 },
{ "description": "30 Day Pass", "price": 100 }
],
"subtext": null
},
"Child": {
"fares": [
{ "description": "2.5 Hour Ticket", "price": 1.5 },
{ "description": "1 Day Pass", "price": 2.0 },
{ "description": "30 Day Pass", "price": 40.0 }
],
"subtext": "Ages 8-17"
},
"Senior": {
"fares": [
{ "description": "2.5 Hour Ticket", "price": 1.0 },
{ "description": "1 Day Pass", "price": 2.0 },
{ "description": "30 Day Pass", "price": 40.0 }
],
"subtext": "Ages 60+"
}
}
You've been tasked with creating these three screens and associated unit tests. Please make commits along the way using git and include any design notes in a README.md
in the root directory. We encourage that you ask any questions via email. Please make a few notes on what you would do given more time, or if being tasked with something similar in your job.