How should one approach System Design questions during an interview?
Here's the step by step guide:
๐งต๐๐ป
System design interviews are generally open ended discussions. There's no one right answer.
The main focus in this round is to see your thought process and whether you'll be able to design a minimal system keeping future scale in mind and by following the standard principles.
Know that many interviewers deliberately make it hard to see how you approach a given problem.
You cannot possibly design a complex system in 1-2 hours which engineers usually take months to years to design, develop and build.
So this is how you should approach this round:
1. Clarify the requirements: As mentioned earlier the questions are generally very open ended. So you need to ask a lot of question to set the scope clear for the discussion.
Example: "Design an application like Twitter"
Twitter has a lot of features like:
- Post tweet
- Home timeline
- Profile timeline
- Analytics
- Likes
- Retweets
- Following
- Bookmark
- Trending etc
You get the idea!