top | item 40641022

(no title)

zer0sand0nes | 1 year ago

The problem is that for senior+ interviews, you need to know things like cold starts, consistent hashing, dealing with different invalidations techniques for the cache, etc - the combinations seem infinite

discuss

order

fragmede|1 year ago

There's a lot of stuff to know! Senior+ isn't called that because some rando can memorize a couple of things in 5 minutes and ace the interview. It takes years to learn tons everything and get an intuition for things, and even then there's a bunch you still won't know.

The systems design interview is in knowing enough of the building blocks and being smart enough to put them together, and being able to discuss why put them together that way. There's no right answer, using a relational database to ingest log messages from a service is an acceptable answer to the right question, but you have to be able to sit there and explain the tradeoffs being made and when you would and wouldn't want to do that.

As you've noted, studying the questions won't help unless you memorize enough of the questions and get lucky. So get to know enough of the building blocks well so you can come up with a combination of them that's reasonable. All systems have tradeoffs, what's the optimal, least-bad solution? What are the considerations you're optimizing for. The system you'd build for a FAANG isn't the same system you'd build for a VC-funded company, isn't the same one you'd build for a boot-strapped company.