Free CPSA-F sample questions
Real questions from the Certified Professional for Software Architecture – Foundation Level practice bank, with the correct answer and an explanation for each one. No junk, no filler.
Try them in the simulator Same questions, with study, timed and flashcard modes.
Showing 10 of 20 free sample questions.
A software architect is designing a system component that must be extensible without modification. New functionality will be added frequently by different teams. The architect wants to allow new behaviors to be added to the component's core process while avoiding a cascade of `if-else` or `switch` statements. Which design principle is most critical to apply here?
A new architect joins a project and finds that the `UserService` is directly instantiating the `PostgreSQL_Logger` class for logging activities. The `OrderService` does the same. This has led to difficulties in testing and a desire to switch to a file-based logger in the future. The architect recommends changing the code so that both services depend on an `ILogger` interface instead of a concrete class. This change exemplifies the application of which design principle?
An architect needs to document the system's boundaries, its users (both human and machine), and the other systems it interacts with. The goal is to provide a high-level, technology-agnostic overview for business stakeholders and new developers. Which architectural view is most appropriate for this purpose?
A project team is using Architecture Decision Records (ADRs) to document significant architectural choices. Which pieces of information are essential to include in a well-formed ADR? (Select TWO)
A software architect is conducting a qualitative analysis of a system's modifiability. Which of the following sources of information would be most valuable for this analysis?
Which statement best defines the relationship between an architectural goal, such as 'achieve high scalability', and a project goal, such as 'launch the product before the holiday season'?
A project is developing a data processing pipeline that ingests raw data, enriches it, validates it against business rules, and finally stores it in a data warehouse. Each step is complex and developed by a separate team. The architect wants to ensure that these steps are decoupled and can be easily reordered or replaced in the future. Which architectural pattern is the most suitable fit for this scenario?
What is the primary purpose of defining explicit interfaces between building blocks in a software architecture?
An architect is evaluating the coupling characteristics of a system. They observe that the `Reporting` module directly queries the database tables of the `Orders` module. Which type of coupling does this represent and what is its main drawback?
10 more free samples are waiting
Create a free account to unlock the whole CPSA-F sample bank, or get full access to all 153 practice questions in the simulator.