System Design: Troubleshooting a Buggy Application
An example interview question on debugging a mobile app.
We'll cover the following...
Question
You open your favorite ride-sharing application, and you don’t see any available cars. What could the issue be?
Background
Troubleshooting an application is a common question to probe both your technical aptitude and organizational abilities in a real-life setting. As with the metrics troubleshooting question, applying a rigorous, and structured approach is a must.
Solution approach
We’ll use the following structured approach for this question:
- Create a high level system diagram of the application.
- Dive deep into each component and enumerate possible root cases.
Sample answer
Let’s start by drawing the high level components of the system, along with an explanation of what each component does.
Now that we have the individual components of the system, let’s enumerate some potential issues with each.
Client application
-
There could be an issue with the parsing or rendering of the data received from the server.
-
The client application could be failing to send the necessary information (i.e., user location) to the server to receive a valid response.
-
There could be a significant startup performance ...