โ† All POC Flashcard Decks

Architecture & System Design Flashcards

7 cards from real POC practice questions. Tap to flip, then mark Knew It or Still Learning โ€” missed cards come back until you master them.

Read the first 7 Architecture & System Design flashcards as text
  1. Which Python design pattern ensures a class has only one instance and provides a global access point to it?

    Answer: Singleton

    The Singleton pattern restricts instantiation to one object by controlling the class's __new__ or __init__ method.

  2. In a Python microservices architecture, what is the primary purpose of an API Gateway?

    Answer: To serve as a single entry point routing requests to backend services

    An API Gateway acts as a reverse proxy that routes client requests to appropriate microservices and can handle cross-cutting concerns like auth and rate limiting.

  3. Which Python library is commonly used to implement asynchronous task queues in a distributed system?

    Answer: Celery

    Celery is a distributed task queue library for Python that enables offloading work to background workers using brokers like Redis or RabbitMQ.

  4. What does the acronym SOLID stand for in object-oriented design as applied to Python?

    Answer: Single, Open, Liskov, Interface, Dependency

    SOLID stands for Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion principles.

  5. When designing a Python system that must handle millions of events per second, which architecture pattern is most appropriate?

    Answer: Event-driven architecture with message streaming

    Event-driven architecture with message streaming (e.g., Kafka) decouples producers and consumers, enabling high-throughput real-time processing.

  6. In Python, which module provides the abstract base class infrastructure used to enforce interface contracts?

    Answer: abc

    The `abc` module provides the ABCMeta metaclass and @abstractmethod decorator to define and enforce abstract interfaces in Python.

  7. What is the key difference between horizontal and vertical scaling in a Python web application context?

    Answer: Horizontal adds more servers; vertical adds more resources to existing servers

    Horizontal scaling (scale out) adds more server instances, while vertical scaling (scale up) increases CPU/RAM on existing servers.