This is my submission for a technical assessment as part of a software developer position I applied for with Aurion. The challenge was to examine a rail network in an imaginary city represented as a weighted graph, and implement various pathfinding algorithms to fulfil different test cases. The cases consisted of following an exact route, finding all possible paths between stops under certain criteria, and finding the shortest path between stops.
Assessment instructions were sent as a MS Word document which I interpreted into a markdown file along with personal implementation details.
This attempt was developed across 12-15 October 2021 and immediately shared to the general public. An updated version with unit tests was released on 27 October 2021. A final version was released on 12 December 2021 based on suggestions from the hiring managers.
Submission
Execute node submission [input-path]
Unit Tests
Execute npm install
to download the unit testing suite, and then execute npm test
to perform the tests.
- Computerphile - Dijkstra's Algorithm
- GeeksForGeeks - Dijkstra's Algorithm
- maze-graph-pathfinding - Original work
- Fantasy Name Generators - Generic names for city and suburbs in assessment instructions.
- Mocha and Chai - Unit testing suite.
This submission is licensed under CC-BY 4.0. You can do whatever you want with it as long as attribution is given. I have been granted express permission by the hiring manager to share my submission. As I am completing this assessment as part of a recruitment program involving multiple companies, I have chosen to disclose the name of this particular company for clarification. I have taken care to reference any 3rd-party assets used in this project and they remain property of their respective owners.