# Mint Starter Kit ## Docs - [Competency-Based Interviews](https://akshanshgusain.mintlify.app/behavioural/competency-interviews.md): OOP of Object-Oriented Design (Study Notes) - [Stories](https://akshanshgusain.mintlify.app/behavioural/stories.md) - [Development](https://akshanshgusain.mintlify.app/development.md): Preview changes locally to update your docs - [Binary Search Problems and Its Variants](https://akshanshgusain.mintlify.app/dsa/algos/binary-search.md) - [Recursion](https://akshanshgusain.mintlify.app/dsa/algos/recursion/recursion.md) - [Array](https://akshanshgusain.mintlify.app/dsa/ds/array.md) - [Bit Manipulation](https://akshanshgusain.mintlify.app/dsa/ds/bit-manipulation.md) - [Linked List](https://akshanshgusain.mintlify.app/dsa/ds/linked-list.md) - [Strings](https://akshanshgusain.mintlify.app/dsa/ds/strings.md) - [Computational Complexity](https://akshanshgusain.mintlify.app/dsa/fundamentals/computational-complexity.md): Computational Complexity refers to the study of the resources (primarily time and space) required by an algorithm to solve a given computational problem as a function of the input size. - [Python Language Fundamentals](https://akshanshgusain.mintlify.app/dsa/fundamentals/python.md): Computational Complexity refers to the study of the resources (primarily time and space) required by an algorithm to solve a given computational problem as a function of the input size. - [Speed Drills](https://akshanshgusain.mintlify.app/dsa/speed-drills.md) - [Back of the Envelope Calculation](https://akshanshgusain.mintlify.app/hld/case-studies/calc.md): How big does each part of my system need to be so it can handle the expected workload with acceptable performance and cost? - [Consistent Hashing](https://akshanshgusain.mintlify.app/hld/case-studies/consistent-hashing.md): To achieve horizontal scaling, it is important to distribute requests/data efficiently and evenly across servers. Consistent hashing is a commonly used technique to achieve this goal. - [Framework for System Design Interviews](https://akshanshgusain.mintlify.app/hld/case-studies/framework.md) - [Design Pastebin](https://akshanshgusain.mintlify.app/hld/case-studies/pastebin.md) - [API Gateway](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/api-gateway.md): An API gateway is a server that acts as the single entry point for all API calls from clients to backend services in a distributed system, especially in microservices architectures. in a service-oriented architecture - [Availability in Distributes Systems](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/availability-patterns.md) - [Cache Eviction Policies – "How You Decide What to Remove When Cache Is Full"](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/cache/cache-eviction.md): Eviction policies determine which cached entries to remove when the cache is full and needs space - [Cache Invalidation Strategies – "How You Keep Cache Up-to-date"](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/cache/cache-invalidation.md): Cache invalidation strategies focus on removing or updating stale data from the cache when the source of truth (e.g., DB) changes: - [Caching Strategies - "How and When You Cache"](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/cache/caching-strategies.md) - [Introduction to Caches](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/cache/intro.md) - [Redis In-Depth](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/cache/redis.md) - [CAP Theorem](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/cap.md): CAP Theorem - [Content Delivery Network](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/cdn.md): A content delivery network (CDN) is a globally distributed network of proxy servers, serving content from locations closer to the user. - [Consistency in Distributes Systems](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/consistency-patterns.md) - [Introduction](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/db/intro.md) - [Distributed NoSQL, Availability-Partitioning](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/db/nosql/ap-dbs.md) - [AWS DynamoDB](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/db/nosql/aws-dynamo-db.md) - [Distributed NoSQL, Consistency-Partitioning](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/db/nosql/cp-dbs.md) - [Document store](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/db/nosql/document.md) - [Graph Database](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/db/nosql/graph.md) - [Key-value store](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/db/nosql/key-value.md) - [NoSQL](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/db/nosql/nosql.md) - [Wide Column store](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/db/nosql/wide-column.md) - [Comparison Between SQL and NoSQL DataStores](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/db/sql-vs-nosql.md) - [Acid](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/db/sql/acid.md) - [Automatic Conflict Resolution](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/db/sql/conflict-resolution.md) - [Scale a relational database](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/db/sql/replication.md): There are many techniques to scale a relational database: master-slave replication, master-master replication, federation, sharding, denormalization, and SQL tuning. - [Scale a relational database](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/db/sql/scale.md): There are many techniques to scale a relational database: master-slave replication, master-master replication, federation, sharding, denormalization, and SQL tuning. - [Domain Name Servers](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/dns.md) - [Fallacies of Distributes Systems](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/fallacies.md) - [Load Balancer](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/load-balancer.md) - [Network and Communications](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/network/intro.md): Introduction to Network and Network Protocol - [Transport Layer Protocols](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/network/layer-4-protocols/tcp.md): TCP is a Layer 4 (Transport Layer) protocol, sitting just beneath the Application Layer and providing reliable communication services to protocols like HTTP, SMTP, or FTP. - [Application Layer Protocols](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/network/layer-7-protocols/http.md): Introduction to Layer 7 Protocol HTTP - [Application Layer Protocols](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/network/layer-7-protocols/intro.md): Introduction to Layer 7 Protocols - [Application Layer Protocols](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/network/layer-7-protocols/rest.md): Introduction to Layer 7 Protocol REST - [Application Layer Protocols](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/network/layer-7-protocols/rpc.md): Introduction to Layer 7 Protocol RPC - [Apache Kafka](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/queue/apache-kafka.md) - [Comparison Between SQL and NoSQL DataStores](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/queue/back-pressure.md) - [Message Queues](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/queue/intro.md) - [Message Queues vs Pub-Subs](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/queue/queue-v-pubsub.md) - [Reverse proxy](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/reverse-proxy.md) - [Scalability in Distributes Systems](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/scalability.md) - [What is Serverless?](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/serverless.md) - [Service Discovery](https://akshanshgusain.mintlify.app/hld/fundamentals/primer/service-discovery.md) - [Scalable System Design Patterns](https://akshanshgusain.mintlify.app/hld/fundamentals/scalability-patterns.md) - [Introduction 2](https://akshanshgusain.mintlify.app/index.md): Welcome to the home of your new documentation - [Abstraction](https://akshanshgusain.mintlify.app/lld/fundamentals/oop/abstraction.md): OOP of Object-Oriented Design (Study Notes) - [Composition](https://akshanshgusain.mintlify.app/lld/fundamentals/oop/composition.md): OOP of Object-Oriented Design (Study Notes) - [Encapsulation](https://akshanshgusain.mintlify.app/lld/fundamentals/oop/encapsulation.md): OOP of Object-Oriented Design (Study Notes) - [Inheritance](https://akshanshgusain.mintlify.app/lld/fundamentals/oop/inheritance.md): OOP of Object-Oriented Design (Study Notes) - [Polymorphism](https://akshanshgusain.mintlify.app/lld/fundamentals/oop/polymorphism.md): OOP of Object-Oriented Design (Study Notes) - [Command Pattern](https://akshanshgusain.mintlify.app/lld/fundamentals/patterns/Behavioral/command.md) - [Observer Pattern](https://akshanshgusain.mintlify.app/lld/fundamentals/patterns/Behavioral/observer.md): Behavioral Patterns - [Strategy Pattern](https://akshanshgusain.mintlify.app/lld/fundamentals/patterns/Behavioral/strategy.md): Behavioral Patterns - [Template Method Pattern](https://akshanshgusain.mintlify.app/lld/fundamentals/patterns/Behavioral/template-method.md) - [Abstract Factory Pattern](https://akshanshgusain.mintlify.app/lld/fundamentals/patterns/creational/abstract-factory.md): Creational Patterns - [Builder Pattern](https://akshanshgusain.mintlify.app/lld/fundamentals/patterns/creational/builder.md): Creational Patterns - [Factory Method Pattern](https://akshanshgusain.mintlify.app/lld/fundamentals/patterns/creational/factory-method.md): Creational Patterns - [Prototype Pattern](https://akshanshgusain.mintlify.app/lld/fundamentals/patterns/creational/prototype.md): Creational Patterns - [Singleton Pattern](https://akshanshgusain.mintlify.app/lld/fundamentals/patterns/creational/singleton.md): Creational Patterns - [Object-Oriented Design Patterns](https://akshanshgusain.mintlify.app/lld/fundamentals/patterns/intro.md): OOP of Object-Oriented Design (Study Notes) - [Adapter Pattern](https://akshanshgusain.mintlify.app/lld/fundamentals/patterns/structural/adapter.md): Structural Patterns - [Composite Pattern](https://akshanshgusain.mintlify.app/lld/fundamentals/patterns/structural/composite.md): Structural Patterns - [Decorator Pattern](https://akshanshgusain.mintlify.app/lld/fundamentals/patterns/structural/decorator.md): Structural Patterns - [Facade Pattern](https://akshanshgusain.mintlify.app/lld/fundamentals/patterns/structural/facade.md): Structural Patterns - [Dependency Inversion Principle (DIP)](https://akshanshgusain.mintlify.app/lld/fundamentals/solid/dip.md): SOLID Principles of Object-Oriented Design (Study Notes) - [SOLID Principles](https://akshanshgusain.mintlify.app/lld/fundamentals/solid/intro.md): SOLID Principles of Object-Oriented Design (Study Notes) - [Interface Segregation Principle (ISP)](https://akshanshgusain.mintlify.app/lld/fundamentals/solid/isp.md): SOLID Principles of Object-Oriented Design (Study Notes) - [Liskov Substitution Principle (LSP)](https://akshanshgusain.mintlify.app/lld/fundamentals/solid/lsp.md): SOLID Principles of Object-Oriented Design (Study Notes) - [Open-Close (OCP) Principles](https://akshanshgusain.mintlify.app/lld/fundamentals/solid/ocp.md): SOLID Principles of Object-Oriented Design (Study Notes) - [Single Responsibility (SRP) Principle](https://akshanshgusain.mintlify.app/lld/fundamentals/solid/srp.md): SOLID Principles of Object-Oriented Design (Study Notes) - [Quickstart](https://akshanshgusain.mintlify.app/quickstart.md): OMG! 3