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
Which architectural pattern separates an application into three interconnected components: model, view, and controller?
Answer: MVC
MVC (Model-View-Controller) divides an application into three components to separate concerns: the model handles data, the view handles display, and the controller handles input.
In a microservices architecture, how do individual services typically communicate with each other?
Answer: APIs over a network (REST or messaging)
Microservices communicate via well-defined APIs over a network, commonly using REST, gRPC, or asynchronous message queues, keeping services decoupled.
What is the primary benefit of using a layered (n-tier) architecture?
Answer: Separates concerns so each layer has a distinct responsibility
Layered architecture organizes code into distinct tiers (e.g., presentation, business logic, data), making the system easier to maintain and modify independently.
Which design principle states that a class should have only one reason to change?
Answer: Single Responsibility Principle
The Single Responsibility Principle (SRP) states that a class should have only one responsibility, meaning only one reason to change.
What does 'high cohesion' mean in the context of software module design?
Answer: Elements within a module are closely related and focused on a single task
High cohesion means the responsibilities of a module are strongly related and focused, making the module easier to understand and maintain.
Which architectural style is best described as a pipeline where each component transforms data and passes it to the next?
Answer: Pipe-and-filter architecture
Pipe-and-filter architecture processes data through a sequence of independent filter components connected by pipes, common in data transformation systems.
In system design, what is a 'bottleneck'?
Answer: A component or resource that limits the overall system throughput
A bottleneck is a point in the system where the throughput is limited, causing the entire system to slow down regardless of other components' capacity.