|
|
|
|
|
by ddimitrov
356 days ago
|
|
I've failed system design interview where they repeatedly asked me to design "for scale" but all the volume and latency requirements I could get from them could be handled by a single HA pair running a monolithic server+ external managed data store. They also seemed annoyed that I am asking them questions that are not part of the problem statement instead of getting down to drawing a fancy diagram. I'm sure they hired someone who drew a lot of boxes with cute logos because webscale. |
|
- In a fast system most of the latency will come from geographical distance, an HA pair can't serve the whole world with low latency.
- How do you handle new releases? You can do HA with 2 machines, or you can do safe rollouts with blue/green machines, but you can't do HA and safe rollouts with just 2 machines.
- What if you want to test a new release with 1% of traffic? 100 small machines might be preferable to 1 big machine, or 10 medium machines each running 10 instances, or whatever.
- What does the failover look like?
- You use an "external managed data store", but often the tricky bit is the data store. Externalising this may be the most practical option, but it doesn't communicate that you know how it needs to function.
Alternatively this might have just been a bad interview. Many are.