TomTom interview question

Algorithm, maintainability, OOP and data structures