Skip to main content

Debugging round interview questions


Debugging round interview questions with answers. These are real questions asked in real interviews. 


1. When you come in the morning, SLA has increased for the job searching portal (website). It was fine till today morning. How are you going to debug it?

There is a matrix that shows service and it’s SLA. What are the steps you are going to take to debug this problem?


Answer: If the SLA has gone up suddenly it's definitely a critical issue. I will first report this problem to all stakeholders. I will check listed points to debug the problem -

1. Check what went in the latest release if that is one 

2. Check for nodes that are down. If there is an unusual number of nodes that are not reachable then report it to the infrastructure team.

3. Check for database repair which can cause slowness

4. Check its client-side delay or server-side delay to narrow down the issue

5. Check the geolocation of where the website is slow in order to narrow down

6. Check network bandwidth in the data center 


I would like to mention two examples from my experience -


Example 1. When the system was slow, I found out that Cassandra's operation was slow. This was found out by running a common query of data retrieval in TablePlus. There could be many reasons for this - 

1. Network bandwidth issue

2. Nodes might be running low on memory

3. Massive rows. 

4. Tombstones (Data deleted are not purged immediately on disk, it's saved as tombstones). Repair activity fixes tombstones. If the repair has been aborted, then there is a chance that huge tombstones are created.


Example 2: The infrastructure team was replacing some nodes with higher capacity. They had removed two nodes. But outdated upstream in Nginx was not removed.


Company: Amazon


2. A user is unable to upload any photo to Facebook. How do you debug this scenario?

  1. Check that only photo upload is failing by doing a generic post without any photo

  2. Check that uploading a photo to an album is a problem or attaching a photo to a post

  3. Check that problem is with drag and drop feature or with select and upload

  4. Check if its a problem with the image type (png, jpeg etc)

  5. Check the size of the image and make sure it has not exceeded the supported size

  6. Check if you have a poor network connection 

  7. Check by uploading a very very small image (to avoid network and size issue)

  8. Visualize the image and make sure it is not obscene 

  9. Check the name of the image if it contains any unsupported chars or spaces or Unicode

  10. Open the network tab and find out HTTP error code (see *)

  11. HTTP errors can help to find out it is a client-side issue or server-side issue

  12. If there is no error code then there is a possibility that photo is getting uploaded but not visible. 

  13. Try on different browsers / different OS

  14. Scope down if it is only on mobile/tablet/laptop

  15. Check there are any ajax related front end 403 errors


Company: Amazon


HTTP Error codes :

1xx indicates an informational message only

2xx indicates the success of some kind

3xx redirects the client to another URL

4xx indicates an error on the client’s part

5xx indicates an error on the server’s part


3. A user is unable to do video chat on google hangout(audio is working fine). How do you debug this scenario?

  1. Check if video option is turned on or not 

  2. Check hangout settings to enable/disable video option

  3. Check laptop/mobiles camera is working or not by checking some other app

  4. Check the HTTP error code on the network tab - Check there are any AJAX related FE errors

  1. Check for any automatic video turn off option when the bandwidth is low

  2. Check for network bandwidth and make sure it is good

  3. Check on different browsers (chrome/firefox/IE) 

  4. Check on different machines (Windows, Mac, mobile, tablet)

  5. Check by clearing browser cache or cookies

  6. Check if there was any recent update applied 


Company: Amazon


4. Gmail attachment not opening. How do you debug this scenario?

  1. Check downloaded file opening is not working or clicking on the attachment to view it on the browser is not working

  2. Go to the Network tab and find out HTTP error code

  3. Check if it is due to network / slow network related issue

  4. Check if its a phishing / malicious email

  5. Check if the file is incompatible / if zipped, not compatible 

  6. Check if it's corrupted 

  7. Dig more if we know what kind of file it is - zipped, image, doc video etc

  8. Check if you are opening is company environment, your company policy allow those kinds of attachments 

  9. Check your browser is compatible to view those files or not


Company: Amazon


Comments

Popular posts from this blog

Coding solutions - Amazon card, Data structure, Search and Sort

  Amazon card, Data structure, search and sort Hashmap # HASH MAP implementation in python class Node :     def __init__ (self, key, value) :         self.key = key         self.value = value         self.next = None class HashMap :     def __init__ (self) :         self.store = [ None for _ in range( 16 )]     def get (self, key) :         index = hash(key) & 15         if self.store[index] is None :             return None         n = self.store[index]         while True :             if n.key == key:                 return n.value             else :                 if n.next:         ...

Types of Software Testing

Different types of Software Testing: Functional Testing types: Unit Testing: Individual units or components of the software are tested. A unit is the smallest testable part of the software. This is usually not manual and mostly done by developers as they write code. Integration Testing: Testing of all integrated modules of the software to make sure modules once combines works as expected or not. The best example would be FE and BE integration testing. System Testing:  The entire system is tested as per the defined requirements. Black box testing performed by QA. End to End Testing: Same as System testing but mimics more real-world use cases and interactions with network, databases and real users. Most companies combine system testing and end-to-end testing as there is a very thin line between both. Sanity Testing: Sanity testing is performed by the QA team to determine SW which is released is ready to do a full round of testing or not. This is usually quick and covers basic func...