Honestly I’m pretty humbled upon reading grokking system design. You guys in big companies working on scaling and organizing data on multiple databases and caching at all levels like it all seems overwhelming just to read. I can’t imagine implementing all this stuff :( and now I have a Facebook interview coming up and idk if I can learn all this stuff in time. So much to learn to get good. Yoe: 2 Tc: 98k
For 2 year of experience you will need to show some skills like : - requirements exploration - schema design, -entitiy design , - API design - componentization
Thanks these seem a lot more like what I’ve actually worked on/built at my current company
And think of quantitative estimations
I would not worry too much about large-scale system design interviews at your level. Know the basics, and understand where bottlenecks might occur. Have some ideas around methods of addressing those bottlenecks. DON'T throw out buzzword technologies that you don't fully understand in hopes of impressing your interview - this is guaranteed to backfire.
Thanks for the advice, I’d say I’m decent at stuff I’ve personally worked on, but is it ok if we mention stuff like using nosql instead of sql in some cases even if I haven’t personally used nosql but I have a basic understanding of it? And similar questions for other technologies I haven’t directly used but I know has an advantage in the specific design?
I’m using decent loosely I know I have a lot to learn even on stuff I’ve worked on.
I don't think you'll need to learn all this stuff in time. It's really hard to BS your way through this stuff if you've never done it. This is why I think the systems design interview is where they figure out your level to hire at. It really is something you just have to have done or had experience with. To me this is the "real world" stuff as opposed to the leet coding questions. Plus with only 2 years of experience I wouldn't expect you to know all this stuff especially if you were on teams where senior level people kept you away from architecture etc.. (which is how my first few years went) Best way to learn this stuff, for me at least, was to dive into things like Azure or AWS to understand distributed architecture. A guy once told me "get everything off the web servers" to which I responded "well where does it go then?". That's your starting point.
and where does it go then?