Design Maps Navigator Client for different transportation types

Medium
Company: Premium
GoogleAmazon

Imagine you're building a Maps Navigator client that can provide directions and navigation information for various transportation types: driving, walking, cycling, and public transport. Each transportation type has its own specific routing logic and data requirements (e.g., driving needs road information, public transport needs schedules). The system needs to be extensible to support new transportation types in the future without modifying existing code extensively. Furthermore, certain navigation steps (like recalculating route) need to be done concurrently to avoid blocking the main thread. The existing client has some issues with tight coupling between the navigation logic and the UI, making it difficult to test and maintain. We need a robust and well-designed solution addressing these issues.

Requirements

Interview Simulation

Experience a realistic interview conversation. The interviewer will ask clarifying questions,and you'll reveal your understanding of the requirements.

Interviewer

Let's start by understanding the scope. What are the core functionalities this system needs to provide?

💡 Interview Tip

Identify the Actors (Who uses the system?) and their Use Cases (What are they trying to achieve?). Start with the 'Happy Path' scenarios.

Press ⌘ + Enter to submit

Premium Content

View detailed solutions.

UNLOCK PREMIUM