We appreciate your interest in the Strategy subteam and UBC Solar!
To evaluate how well you can problem-solve and interact with some prerequisite knowledge for this role, we have designed an online assessment for you.
If selected, you will be questioned during the interview about your solution to gauge how effectively you can defend and explain technical solutions.
For this assessment, we want you to simulate how fast a disk might roll down an incline. You may assume that the disk is uniform, and begins rolling from rest at the top without slipping. Air resistance may be neglected. Please provide at least two test cases for this function.
Your task is to write a function that returns the disk's velocity after it has reached the bottom of the rough incline.
The input to this function is described in the disk.py
file and is as follows:
- Height: the height of the incline (meters)
- Mass: the mass of the ball (kilograms)
- Length: the length of the slope (meters)
- Incline: the angle of the slope (degrees)
- Radius: the radius of the disk (meters)
- Coefficient of kinetic friction: effective kinetic friction coefficient of the slope's surface
Your submission does not have to be perfect. However, you should adhere to standard good coding practices, with bonus points for use of idiomatic Python and following Python best practices.
While Python is the preferred language for your response, we will equally consider other general purpose languages. In addition, otherwise exceptional candidates that are not sufficiently familiar with computer programming to complete this assessment may submit an explanation of their solution in words for consideration.
If you are using Python, you may use any part of the Python standard library, such as the math
library, but you should not import or use any external dependencies.
You may use some or all of the parameters available. At the very least, you should utilize the height
parameter in your solution.
In order to provide your submission, please complete one of the following:
- You may paste the contents of your
disk.py
, or the text file you produced as a response to this assessment, in the application form! - Fork this GitHub repository, complete the
disk.py
file, commit and push your solution, and provide a link to your fork of this repository with your completed solution in the application form.