Gaurav Sen
Here are 5 Tips for System Design interviews. They are helpful when preparing for a System Design interview.
1. Don’t get into details prematurely
2. Avoid fitting requirements to a set architecture in mind
3. Keep it simple, stupid! Remember to look at the big picture and avoid too many hacks when solving.
4. Have justifications for the points you make. Don’t use buzz words or half hearted thoughts in your design.
5. Be aware of the current solutions and tech practices. A lot of solutions can be purchased off the shelf which simplify implementation. You should be able to argue for a custom implementation with it’s pros and cons.
Have these on the back of your mind during you interview, and all the best!
Here are three major points evaluated during the interview:
1. Clarity of Thought
a. Express your thoughts in a clear manner.
b. Justify your decisions. Critical reasoning and argument are key to a successful software design.
c. When faced with a problem, use standard approaches to mitigate it. For example, say you are faced with an availability problem. State that replication and partitioning help increase availability in general, and move on to offer a solution.
d. Donβt make points without thinking them through. Half-hearted attempts at solving problems are frowned upon heavily.
2. Know about existing solutions
a. Stay up to date with the current solutions in the market. This includes products and design practices. If NoSQL is being adopted left right and center, you need to be aware of it.
b. Know when to pick a solution vs. building something custom. If you name a product, you should be (generally) aware of the features it provides.
c. Design practices enable you to meet custom requirements. Examples are decoupling systems, load balancing, sticky sessions, etcβ¦
3. Flexibility
a. Switch your targets as the requirements shift. If the interviewer wants to know about one particular part of the system, do it first.
b. Never have a set architecture in mind. We all try to fit requirements to a system, but only after it has been shaped by the initial ones. A rigid attitude creates a brittle architecture. It will break before you do.
c. Take a step back at times to make adjustments to the general architecture. Being focused on one part can narrow our vision and bloat those areas. There will be components which can be extracted out and extended to the rest of the system.
Looking to ace your next interview? Try this System Design video course! π₯
https://get.interviewready.io?source_id=tipsforsd
With video lectures, architecture diagrams, capacity planning, API contracts and evaluation tests. It’s a complete package.
Use the coupon code ‘earlybird’ for a 20% discount!
Source
Gaurav, in your paid course wouild you be adding more system design use cases, e.g. design Uber, design a monitoring system, design youtube, etc
Sir, I'm sitting for SDE role and they want me to design whatsapp clone, how to do that?
Excellent! Clearly, concise, and to-the-point. I recommend everybody preparing for a SD interview spend 8 minutes to watch this.
could you do the same with a real world example?
"Be aware of the current solutions and tech practices" and "Stay up to date with the current solutions in the market. " What online publications do you recommend to follow? Besides your interviewready course and your awesome youtube videos, of course! π
Thanks for the tips, helps a lot.
You might want to turn off auto-focus to avoid so much of focus breathing. F4 (or above), manual focus once before start should be perfect!
thanks for the crisp and smooth explanation.
Should we keep the fact in mind that interviewer might add an additional feature in between you're designing the system components?
I became subscriber without subscribing your channel π
Hi Gaurav/anyone who can answer my query,
I am a java full stack developer, for db I have enough knowledge of relational db but have only heard about redis/cassandra/no sql etc as just buzzwords. I can read about them to get an overview but i don't feel very comfortable mentioning them in interviews as, if they ask too many questions about it i'll be lost and that doesn't seem good. So what exactly should be my approach?
I dont understand this. Why I am supposed to sit in recruiters head and guess what his intents are?
Bro your voice is too gud
Thank you so much for this video, even if it's a few years later! I recently passed Google's phone interview (to my surprise too), and now I'm studying DSA and Systems design like never before! I tried a few years back to crack this interview process, but now it's much different π
You, sir, are awesome !
How do you guys talk about gateway and server nodes, etc, when all we get to do is simple programming?
Why don't you just tell us where and how you learned all this?
Hi gaurav, one question does system design interview have coding round?
Wish I had seen this before my Amazon interview today ππππ
Wow, such clear explanation, so many videos out there, but no one makes them sound simple as you do. Keep up the good work.
Hey Gaurav, these sessions are so helpful. Do you have plans to create content specific to product managers? For example, help product managers crack the system design interview.
Like ur T-shirt.
It's true when ur doing the thing you want to do.
Great video. very informative. Please find more videos like this on my channel.
You Will hit a million subscribers soon.
Very helpful tips, thank you Sir!
Thank you!! This was super helpful
Great tips. Hopefully, you started disabling auto-focus after this video π.
Outstanding video !!
The autofocus of the camera is really distracting.