For system design interview: how can one exactly tell how many servers needed (say based on estimated bandwidtg, memory, QPS and storage estimates of an application)?
Exactly. This is a test of your ability to make reasonable assumptions based on the facts you have, state those assumptions, and then derive a sane estimate.
I never have a fixed number in mind during interviews, but if you tell me you can implement twitter on servers on 100 servers we might have a problem.
This is very easy:
- what’s the source of load on the system (e.g. rps)
- what resources does your system require for each unit (how much does a request cost)
- ....
- profit
How would you determine that if you weren’t in an interview setting for the same question?
Exactly. This is a test of your ability to make reasonable assumptions based on the facts you have, state those assumptions, and then derive a sane estimate. I never have a fixed number in mind during interviews, but if you tell me you can implement twitter on servers on 100 servers we might have a problem. This is very easy: - what’s the source of load on the system (e.g. rps) - what resources does your system require for each unit (how much does a request cost) - .... - profit