Yes, you have a good point. Thank you for bringing it up.
The calculation that you have done is logical and good enough to be presented in an interview, and it seems to work best if we have a uniform distribution of requests during the day. Dividing per-day read requests and uploads equally in each second of the day gives us a uniform distribution of requests, which is the ideal case.
However, the formula we presented assumes that all daily active users are concurrently requesting and that each user generates one request per second. It covers the request load during peak hours. But of course, besides peak hours, our servers will mostly be idle. And for this, we can use the elasticity concept for resources, as we acquire resources when needed and give back resources to the provider when there is no need.
Your method and our method can be considered two ends of the estimation spectrum—yours is like the best case, and ours is like the worst case. Ideally, in an interview, a candidate can present both.
Our number of servers calculation does not assume the request size. We assume that, on average, our single blob store server handles 500 requests per second. There is a separate calculation for bandwidth and storage.
We are open to any other questions or concerns. Thanks for such constructive feedback.