Fundamental Questions Of System Design Interview
Question: How I Break A Big Problem Into Small Ones?
System design is to test how good you can lead the project.
Divide and conquer. Make reasonable assumptions.
Example: You’re asked to support logging feature for a popular mobile apps with 50 million users?
Don’t give up. Keep thinking and keep trying. Otherwise it indicates an attitude problem.
Why? Good leaders won’t give up for a frustrating problem.
Question: What If Large Scale Of Data Or Requests?
Question: What If Concurrent Requests?
Question: How Easy We Can Maintain The System?
Question: What Are Your Expertise In Current Topic?
No one imagine you are the super hero, and can know everything and solve the problem beautiful.
But what are your strengths? What different values you can bring to the team and project?
That matters for the hiring managers or future employer.
Question: What Are Reasonable Assumptions I Will/Can Make?
A good sense and understanding of business will help you stand out.
Question: What Are My Proposals To Solve The Problem(s)?
Your Approaches Indicate How Deep You Know About The Best Practice.
Question: What Similar Problems I have met before?
Original URL: https://architect.dennyzhang.com/design-fundamental