If the system design interview has always been your achilles heel, this article is for you. It definitely used to be mine. Unlike coding interviews which are fairly unambiguous, there isn’t much material on preparing for the design interviews. Google searches on how to prepare inevitably take you to two main sources — the System Design Primer & Grokking the System Design interview. Like most others, I simply relied on these two sources for my preparation. However, no matter how many times I’d read these two, I just couldn’t nail the design interviews (although I did scrape through a couple). While these two sources have some merit & they should play a role in your system design preparation, they are inadequate.
I’m finally at a point where system design interviews don’t cause knots in my belly. There is some nervousness, of course, but also excitement derived from confidence. I can pass roughly 75% of my system design interviews at the T6 (staff engineer) level. I figured it out through a combination of trial & error and thoughtful deliberation.
Let me preface this by saying that acing the design interview will take time & deliberate practice. You just can’t cram your way through. No amount of grokking will let you ace this one (although it might allow you to clear the L4 bar).
Francis Bacon said “Some books are to be tasted, others to be swallowed, and some few to be chewed and digested.”
Translation: some books are to be read only in parts; others to be read, but not…