System Design CheatSheet for Interview Quiz

Get a concise overview of key system design concepts commonly covered in technical interviews, including REST, sessions, CI/CD, data pipelines, and architectural patterns. Perfect for rapid review before an interview.

  1. REST API Key Characteristics

    Which feature is a key characteristic of a RESTful API in modern system design?

    1. Maintaining long-lived server sessions
    2. Using custom binary protocols by default
    3. Stateless communication
    4. Requiring a fixed port number for all requests

    Explanation: RESTful APIs are stateless, meaning each request from a client contains all the information needed for the server to process it, enhancing scalability. Maintaining long-lived server sessions is typical of stateful systems. Custom binary protocols are not part of REST; REST relies on standards like HTTP and JSON. There's no requirement for a fixed port, as REST commonly uses port 80 or 443 but is not limited to them.

  2. Session vs Cookie

    What is a primary difference between sessions and cookies in web applications?

    1. Sessions can be banned by browser settings, while cookies cannot
    2. Sessions cannot store user information
    3. Cookies are always encrypted by default, while sessions are not
    4. Sessions store data on the server, while cookies store data on the client device

    Explanation: Sessions store user data securely on the server-side, while cookies store small data pieces on the user's device. Browsers can ban cookies, not sessions. Cookies are not always encrypted by default, and both can carry user information if configured.

  3. CI/CD Workflow Purpose

    What is the main benefit of using a CI/CD workflow in software development?

    1. It eliminates the requirement for manual code review
    2. It removes the need for source control systems
    3. It automates the process of building, testing, and deploying applications
    4. It guarantees zero bugs in production

    Explanation: CI/CD workflows automate building, testing, and deployment, leading to faster and more reliable software releases. Source control is still necessary for tracking code changes. CI/CD does not guarantee bug-free production nor does it eliminate the need for code reviews, which ensure code quality.

  4. Kafka Use Case in System Design

    What is a common use case for Kafka in distributed system architectures?

    1. Synchronous remote method invocation
    2. Direct object-relational mapping
    3. Real-time data streaming between services
    4. User session management

    Explanation: Kafka excels at real-time data streaming and message queueing between distributed services, making it a popular choice for event-driven systems. ORMs relate to databases, RMI refers to synchronous operations, and session management isn't typically handled by Kafka.

  5. Data Pipeline Overview

    In a typical data pipeline, what is the main role of an ETL (Extract, Transform, Load) process?

    1. Collecting data from various sources, transforming it, and loading it into a target system
    2. Balancing traffic between multiple servers
    3. Managing user authentication and tokens
    4. Encrypting network traffic for enhanced security

    Explanation: ETL processes are designed to gather data from diverse sources, transform it as required for analysis, and load it into a storage or analytics system. Encrypting data, load balancing, and authentication are important, but they are outside the focus of ETL pipelines.