System Design

System design is the practice of outlining what it takes to build a service. Popular examples include questions like "How would you design a Twitter like service?" or "How would you implement a URL shortening service?". For these types of questions it's best to start by asking clarifying questions to get as much information about what you are being asked to build as possible.

The questions should focus on what kind of data needs to be stored, what types of functionality need to be accounted for, what will the traffic look like, will the traffic be consistent for modifying data as it is for viewing data, will you need to include the design for both the backend and front end of the system, etc?

General system design considerations for building a product are focused on what pieces/components will need to be in place, how they will interact with one another, and planning for the future of the product. Balacing tradeoffs of the various components and choosing which ones will best fit the application based on what is desired.

Learning resources #

General System Terms: #

System Components #

Share this by sharing it. Twitter me if you want to.

Published