30 open-source projects similar to arpitbbhayani/system-design-questions, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
This project is a collection of educational resources and structured study materials focused on mastering distributed systems, backend infrastructure, and architectural patterns. It provides a comprehensive curriculum designed to help engineers understand the fundamental principles of building scalable, reliable, and high-traffic software systems. The repository serves as a reference for evaluating technical design decisions and preparing for architectural interviews. It covers a wide range of engineering competencies, including infrastructure planning, the analysis of common design trade-off
This project is a comprehensive educational resource and study guide focused on distributed systems architecture and backend infrastructure design. It provides a structured curriculum for mastering the principles of scalability, reliability, and performance required to design complex software systems. The repository distinguishes itself by offering a methodical approach to technical interview preparation, incorporating design patterns, architectural trade-offs, and spaced repetition tools to help users retain complex concepts. It emphasizes constraint-driven analysis, teaching users how to ev
This repository is a comprehensive resource for software engineering career development and technical interview preparation. It provides a structured collection of learning materials, algorithmic patterns, and system design guides designed to assist developers in mastering the core competencies required for professional engineering roles. The project distinguishes itself through a pattern-based content taxonomy that groups diverse technical challenges by underlying algorithmic strategies. This approach allows users to identify and apply reusable solutions during high-pressure assessments. It
This project is a comprehensive, community-driven knowledge repository designed to support software engineers in mastering distributed systems and architectural design. It functions as a structured compendium of engineering principles, providing a centralized index of patterns, trade-offs, and best practices required for building scalable and reliable software infrastructure. The repository distinguishes itself through a highly organized taxonomy that connects complex technical concepts into a cohesive learning path. It features a categorized collection of system design interview problems, ra
This project is a comprehensive educational resource focused on the principles, patterns, and trade-offs required to design scalable, reliable, and high-performance distributed systems. It provides a structured curriculum that covers the fundamental architectural strategies necessary for building modern software infrastructure, ranging from high-level system decomposition to low-level networking and data management. The repository distinguishes itself by offering deep dives into complex architectural patterns, such as microservices-based decomposition, event-driven communication, and command-
This project is a comprehensive study guide and reference repository designed to prepare software engineers for technical interviews. It provides a structured collection of fundamental computer science concepts, algorithm implementations, and system design principles, serving as a centralized resource for reviewing the core knowledge required for engineering assessments. The repository distinguishes itself by offering language-agnostic concept modeling and modular knowledge categorization, which allows candidates to navigate complex topics efficiently. It covers a broad spectrum of technical
This project is a comprehensive educational resource and curriculum focused on site reliability engineering, distributed systems, and infrastructure operations. It provides technical guides, a systems engineering course, and instructional manuals designed to teach the principles of managing large-scale computing environments. The curriculum covers high-level architectural design for scalability and resilience, including fault-tolerant infrastructure, high-availability patterns, and microservices decomposition. It emphasizes the practical application of site reliability engineering through the
This repository serves as a technical learning platform and study guide focused on low-level system design and distributed systems architecture. It provides educational materials and implementation examples designed to help engineers master the foundational components required to build scalable and reliable backend infrastructure. The project emphasizes the practical application of architectural patterns through the construction of essential software modules. By implementing building blocks such as in-memory caches, event-driven message buses, and rate limiters, users can analyze the internal
This project is a comprehensive learning resource and reference guide for software architecture and distributed systems design. It serves as a structured curriculum for engineers to study fundamental architectural patterns, scalability strategies, and distributed computing theory, specifically tailored to prepare for technical interviews and professional engineering roles. The repository distinguishes itself by providing a curated collection of industry-standard infrastructure tools and methodologies. It covers the selection and implementation of technologies for data storage, message brokeri
This project is a technical interview study guide and knowledge base designed for software engineering and AI roles. It provides curated learning paths and a collection of high-frequency questions to help candidates prepare for technical assessments. The resource includes specialized study guides for machine learning, covering supervised and unsupervised learning, computer vision, and natural language processing. It also serves as a system design reference, analyzing architectural patterns, scalability trade-offs, and distributed infrastructure components. Beyond technical theory, the projec
JavaTutorial is a specialized knowledge base and set of study guides focused on backend engineering, the Java ecosystem, distributed systems, and database internals. It serves as a technical reference for engineers, providing structured learning paths and curated content designed for Java backend developer interview preparation. The resource distinguishes itself through deep-dive analyses of internal mechanics, including JVM memory management, garbage collection algorithms, and the internal architecture of the Spring Framework. It provides detailed studies on database internals specifically f
The Accidental CTO is a comprehensive collection of guides and frameworks focused on distributed systems architecture, resilience engineering, and system observability. It provides strategies for scaling applications from thousands to millions of users while maintaining high availability. The project offers specific methodologies for managing data volume through replication, sharding, and caching. It includes a framework for analyzing cloud infrastructure spending and evaluating transitions to self-hosted environments to reduce operational expenses. The resource covers the implementation of
This project serves as a comprehensive technical reference for the architecture and design of data-intensive applications. It provides a structured analysis of the fundamental principles required to build reliable, scalable, and maintainable software systems, covering the core trade-offs inherent in modern data infrastructure. The repository explores the mechanics of distributed data management, including strategies for replication, partitioning, and achieving consensus across multiple nodes. It details the design of storage engines, indexing techniques, and transaction management models, whi
This project is a comprehensive knowledge base and study resource designed for mastering technical interviews. It provides structured guides, roadmaps, and curricula focused on data structures, algorithms, system design, and frontend engineering to help candidates prepare for software engineering screenings. The repository distinguishes itself by offering a holistic approach to professional advancement. Beyond technical drills, it includes a career development handbook covering resume optimization, salary benchmarking, and strategic negotiation coaching. It also provides detailed methodologie
Complete-System-Design is a comprehensive software architecture study guide and learning curriculum designed for engineering education and interview preparation. The repository provides structured reference materials covering fundamental system principles, scalability patterns, and asynchronous load distribution techniques for large-scale systems. The content is organized into multi-day study tracks, hierarchical directories, and modular curricula composed of markdown documents. It features methodical interview frameworks with decision trees for solving open-ended architectural problems, alo
This project is a comprehensive knowledge base designed to support software engineering interview preparation and professional development. It functions as a structured study guide that organizes complex computer science concepts, algorithmic problem-solving techniques, and system design principles into a searchable, hierarchical taxonomy. The repository distinguishes itself through a modular documentation pattern that encapsulates technical subjects into discrete, self-contained units. It provides verified code examples for fundamental data structures and algorithms, alongside a distributed
This project is a comprehensive technical guide to advanced Go programming. It serves as a programming guide, technical reference, and textbook covering low-level optimization and distributed systems architecture. The resource provides detailed instructions on writing assembly instructions to optimize performance-critical code and managing C-Go interoperability to bridge C libraries with Go. It also functions as a manual for implementing remote procedure call mechanisms and creating custom plugins for the Protocol Buffers compiler. The material covers high-level capabilities including the de
This project is a backend engineering interview guide and computer science study resource. It provides a curated collection of technical questions and answers focused on server-side architecture, database optimization, and networking fundamentals to prepare for professional software engineering evaluations. The resource functions as a technical reference for studying ACID properties, transaction isolation, and the optimization of relational and non-relational systems. It includes a software architecture reference for analyzing design patterns, dependency injection, and the structural tradeoff
This project is a comprehensive set of roadmaps and curricula designed for technical, behavioral, and architectural interview mastery. It provides structured guides, frameworks, and checklists for mastering algorithmic coding, system design, and behavioral questions. The resource is distinguished by specialized study paths, including a frontend engineering curriculum and a dedicated system design framework for architecting scalable systems. It also features a behavioral interview playbook that utilizes a standardized response method to align professional experience with company values. The g
This project is a growth engineering guide and full-stack development curriculum. It serves as a manual for applying lean engineering and data-driven workflows to accelerate product growth, while providing a structured learning path for building, scaling, and maintaining web applications. The resource functions as a lean software development framework and a scalable architecture handbook. It provides guidelines for designing decoupled systems using microservices and caching to ensure stability, alongside a web performance optimization guide for increasing site speed and search engine visibili
This project is a technical interview repository and a curated collection of study guides designed for backend, frontend, and full-stack engineering evaluations. It provides a JavaScript interview guide and a comprehensive question bank of solved coding challenges and algorithmic problems to prepare developers for job screenings. The resource extends beyond core language skills to include a frontend development syllabus covering DOM fundamentals and accessibility, a backend architecture reference for server-side concepts and distributed systems, and a full-stack study resource for the MERN st
This project is a curated collection of technical reference materials and study guides designed for machine learning interview preparation. It provides comprehensive resources for candidates pursuing engineering roles, focusing on deep learning, production infrastructure, and large-scale system design. The repository distinguishes itself through an architecture that combines theoretical research with industrial case studies. It utilizes a pattern-based approach to system design, breaking down complex deployments—such as recommendation engines, search ranking, and ad click prediction—into reus
This repository is a learning resource and collection of hands-on exercises illustrating cloud-native architecture, microservice composition, and container design patterns for distributed environments. It provides implementation blueprints demonstrating sidecar, adapter, and ambassador patterns for applications deployed within Kubernetes containers. The materials cover traffic management capabilities such as routing requests through proxy containers, splitting traffic between production and experimental servers, enforcing rate limits, and isolating failing services using circuit breakers. Add
This project is a collection of reference implementations and practical guides for building enterprise Java applications using the Spring Boot framework. It serves as a backend project gallery and implementation guide, providing a set of architectures for common server patterns. The repository distinguishes itself through a focus on distributed system design, offering examples for global unique identifier generation, distributed caching, and full-text search. It also includes templates and examples for creating custom Spring Boot starters to encapsulate shared dependencies and configurations
Akka.NET is an actor model framework used for building concurrent and distributed applications. It functions as a distributed computing platform and state manager that enables isolated actors to communicate via asynchronous message passing, ensuring thread-safe state management without manual locks. The project is distinguished by its decentralized coordination capabilities, including a distributed state manager that uses sharding and dynamic rebalancing to maintain high availability. It incorporates an event sourcing engine that persists state as a sequence of events in an append-only log an
This repository serves as a technical reference for designing scalable, resilient, and performant software within distributed service environments. It provides a collection of architectural patterns and structural strategies intended to guide the development of complex, decoupled systems that maintain high availability and data integrity under heavy load. The resource focuses on the core principles of microservices architecture, offering guidance on managing communication between independent software components through both synchronous and asynchronous messaging. It details strategies for mai
This project is a reference library of architectural blueprints, study materials, and design patterns for building scalable, high-availability distributed systems. It serves as a technical guide for scalability engineering, providing structural solutions for common engineering challenges. The repository focuses on distributed systems design, covering essential patterns for data replication, consensus algorithms, and transaction management. It distinguishes itself by offering detailed blueprints for specialized domains, including real-time data streaming, large-scale data storage, and high-ava
RavenDB is a multi-model NoSQL document database designed for high-performance, ACID-compliant data storage. It persists structured information as schema-flexible JSON documents and utilizes a unit-of-work session pattern to track entity changes and batch modifications into atomic transactions. The platform is built on a distributed architecture that supports horizontal scaling through sharding and ensures high availability via multi-node, master-to-master cluster replication. The database distinguishes itself through a self-optimizing query engine that automatically creates and maintains ind
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
DevOps-Roadmap is a comprehensive educational repository and knowledge base designed to guide technical professionals through the complexities of modern software engineering. It functions as a structured curriculum and reference library, covering the full spectrum of skills required to master system architecture, infrastructure management, and cloud operations. The project distinguishes itself by bridging the gap between high-level architectural design and the practical realities of engineering leadership. It provides curated insights into distributed systems, data consistency, and scalable d