System Architecture & Design Flashcards
7 cards from real CPA practice questions. Tap to flip, then mark Knew It or Still Learning — missed cards come back until you master them.
Read the first 7 System Architecture & Design flashcards as text
What does 'idempotency' mean for an API operation?
Answer: Calling the operation multiple times produces the same result as calling it once
An idempotent operation produces the same result no matter how many times it is called, which is critical for safe retries in distributed systems.
In a publish/subscribe messaging pattern, what role does the 'broker' play?
Answer: It receives messages from publishers and routes them to interested subscribers
The message broker (e.g., Kafka, RabbitMQ) decouples publishers from subscribers by receiving messages and delivering them to all registered subscribers.
What is the purpose of the 'Dependency Inversion Principle' in SOLID design?
Answer: Both high-level and low-level modules should depend on abstractions
The Dependency Inversion Principle states that high-level modules and low-level modules should both depend on abstractions (interfaces), not on each other's concrete implementations.
Which strategy helps prevent a single slow downstream service from causing failures to cascade through a distributed system?
Answer: Circuit breaker pattern
The circuit breaker pattern monitors calls to a service and, when failures exceed a threshold, 'opens' to stop further calls, allowing the system to recover without cascading failures.
What is 'service discovery' in a microservices architecture?
Answer: The mechanism by which services find the network locations of other services dynamically
Service discovery allows microservices to automatically find each other's locations (IP/port) at runtime, often via a service registry like Consul or Eureka.
Which of the following best describes a 'monolithic' application architecture?
Answer: All functionality is built and deployed as a single, unified unit
A monolithic architecture packages all application functionality—UI, business logic, and data access—into a single deployable unit, which can be simple initially but harder to scale independently.
What is the 'strangler fig' pattern used for in software architecture?
Answer: Incrementally replacing a legacy system by routing functionality to a new system piece by piece
The strangler fig pattern migrates a legacy system by gradually redirecting functionality to a new system, allowing both to coexist until the old system is fully replaced.