Software Development and Architecture Intermediate stage test
No governed timed route exists for this stage yet, so this page gives you an honest untimed stage-end check built from the published bank.
FormatUntimed self-check
Questions18
Best time to use itAfter the stage modules and practice
Question 1
What is the key advantage of a layered (n-tier) architecture?
It runs faster than other architectures
Each layer has a clear responsibility and can be modified independently, supporting separation of concerns
It eliminates the need for databases
It uses less memory
Reveal answer
Correct answer: Each layer has a clear responsibility and can be modified independently, supporting separation of concerns
Question 2
What is the main risk of a monolithic architecture as an application grows?
It becomes too secure
Changes to one part can unintentionally break other parts, and the entire application must be deployed as one unit
It uses too many databases
Monoliths cannot handle any traffic
Reveal answer
Correct answer: Changes to one part can unintentionally break other parts, and the entire application must be deployed as one unit
Question 3
When should you choose microservices over a monolith?
Always, because microservices are inherently better
When independent scaling, deployment, and team ownership of different capabilities provide genuine value that outweighs the added complexity
When you want to reduce the number of deployments
When your team has fewer than five developers
Reveal answer
Correct answer: When independent scaling, deployment, and team ownership of different capabilities provide genuine value that outweighs the added complexity
Question 4
What is the 'fallacy of distributed computing' that trips up microservices teams?
That distributed systems are always slower
Assumptions like 'the network is reliable' and 'latency is zero' which are false in distributed environments
That microservices cannot share databases
That each service must use a different programming language
Reveal answer
Correct answer: Assumptions like 'the network is reliable' and 'latency is zero' which are false in distributed environments
Question 5
What is the core idea behind event-driven architecture?
Services communicate only through REST APIs
Components communicate by producing and consuming events, enabling loose coupling and asynchronous processing
Events are logged but never processed
All processing happens synchronously
Reveal answer
Correct answer: Components communicate by producing and consuming events, enabling loose coupling and asynchronous processing
Question 6
What problem does CQRS (Command Query Responsibility Segregation) solve?
It eliminates the need for a database
It separates read and write models so each can be optimised independently for their specific access patterns
It combines all queries into a single command
It prevents SQL injection
Reveal answer
Correct answer: It separates read and write models so each can be optimised independently for their specific access patterns
Question 7
In hexagonal architecture (ports and adapters), what is the purpose of a 'port'?
A network port for communication
An interface that defines how the core domain logic communicates with the outside world, keeping business logic independent of infrastructure
A physical connection on the server
A deployment endpoint
Reveal answer
Correct answer: An interface that defines how the core domain logic communicates with the outside world, keeping business logic independent of infrastructure
Question 8
What is serverless architecture and when is it a good fit?
An architecture with no servers at all
An event-driven model where the cloud provider manages server infrastructure, well-suited for variable workloads and event-triggered processing
A pattern where all logic runs on the client
A deployment approach that eliminates all costs
Reveal answer
Correct answer: An event-driven model where the cloud provider manages server infrastructure, well-suited for variable workloads and event-triggered processing
Question 9
What is vendor lock-in and why should architects consider it?
A security feature that locks out vendor access
A situation where heavy dependence on a specific vendor's proprietary services makes migration difficult and expensive
A contract that guarantees vendor support
A pattern for securing vendor APIs
Reveal answer
Correct answer: A situation where heavy dependence on a specific vendor's proprietary services makes migration difficult and expensive
Question 10
What is the Strangler Fig pattern used for?
A security hardening technique
Incrementally migrating from a legacy system to a new one by gradually replacing functionality rather than doing a big-bang rewrite
A caching strategy for distributed systems
A method for compressing database tables
Reveal answer
Correct answer: Incrementally migrating from a legacy system to a new one by gradually replacing functionality rather than doing a big-bang rewrite
Question 11
What is eventual consistency?
A guarantee that all data is immediately consistent everywhere
A model where updates propagate through the system over time, and all replicas will eventually reach the same state
A consistency model where data is never consistent
A testing strategy for databases
Reveal answer
Correct answer: A model where updates propagate through the system over time, and all replicas will eventually reach the same state
Question 12
What is the circuit breaker pattern in microservices?
A hardware device that prevents electrical surges
A pattern that prevents cascading failures by stopping requests to a failing service after a threshold of errors is reached
A security mechanism for API authentication
A database locking strategy
Reveal answer
Correct answer: A pattern that prevents cascading failures by stopping requests to a failing service after a threshold of errors is reached
Question 13
What does Domain-Driven Design (DDD) mean by a 'bounded context'?
A physical server boundary
A clear boundary within which a particular domain model is defined and applicable, preventing model conflicts across different parts of the system
A geographical region for deployment
A budget limit for a development team
Reveal answer
Correct answer: A clear boundary within which a particular domain model is defined and applicable, preventing model conflicts across different parts of the system
Question 14
Why are trade-off decisions the most important skill in architecture?
Because there is always one correct answer
Because every architectural choice involves giving up something to gain something else, and defending those trade-offs is the core of the architect's role
Because trade-offs only matter in large systems
Because stakeholders do not care about technical details
Reveal answer
Correct answer: Because every architectural choice involves giving up something to gain something else, and defending those trade-offs is the core of the architect's role
Question 15
In the AWS Well-Architected Framework, which pillar focuses on protecting data and systems?
Operational Excellence
Security
Cost Optimisation
Sustainability
Reveal answer
Correct answer: Security
Question 16
What is the saga pattern and when is it needed?
A long narrative documentation style
A pattern for managing distributed transactions across microservices using a sequence of local transactions with compensating actions for rollback
A versioning strategy for APIs
A deployment automation tool
Reveal answer
Correct answer: A pattern for managing distributed transactions across microservices using a sequence of local transactions with compensating actions for rollback
Question 17
What does 'coupling' mean in software architecture?
The speed of communication between components
The degree to which components depend on each other, where high coupling means changes in one component likely require changes in others
The number of features in a module
The size of the codebase
Reveal answer
Correct answer: The degree to which components depend on each other, where high coupling means changes in one component likely require changes in others
Question 18
What is the relationship between cohesion and coupling in good architecture?
Both should be high
Both should be low
High cohesion within components and low coupling between components
Low cohesion within components and high coupling between components
Reveal answer
Correct answer: High cohesion within components and low coupling between components