Skip to content

himanshujaindev/system-design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 

Repository files navigation

System-Design

Code and Concepts of System Design

https://www.geeksforgeeks.org/system-design-tutorial/

HLD

  1. Define Functional and Non Functional Requirements
  2. Functional: Define the features/functionality of the app
  3. Non Functional: Define Availability, Scalability, Latency, Consistency, Load

LLP

  1. Design Patterns
  2. Unit test, Integration test, System test
  3. OOP
  4. DSA Patterns

Design Patterns

CSB - Creational, Structural and Behavioural https://refactoring.guru/design-patterns

SOLID Principles

https://www.geeksforgeeks.org/solid-principle-in-programming-understand-with-real-life-examples/

ACID Properties in DB

https://www.geeksforgeeks.org/acid-properties-in-dbms/

  • During database transactions, we need to ensure data consistency, integrity and reliability
  • Atomicity -> Entire transaction happens at once or doesnt happen at all
  • Consistency -> DB must be consistent before and after the transaction
  • Isolation -> Multiple transaction occurs indenpendently without interference
  • Durability -> Changes of a successful transaction are commited even if system fails

Amazon Principles

https://www.aboutamazon.in/about-us/leadership-principles

  1. Learn and Be Curious Leaders are never done learning and always seek to improve themselves. They are curious about new possibilities and act to explore them.

  2. Dive Deep Leaders operate at all levels, stay connected to the details, audit frequently, and are sceptical when metrics and anecdotes differ. No task is beneath them.

  3. Customer Obsession Leaders start with the customer and work backwards. They work vigorously to earn and keep customer trust. Although leaders pay attention to competitors, they obsess over their customers.

  4. Deliver Results Leaders focus on the key inputs for their business and deliver them with the right quality and in a timely manner. Despite setbacks, they rise to the occasion and never settle.

  5. Ownership Leaders are owners. They think long term and do not sacrifice long-term value for short-term results. They act on behalf of the entire company, beyond just their own team. They never say, “that’s not my job.”

  6. Insist on the Highest Standards Leaders have relentlessly high standards—many people may think these standards are unreasonably high. Leaders are continually raising the bar and driving their teams to deliver high-quality products, services, and processes. Leaders ensure that defects do not get sent down the line and that problems are resolved so they remain fixed.

About

Concepts of System Design

Resources

Stars

Watchers

Forks