Tech Industry
Yesterday
1962
What is the appeal to NVIDIA?
2024 Presidential Election
Yesterday
1737
If you vote for Biden this year, don't complain about layoffs
Layoffs
Yesterday
14878
Google CFO confirms "large-scale" layoffs today (Apr 17)
Tech Industry
Yesterday
200
Why do people walk in the middle or wrong side of hallways, sidewalks, and parking lots?
Software Engineering Career
Yesterday
3076
28 terrorist worshipping idiots just got themselves fired and I've never been prouder to work at Google.
For system design, How do you come up with back of the envelope calculations - number of request/hits per sec, storage and bandwidth. how would you tie up those estimates to the design?
Input will be given to you, if not, ask or come up with an educated guess.
After making an educated guess, we have certain numbers. How will it affect the design of the system?
The numbers should inform you if the system is read or write heavy. You can then make a choice about the appropriate persistent data store, how wide your columns need to be (if using a relational database), how many servers you will need to account for traffic etc
Do interviewers even really care about this stuff? Isn't it more about the flow of the data? Also same goes for the data model itself...if I were to talk about the data model, I would start off super high level and then after I've done my sketch and presentation, then I would look for bottlenecks and scaling challenges. This would then require me to define data models and the associated DB table structures to get an idea of overall storage size and its impact on sharding/throughput. I would also dive deeper into reqs/sec etc for latency and bandwidth. Calculating this all up front seems like overkill. Does this sound reasonable to others?
Agree with this approach. Used the same successfully. It is good to understand the bandwidth calculations to know what are the factors leading to scaling.
Thanks. I don’t have a good success ratio when it comes to system design interviews. Do you have a general system design template when it comes to the approach?
what are you calculating and estimating exactly?
Added details to the question
You're getting too far into the weeds for a systems design interview. Calculating requests/hits is akin to trying to develop code for the app in the scenario. Too far into the weeds. They are ambigious for a reason. Its not to be super in depth, but to see how you respond to ambiguity and how you commit to your design, and how you present your design/solution to the panel/interviewer. Its HLDD but in person.