Code and Concepts of System Design
https://www.geeksforgeeks.org/system-design-tutorial/
- Define Functional and Non Functional Requirements
- Functional: Define the features/functionality of the app
- Non Functional: Define Availability, Scalability, Latency, Consistency, Load
- Design Patterns
- Unit test, Integration test, System test
- OOP
- DSA Patterns
CSB - Creational, Structural and Behavioural https://refactoring.guru/design-patterns
https://www.geeksforgeeks.org/solid-principle-in-programming-understand-with-real-life-examples/
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
https://www.aboutamazon.in/about-us/leadership-principles
-
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.
-
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.
-
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.
-
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.
-
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.”
-
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.