- 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