...

/

System Design: Troubleshooting a Buggy Application

System Design: Troubleshooting a Buggy Application

An example interview question on debugging a mobile app.

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 ...