WorksheetsSoftware Architecture Quiz
Total questions: 15
Worksheet time: 5mins
Which of the following is a key responsibility of a software architect?
Writing detailed unit tests
Designing and maintaining the overall system architecture
Managing project budgets
Setting up version control systems
Which design pattern is used to ensure that a class has only one instance and provides a global point of access to it?
Factory Method
Observer
Singleton
Strategy
In Domain-Driven Design (DDD), what term describes a conceptual boundary within which a particular domain model is defined and applicable?
Entity
Value Object
Bounded Context
Aggregation
Which architectural style involves breaking down an application into small, independently deployable services?
Monolithic Architecture
Microservices Architecture
Layered Architecture
Client-Server Architecture
What is the primary purpose of using design patterns in software architecture?
To improve coding speed
To solve common design problems with proven solutions
To reduce the size of the codebase
To increase the number of developers on a project
Which of the following is NOT a non-functional requirement typically considered in system architecture?
Scalability
Security
Usability
Syntax correctness
In a cloud-native architecture, which of the following is typically used to manage containerized applications?
Jenkins
Kubernetes
Apache Kafka
Redis
Which principle focuses on dividing a system into distinct sections, each addressing a separate concern?
Encapsulation
Separation of Concerns (SoC)
Polymorphism
Inheritance
What technique involves duplicating critical components to ensure system reliability and availability?
Which of the following is a key benefit of using a layered architecture in system design?
Reduced development time
Improved system performance
Enhanced separation of concerns
Increased number of services
What is the purpose of using a Service-Oriented Architecture (SOA) in system design?
To minimize the use of databases
To create tightly coupled components
To organize the system into loosely coupled services
To reduce the number of programming languages used
Which technique is crucial for ensuring that a system can handle an increasing number of users or requests without performance degradation?
Vertical Scaling
Refactoring
Code Minification
Debugging
In which scenario is the use of Event-Driven Architecture (EDA) most appropriate?
A static website with no real-time data needs
A real-time financial trading platform
A desktop text editor application
A basic personal blog
What role does a repository play in a Domain-Driven Design (DDD) architecture?
It acts as a database schema
It provides methods to retrieve and store domain objects
It serves as a user interface component
It handles network communications
Which concept in software architecture involves treating all internal and external network communications as untrusted by default?
Network Segmentation
Open Network Architecture
Zero Trust Architecture
Full Trust Architecture
