System Design & Architecture Flashcards
7 cards from real CSI 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 Design & Architecture flashcards as text
Which design pattern allows a system to expose a unified interface to a set of interfaces in a subsystem, reducing complexity for clients?
Answer: Facade Pattern
The Facade pattern provides a simplified, unified interface to a complex subsystem, hiding internal complexity from client code.
In a publish-subscribe messaging architecture, what happens when a subscriber is offline when a message is published?
Answer: The message is stored in a durable queue until the subscriber reconnects (with durable subscriptions)
With durable subscriptions, the message broker retains messages so offline subscribers receive them upon reconnection.
A CSI must integrate two systems that use incompatible data formats. Which integration pattern specifically addresses data format transformation?
Answer: Message Translator
The Message Translator pattern converts messages from one format to another, enabling communication between systems with incompatible data schemas.
What is the primary benefit of using an API gateway in a microservices-based integrated system?
Answer: Providing a single entry point for clients with routing, authentication, and rate limiting
An API gateway acts as the single entry point for external clients, handling cross-cutting concerns like authentication, routing, and rate limiting.
Which cloud architecture principle recommends designing systems to expect and handle component failures as a normal condition?
Answer: Design for Failure
Design for Failure assumes components will fail and builds resilience through redundancy, retries, and graceful degradation.
In enterprise integration, what does 'loose coupling' primarily mean between integrated systems?
Answer: Systems can operate and evolve independently with minimal dependencies on each other
Loose coupling means integrated systems have minimal dependencies, so changes to one system don't require corresponding changes in others.
What is the primary purpose of a canonical data model in enterprise integration?
Answer: To provide a common, neutral data format for exchanging information between heterogeneous systems
A canonical data model defines a shared, neutral data format so each system only needs to map to/from the canonical model rather than to every other system.