Problem-solving strategy for System Design

Benjamin Landry
2 min readJan 6, 2021

--

https://media.geeksforgeeks.org/img-practice/banner/system-design-live-thumbnail.png?v=1607279400

Why is it important to know how to solve System Design problems?

System design is the process of solving complex issues regarding architecture, data, and interfaces for a system. It is needed to develop a product. To bring any product from zero to 100 requires a solid system design, to allow your product to be delivered successfully to your customer.

A solid system design will minimize customer dissatisfaction.

How to solve a System Design Problem?

Determine the Purpose of the project

Determine the Requirements, Expectations, and Goals of the system

  • Includes functional requirements
  • Non-functional requirements
  • Extended requirements (secondary objectives given extra time or budget)

Fermize the Problem

  • Once you have determined the problem that you want to solve. Follow the following process:
  • Write the key terms that regard the problem
  • Write the smallest questions needed to solve the problem
  • Write assumptions made and facts found, regarding the smallest questions
  • This step involves researching for information, to solve the smallest questions
  • Write and perform calculations using the facts & assumptions
  • Generate a point form conclusion that provides an answer to the original problem

Define system APIs

  • What inputs and outputs are expected from the system

Define database schema

  • Make assumptions about the data that will be stored
  • Determine major data groups
  • Determine a key to access each major data group
  • Determine what information should be stored inside each major data group
  • Determine the kind of database that should be used to store the major data groups

Determine how to solve the main problem

  • Involves system design and algorithm knowledge

Then

  • Add additional features like data partitioning, cache, load balancing, security; to enhance the system design.

Conclusion

I hope this formulized strategy helps you to solve a system design problem in an interview or your place of work.

Resource

--

--

Benjamin Landry
Benjamin Landry

Written by Benjamin Landry

I spend my time dreaming about food, watching fictional characters go through adventures, and think of creative ideas to improve the future.

No responses yet