Congratulations for making it to the next round! We’re really excited to meet you and in order for us to better understand your technical skills - we’d like you to complete a task for us.
- Use any combination of web technologies to complete the task.
- All code should be authored by the applicant: do not use game engines, physics engines or 3rd party libraries.
- Submit in a format that is easy for us to run / inspect from the browser.
- Your code should be written as if it were going to be deployed today - i.e. using standard technologies commonly supported by most current browsers.
- You will be evaluated both on your implementation choices and the quality of your code; so please ensure code is:
- well structured
- extensible
- testable
- readable
- commented
- etc...
- You should include some tests for your code.
- Any 3rd party code (at all) should be clearly attributed.
Ideally, create a public repository and share the link with us.
If you choose to make the repo private, please make sure that you make an engineer from H4 the owner so we can internally reshare it with the rest of the people who'll be reviewing the code. If you're not sure who to add as an owner, please contact the recruiter and they will tell you.
If all else fails, you can submit the exercise as a .zip, but using Github is perfered.
Stage 1: Whenever the user clicks on the page, a circle is ‘fired’ from the position being clicked at a random speed and angle. Please ensure that your solution handles multiple balls being fired and bouncing at the same time.
Stage 2: When the projectile reaches the bottom of the browser window it should bounce, and eventually come to a stop.
Stage 3: Submit
Bonus: Any relevant tooling, minification and automation of the workflow.