I have a system design interview round at a FANNG company. I am wondering if anyone can give me tips on how to prepare for this. I am going over some of the basic concepts and commonly used practices, watching YT videos on system design and following a few blogs. It seems like the first thing during interview that one needs to start with are the requirements and then move to some number calculations, like storage, bandwidth etc. However I am not exactly sure what’s the point of calculating these numbers as for storage, people (for most videos I have seen) move to S3 (if there’s a blob storage) or some SQL/NoSQL DB regardless of what number comes up. And then use techniques like CDN to optimize latency. Am I missing something? In general it will be great if I can get some advice for preparation from experienced people here. This position is for a new grad, so I do not have much experience with systems. TC: 🥜 #tech #systemdesign
Back of the envelope calculations / capacity estimations are required for configuration and allocation of resources and doing them in an interview indicates that your engineering decisions are really based on technical details and logic and not some assumptions or magic references. All cloud based resources are billed and knowing exactly how much to use/allocate is a skill that distinguishes a senior or staff engineer from junior. And not everyone uses S3 or AWS. GCP has a good market share too.
You need to be able to go beyond just stating what the design will look like. You need to be ready to discuss choices, pros/cons, tradeoffs…and if have time, talk through API design, schemas etc
DM me if you would like group study
Imo Alex Xu’s system design interview is better written and introduces the actual design process better than grokking does. Or just check out both but I’d start with Alex Xu. It’s fine for new grad - and then just jump into more detail on the reference material he mentions in each chapter to really understand the concepts. If you only remember one thing it’s - TRADEOFFS! All decisions you make you should be explaining the trade offs. For example - if you find yourself practicing and thinking “I will use Cassandra here” make sure you are ready to explain why you didn’t choose a RDBMS and why Cassandra is a better fit. Definitely too deep overall for new grad but skimming DDIA may still be helpful - especially one of the first few chapters where they talk about SQL vs NOSQL modeling and when you’d use one or the other. Good luck!
Thank you! Really appreciate your insights.
Please DM me , i built a AI interviewer for system design interviews and i will love to see your feedback.
Can I ping you too would you be willing to share ?
try intervu.co.
buy an ad
Buy “Grokking the system design interview” from educative
Yep, heard about this one. Will get it.