System Design Core Concepts

0%

    Scalability & Performance

    • Explain the differences between horizontal and vertical scaling. When would you use each?

      Junior
    • Explain Latency vs. Throughput

      Junior
    • Back-of-the-envelope calculations

      Mid
    • Describe the role of load balancing in cloud architecture and its types.

      Mid
    • Explain the purpose of load balancing algorithms in a network and provide examples of different load balancing algorithms.

      Mid
    • What is latency in networking, and how does it affect network performance?

      Mid

    Distributed System Theory

    • Explain the CAP theorem and its implications for distributed systems.

      Junior
    • Explain the concept of eventual consistency in distributed databases.

      Mid
    • How does eventual consistency differ from strong consistency?

      Mid
    • Explain the concept of distributed consensus and the role of algorithms like Paxos and Raft.

      Mid
    • Explain the concept of leader election in distributed systems and its role in fault tolerance.

      Mid
    • What is a distributed lock, and why is it important in distributed systems?

      Mid
    • Explain Heartbeat and Gossip Protocols.

      Senior
    • Explain what N, R, W refer to in terms of a quorum.

      Senior

    Databases & Data Management

    • Explain the ACID properties in the context of database transactions.

      Junior
    • Explain the BASE acronym in NoSQL databases.

      Junior
    • What are the main differences between NoSQL and traditional relational databases?

      Junior
    • Explain database sharding and its benefits in managing large-scale databases.

      Mid
    • Explain the concept of consistent hashing in the context of distributed NoSQL databases.

      Mid
    • What is an index in SQL, and why is it used?

      Mid
    • Explain SQL normalization and denormalization.

      Mid
    • Explain database replication, its use cases, and its types.

      Senior
    • Describe B-Trees and LSM Trees.

      Senior
    • Describe batch processing and stream processing.

      Senior
    • Describe range-based vs. hash-based partitioning.

      Senior

    Caching

    • What is caching?

      Junior
    • What is cache invalidation?

      Junior
    • What is a CDN?

      Junior
    • Name some cache invalidation strategies.

      Mid
    • What is cache replacement?

      Senior

    Communication & Messaging

    • Explain the difference between TCP and UDP.

      Junior
    • What is DNS (Domain Name System), and how does it work?

      Junior
    • Explain statelessness in the context of REST.

      Junior
    • What is an idempotent method?

      Mid
    • Describe the API gateway pattern and its benefits in Microservices architecture.

      Mid
    • Explain the concept of distributed pub-sub (publish-subscribe) messaging systems and their use in event-driven architectures.

      Senior

    Architectural Patterns

    • What is the difference between Monolithic, SOA and Microservices Architecture?

      Junior
    • Explain the differences between containerization and virtualization.

      Junior
    • What is Exponential Backoff and Jitter?

      Mid
    • What is the Circuit Breaker pattern?

      Mid
    • Explain the way to implement service discovery in Microservices Architecture.

      Senior
    • What is a Race Condition?

      Senior
    • What is a Bloom filter?

      Senior