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 is the purpose of an API Gateway in a microservices system?
Answer: To serve as a single entry point that routes requests to appropriate services
An API Gateway acts as a single entry point for clients, handling request routing, authentication, rate limiting, and load balancing across microservices.
Which of the following best describes 'loose coupling' in software architecture?
Answer: Components depend minimally on each other's internal details
Loose coupling means components interact through well-defined interfaces, minimizing dependencies so changes in one component don't cascade to others.
What is 'eventual consistency' in distributed system design?
Answer: Given enough time without updates, all nodes will converge to the same value
Eventual consistency guarantees that, in the absence of new updates, all replicas will eventually converge to the same value, accepting temporary inconsistency for availability.
In the context of system design, what does 'scalability' refer to?
Answer: The ability of a system to handle increased load by adding resources
Scalability is the system's ability to handle growing amounts of work or users by adding hardware or software resources, either horizontally or vertically.
What is horizontal scaling?
Answer: Adding more machines to distribute the load
Horizontal scaling (scaling out) adds more servers to distribute the workload, whereas vertical scaling (scaling up) increases the power of existing servers.
Which pattern involves storing a copy of data in a faster storage medium to reduce repeated expensive computations or retrievals?
Answer: Caching
Caching stores frequently accessed data in a fast storage layer (e.g., memory) so future requests for that data are served faster without hitting the primary source.
What does the 'Open/Closed Principle' state about software entities?
Answer: Entities should be open for extension but closed for modification
The Open/Closed Principle states that software entities should be open for extension (new behavior can be added) but closed for modification (existing code is not changed).