VERIFIED SOLUTIONS || ACCURATE ANSWERS
WITH STEP-BY-STEP EXPLANATIONS
Section 1: Advanced Software Development & Architecture (Questions 1-25)
1. In a Microservices architecture, the API Gateway pattern is primarily used to:
a) Store session state for all services
b) Act as a single entry point, handling requests by routing to appropriate services
c) Replace the need for a service discovery mechanism
d) Directly manage database transactions across services
Answer: b) Act as a single entry point, handling requests by routing to appropriate services
2. What is the primary purpose of the Strangler Fig Pattern when modernizing a monolithic
application?
a) To immediately shut down the monolith and build a new system from scratch
b) To incrementally replace specific pieces of functionality with new services
c) To refactor the entire monolith into a single new service
,d) To add a new user interface on top of the existing monolith without changing the backend
Answer: b) To incrementally replace specific pieces of functionality with new services
3. In Domain-Driven Design (DDD), a "Bounded Context" is best defined as:
a) The total scope of the software system
b) A specific responsibility within the system with explicit boundaries
c) The database schema for a particular module
d) The user interface for a core domain
Answer: b) A specific responsibility within the system with explicit boundaries
4. Which characteristic is MOST critical for a service to be considered "cloud-native"?
a) It is written in a specific programming language like Go or Rust.
b) It is packaged and deployed using containers (e.g., Docker).
c) It relies on a specific cloud vendor's proprietary services.
d) It uses an expensive enterprise application server.
Answer: b) It is packaged and deployed using containers (e.g., Docker).
5. The "Sidecar" pattern in a service mesh like Istio is used to:
a) Provide a backup service in case the main service fails
b) Decouple auxiliary functionalities (like logging, monitoring) from the main application
c) Store session data for the main application container
d) Act as the primary database connection pool
Answer: b) Decouple auxiliary functionalities (like logging, monitoring) from the main
application
,6. Event Sourcing as an architectural pattern involves:
a) Storing only the current state of an entity in the database
b) Storing a sequence of state-changing events as the system of record
c) Using message queues for all database writes
d) Logging all user actions to a security audit trail
Answer: b) Storing a sequence of state-changing events as the system of record
7. A canary release is a deployment strategy used to:
a) Deploy a new version to all users simultaneously
b) Roll back a deployment automatically if errors are detected
c) Deploy a new version to a small subset of users before a full rollout
d) Deploy two identical versions for load balancing purposes
Answer: c) Deploy a new version to a small subset of users before a full rollout
8. What is the main benefit of using Infrastructure as Code (IaC) tools like Terraform?
a) To write lower-level machine code for better performance
b) To automate and version-control the provisioning of infrastructure
c) To generate code from UML diagrams automatically
d) To refactor existing application code
Answer: b) To automate and version-control the provisioning of infrastructure
9. In the CQRS (Command Query Responsibility Segregation) pattern, why are the read and
write models separated?
a) To enforce stricter database normalization rules
, b) To allow them to be scaled and optimized independently
c) To ensure that all queries are executed as database commands
d) To comply with GDPR data privacy regulations
Answer: b) To allow them to be scaled and optimized independently
10. The principle of "Design for Failure" in distributed systems means:
a) Accepting that some projects will fail and planning accordingly
b) Intentionally causing failures in production to test resilience
c) Designing components to handle failures gracefully without total system collapse
d) Designing systems with as few components as possible to minimize points of failure
Answer: c) Designing components to handle failures gracefully without total system collapse
11. A circuit breaker pattern is used to:
a) Prevent electrical overload in data center servers
b) Stop requests to a failing service to avoid cascading failures
c) Manually shut down a system during maintenance
d) Encrypt network traffic between services
Answer: b) Stop requests to a failing service to avoid cascading failures
12. Which statement BEST describes the Backends for Frontends (BFF) pattern?
a) A single backend API serves all possible client types (web, mobile, IoT).
b) Each client type has its own dedicated API tier tailored to its specific needs.
c) The frontend application contains all business logic, and the backend is just a database.