Spinny(India) | Round 3 | Design Truecaller

1st Round : 2 Easy LC questions

2nd (LLD Round) : Design StackOverflow

3rd Round (HLD round)
Interviewer started with some Srping Boot questions; then asked me to design truecaller with following constraints

  1. 2 servers only
  2. Unlimited storage on servers
  3. 2 GB Ram on each server

System should be both available and consistent.

My initial thought was to to store data in file on both the servers; writes should be done on both the servers; read can be redirected to anyone(using LB). Use available ram as cache; data can stored according to following format on a file -
PhoneNumber | Name | Timestamp

There were some follow up questions asked to which i had no answer (or not optimal answer interviewer was looking for); if anyone reading this post has please post in comments.

  1. What will happen to writes if one of the two server goes down; how will other server be consistent once it's up.
  2. How will search work in case of cache miss
  3. How will system work in case downstream service is down (i releazed later that there is no downstream; it's kind of monolith system). But this was question was asked before also; if one is working on microservices what will happen to overall system if downstream service goes down.

Result : Rejected

Comments (2)