1Which of the following best describes a Monolithic Architecture?
A.An architecture that distributes data across peer-to-peer networks
B.An architecture relying solely on serverless functions
C.An architecture where the entire application is built as a single, unified unit
D.An architecture where the application is built as a collection of small independent services
Correct Answer: An architecture where the entire application is built as a single, unified unit
Explanation:
A monolithic architecture integrates all components (UI, business logic, data access) into a single deployable unit.
Incorrect! Try again.
2What is a primary characteristic of Microservices Architecture?
A.Tightly coupled components
B.Centralized deployment of the entire system
C.Single shared database for all modules
D.Loose coupling and high cohesion
Correct Answer: Loose coupling and high cohesion
Explanation:
Microservices are designed to be loosely coupled so they can be updated independently, while maintaining high cohesion within their specific business domain.
Incorrect! Try again.
3In the context of Domain-Driven Design (DDD), what is 'Ubiquitous Language'?
A.The standardized API documentation language
B.A translation layer between different microservices
C.A programming language like Java or Python
D.A common language shared by developers and domain experts to describe the system
Correct Answer: A common language shared by developers and domain experts to describe the system
Explanation:
Ubiquitous Language is a DDD principle ensuring that technical and business teams use the same terminology to avoid ambiguity.
Incorrect! Try again.
4What is the primary role of an API Gateway in a microservices architecture?
A.To directly manage database schemas
B.To execute the core business logic of the application
C.To act as a single entry point for all client requests
D.To store all application data
Correct Answer: To act as a single entry point for all client requests
Explanation:
An API Gateway accepts incoming traffic from clients and routes it to the appropriate microservices, often handling cross-cutting concerns.
Incorrect! Try again.
5Which of the following is a significant challenge in Distributed Architectures compared to Monoliths?
A.Inability to scale
B.Simplicity of debugging
C.Lack of modularity
D.Network latency and partial failures
Correct Answer: Network latency and partial failures
Explanation:
Distributed systems introduce complexity regarding network communication, latency, and the risk that one part of the system may fail while others remain active.
Incorrect! Try again.
6In DDD, what is a 'Bounded Context'?
A.The limit of database connections allowed
B.A logical boundary within which a particular domain model is defined and applicable
C.The maximum memory limit of a service
D.The physical network boundary of the cloud provider
Correct Answer: A logical boundary within which a particular domain model is defined and applicable
Explanation:
Bounded Context defines the limits of a specific subsystem or microservice, ensuring terms and models have a specific meaning only within that boundary.
Incorrect! Try again.
7How does scaling typically differ between Monolithic and Microservices architectures?
A.Monoliths scale horizontally by function; Microservices scale vertically
In a monolith, if one module needs more resources, the whole app must be replicated. Microservices allow scaling only the specific service experiencing high load.
Incorrect! Try again.
8What is the 'Database per Service' pattern?
A.All services share a single massive database
B.Databases are forbidden in microservices
C.Each microservice manages its own database data exclusively
D.Services connect to a database based on the user's location
Correct Answer: Each microservice manages its own database data exclusively
Explanation:
To ensure loose coupling, microservices usually own their data store, preventing other services from bypassing the API to access data directly.
Incorrect! Try again.
9Which principle suggests that organizations design systems that mirror their communication structures?
A.Murphy's Law
B.Conway's Law
C.Moore's Law
D.The CAP Theorem
Correct Answer: Conway's Law
Explanation:
Conway's Law states that systems defined by organizations are constrained to produce designs that are copies of the communication structures of these organizations.
Incorrect! Try again.
10What is a 'BFF' in the context of API Gateways?
A.Best Friends Forever
B.Backend for Frontend
C.Binary File Format
D.Basic Failover Function
Correct Answer: Backend for Frontend
Explanation:
Backend for Frontend (BFF) is a variation of the API Gateway pattern where separate gateways are created for different client types (e.g., Mobile, Web).
Incorrect! Try again.
11Which of the following is an advantage of Monolithic architecture over Microservices?
A.Easier to implement continuous deployment
B.Better fault isolation
C.Simpler to test and debug initially
D.Independent scaling of components
Correct Answer: Simpler to test and debug initially
Explanation:
Monoliths are easier to test and debug initially because all code is in one place, and there is no need to trace requests across a network of services.
Incorrect! Try again.
12What is 'Polyglot Persistence'?
A.Persisting data only in memory
B.Using different data storage technologies for different services based on needs
C.Writing code in multiple languages within one file
D.Translating database queries into different languages
Correct Answer: Using different data storage technologies for different services based on needs
Explanation:
Microservices allow teams to choose the best database (SQL, NoSQL, Graph, etc.) for the specific problem a service is solving.
Incorrect! Try again.
13What is an 'Aggregate' in Domain-Driven Design?
A.A backup of the database
B.A cluster of domain objects that can be treated as a single unit
C.A collection of all microservices
D.The total sum of all data transactions
Correct Answer: A cluster of domain objects that can be treated as a single unit
Explanation:
An Aggregate is a pattern in DDD where a cluster of entities and value objects are treated as a single unit for data changes, controlled by an Aggregate Root.
Incorrect! Try again.
14Which mechanism is commonly used for communication between Microservices?
A.Lightweight protocols like HTTP/REST or gRPC
B.Shared Memory
C.Global Variables
D.Direct Database Links
Correct Answer: Lightweight protocols like HTTP/REST or gRPC
Explanation:
Microservices communicate over a network using lightweight, technology-agnostic protocols like HTTP (REST) or gRPC.
Incorrect! Try again.
15What is the function of the 'Anti-Corruption Layer' in DDD?
A.To translate between two different domain models to prevent concepts from one leaking into the other
B.To clean up unused code
C.To prevent viruses
D.To encrypt database traffic
Correct Answer: To translate between two different domain models to prevent concepts from one leaking into the other
Explanation:
An Anti-Corruption Layer is used when a new system needs to communicate with a legacy system, translating the legacy model into the new model to maintain integrity.
Incorrect! Try again.
16When defining Service Boundaries, which approach is recommended?
A.Decomposition by hardware availability
B.Decomposition by codebase size
C.Decomposition by Business Capability
D.Decomposition by alphabetical order
Correct Answer: Decomposition by Business Capability
Explanation:
Services should be defined around business capabilities (e.g., Shipping, Billing) rather than technical layers or arbitrary metrics.
Incorrect! Try again.
17What is a 'Sidecar' pattern in microservices?
A.A monitoring dashboard
B.A secondary database
C.A helper component that runs alongside the main service container
D.A backup server
Correct Answer: A helper component that runs alongside the main service container
Explanation:
The Sidecar pattern involves deploying a helper service (handling logging, proxying, etc.) alongside the main application container.
Incorrect! Try again.
18Which of the following creates a 'Single Point of Failure' if not properly managed?
A.Local Logging
B.Microservice Container
C.API Gateway
D.CI/CD Pipeline
Correct Answer: API Gateway
Explanation:
Since all traffic flows through the API Gateway, if it goes down, the entire application becomes inaccessible unless the gateway is clustered/redundant.
Incorrect! Try again.
19What is 'Service Discovery'?
A.A method to discover new business opportunities
B.A security scan for vulnerabilities
C.A marketing tool for services
D.A mechanism for services to find the network locations of other services
Correct Answer: A mechanism for services to find the network locations of other services
Explanation:
In dynamic cloud environments, service instances change IP addresses frequently; Service Discovery allows them to locate each other dynamically.
Incorrect! Try again.
20In DDD, what defines the identity of an 'Entity'?
A.The table name it is stored in
B.Its JSON representation
C.Its attributes and properties
D.A unique identifier (ID) that persists over time
Correct Answer: A unique identifier (ID) that persists over time
Explanation:
Entities are domain objects defined by their continuity and identity (e.g., a User ID), not just by their attributes.
Incorrect! Try again.
21Unlike Entities, 'Value Objects' in DDD are defined by:
A.Their creation date
B.Their unique ID
C.Their relationship to the database
D.Their attributes and immutability
Correct Answer: Their attributes and immutability
Explanation:
Value Objects (e.g., a Currency or Coordinate) do not have a unique identity; they are defined by their values and are typically immutable.
Incorrect! Try again.
22What is the 'Strangler Fig' pattern used for?
A.Strangling process threads that hang
B.Migrating a Monolithic application to Microservices gradually
C.Compressing data traffic
D.Securing API keys
Correct Answer: Migrating a Monolithic application to Microservices gradually
Explanation:
The Strangler Fig pattern involves gradually replacing specific functionalities of a monolith with new microservices until the monolith is shut down.
Incorrect! Try again.
23Which feature is NOT typically handled by an API Gateway?
A.Rate Limiting
B.Protocol Translation
C.Request Routing
D.Business Logic implementation
Correct Answer: Business Logic implementation
Explanation:
An API Gateway handles cross-cutting concerns (routing, auth, throttling). Placing core business logic in the gateway is an anti-pattern.
Incorrect! Try again.
24What is 'Eventual Consistency' in distributed microservices?
A.Data is always instantly consistent across all nodes
B.Consistency is handled manually by the user
C.Data is never consistent
D.The system guarantees that if no new updates are made, eventually all accesses will return the last updated value
Correct Answer: The system guarantees that if no new updates are made, eventually all accesses will return the last updated value
Explanation:
In distributed systems, immediate consistency is hard to achieve without sacrificing availability; eventual consistency allows temporary inconsistencies.
Incorrect! Try again.
25Which of the following is a disadvantage of Microservices?
A.Slower development speed for small teams initially
26In a distributed architecture, what is 'Fault Tolerance'?
A.The logging of all faults
B.The ability of the system to continue operating properly in the event of the failure of some of its components
C.The ability of the system to stop working when a fault occurs
D.The prevention of all bugs
Correct Answer: The ability of the system to continue operating properly in the event of the failure of some of its components
Explanation:
Fault tolerance ensures that the failure of a single service does not crash the entire distributed application.
Incorrect! Try again.
27What is 'Context Mapping' in DDD?
A.Identifying the relationships and integration patterns between different Bounded Contexts
B.Mapping database tables to UI fields
C.Mapping user locations on a map
D.Creating a sitemap for the application
Correct Answer: Identifying the relationships and integration patterns between different Bounded Contexts
Explanation:
Context Mapping visualizes how different Bounded Contexts interact and integrate (e.g., Shared Kernel, Customer/Supplier).
Incorrect! Try again.
28Which is a common method to prevent 'Cascading Failures' in microservices?
A.Infinite Loops
B.Monolithic Databases
C.Circuit Breaker Pattern
D.Tight Coupling
Correct Answer: Circuit Breaker Pattern
Explanation:
The Circuit Breaker pattern detects failures and prevents the application from trying to perform an action that is doomed to fail, protecting the system.
Incorrect! Try again.
29The term 'Smart Endpoints and Dumb Pipes' refers to:
A.Putting logic in the message bus/ESB
B.Using AI in network cables
C.Using dumb terminals
D.Putting logic in the services and using the network only for transport
Correct Answer: Putting logic in the services and using the network only for transport
Explanation:
Microservices prefer keeping intelligence (business logic) within the services (endpoints) rather than in the communication mechanism (pipes/ESBs).
Incorrect! Try again.
30What is 'Request Aggregation' in an API Gateway?
A.Gathering data from multiple services to return a single response to the client
B.Deleting duplicate requests
C.Blocking all requests
D.Gathering multiple requests from a client into a single request to the backend
Correct Answer: Gathering data from multiple services to return a single response to the client
Explanation:
Request Aggregation allows the gateway to call multiple backend services and combine the results, reducing the number of round-trips the client must make.
Incorrect! Try again.
31Which architecture is known for 'Spaghetti Code' if not managed well?
A.Event-Driven
B.Serverless
C.Monolithic
D.Microservices
Correct Answer: Monolithic
Explanation:
Monoliths often degrade into 'Big Balls of Mud' or spaghetti code where dependencies are tangled, making maintenance difficult.
Incorrect! Try again.
32What is a 'Domain Event'?
A.A scheduled meeting
B.A coding error
C.Something that happened in the domain that the experts care about
D.A server restart
Correct Answer: Something that happened in the domain that the experts care about
Explanation:
Domain Events capture significant occurrences within the business domain (e.g., 'OrderPlaced', 'PaymentFailed').
Incorrect! Try again.
33Which testing strategy is most complex in Microservices?
A.Static Analysis
B.End-to-End (Integration) Testing
C.Unit Testing
D.Manual Testing
Correct Answer: End-to-End (Integration) Testing
Explanation:
Testing a flow that spans multiple independent services is difficult due to the need to coordinate states and environments across distributed systems.
Incorrect! Try again.
34Idempotency in API design means:
A.An API call can be made multiple times without changing the result beyond the initial application
B.An API call is only allowed once
C.The API is secure
D.The API is fast
Correct Answer: An API call can be made multiple times without changing the result beyond the initial application
Explanation:
Idempotency ensures that retrying a request (e.g., due to network failure) does not cause unintended side effects (like charging a card twice).
Incorrect! Try again.
35What helps ensure 'High Cohesion' in a microservice?
A.Spreading related logic across multiple services
B.Connecting to multiple databases
C.Ensuring the service does one thing and does it well
D.Grouping unrelated functions together
Correct Answer: Ensuring the service does one thing and does it well
Explanation:
High cohesion means that the elements within a module/service belong together and are focused on a single responsibility.
Incorrect! Try again.
36In the context of service boundaries, what is 'Decomposition by Subdomain'?
A.Splitting services by developer teams
B.Dividing services by file size
C.Defining services corresponding to Domain-Driven Design (DDD) subdomains
D.Splitting services based on URL subdomains
Correct Answer: Defining services corresponding to Domain-Driven Design (DDD) subdomains
Explanation:
This strategy uses DDD concepts to identify Core, Supporting, and Generic subdomains and maps services to them.
Incorrect! Try again.
37What is the relationship between an API Gateway and Cross-Cutting Concerns?
A.API Gateway ignores cross-cutting concerns
B.API Gateway offloads concerns like auth, logging, and SSL termination from individual services
C.Microservices must handle all cross-cutting concerns individually
D.Cross-cutting concerns are handled by the database
Correct Answer: API Gateway offloads concerns like auth, logging, and SSL termination from individual services
Explanation:
Centralizing things like authentication and SSL in the Gateway simplifies the individual microservices.
Incorrect! Try again.
38Which of the following best describes 'Loose Coupling'?
A.Services share the same memory space
B.Changes in one service do not require changes in other services
C.Services are heavily dependent on each other's internal implementation
D.Services must differ in programming languages
Correct Answer: Changes in one service do not require changes in other services
Explanation:
Loose coupling ensures that services interact via defined interfaces, so internal changes in one do not break others.
Incorrect! Try again.
39What is a 'Shared Kernel' in DDD Context Mapping?
A.A shared physical server
B.A subset of the domain model shared by two teams/contexts
C.A shared operating system
D.A shared database password
Correct Answer: A subset of the domain model shared by two teams/contexts
Explanation:
Shared Kernel is a pattern where two bounded contexts share a common part of the model/code, requiring close coordination.
Incorrect! Try again.
40Which format is most commonly used for Microservices configuration?
A.YAML or JSON
B.HTML
C.C++ Header files
D.Binary code
Correct Answer: YAML or JSON
Explanation:
Configuration (like Kubernetes manifests or Docker Compose) is typically human-readable YAML or JSON.
Incorrect! Try again.
41The 'Two-Phase Commit' (2PC) protocol is often avoided in Microservices because:
A.It is too fast
B.It is not secure
C.It creates tight coupling and reduces availability (blocking)
D.It is only for Monoliths
Correct Answer: It creates tight coupling and reduces availability (blocking)
Explanation:
Distributed transactions like 2PC lock resources across services, hurting performance and availability. Sagas are preferred.
Incorrect! Try again.
42Ideally, a Microservice should be:
A.Independently deployable
B.Large and comprehensive
C.Dependent on a central orchestrator
D.Written in the same language as all other services
Correct Answer: Independently deployable
Explanation:
The core value of microservices is the ability to deploy changes to one service without redeploying the whole system.
Incorrect! Try again.
43What does 'API Composition' refer to?
A.Querying data from several services and combining it in memory
B.Encrypting APIs
C.Writing documentation for APIs
D.Compiling API code
Correct Answer: Querying data from several services and combining it in memory
Explanation:
API Composition is a pattern (often in the Gateway) to retrieve data from multiple services to build a view.
Incorrect! Try again.
44In DDD, a 'Repository' is responsible for:
A.Routing HTTP requests
B.Managing user sessions
C.Encapsulating the logic to access data sources and returning domain objects
D.Storing source code (like Git)
Correct Answer: Encapsulating the logic to access data sources and returning domain objects
Explanation:
Repositories provide a collection-like interface for accessing domain objects, hiding the details of the underlying database.
Incorrect! Try again.
45What is the risk of 'Chatty' communication between microservices?
A.Increased network latency and reduced performance
B.Social engineering attacks
C.Too many log files
D.Database corruption
Correct Answer: Increased network latency and reduced performance
Explanation:
If services call each other too frequently (chatty), the network overhead accumulates, slowing down the application.
Incorrect! Try again.
46Which of the following is a symptom of a 'Distributed Monolith'?
A.Each service has its own database
B.Services must be deployed together in a specific order
C.Services share high cohesion
D.Services are independently deployable
Correct Answer: Services must be deployed together in a specific order
Explanation:
If microservices are so tightly coupled that they cannot be deployed independently, the system loses the benefits of microservices and becomes a distributed monolith.
Incorrect! Try again.
47Domain-Driven Design focuses primarily on:
A.The core business logic and domain complexities
B.The user interface design
C.The infrastructure setup
D.The database schema
Correct Answer: The core business logic and domain complexities
Explanation:
DDD emphasizes tackling complexity in the heart of the software (the business domain) rather than technology first.
Incorrect! Try again.
48Rate Limiting in an API Gateway helps to:
A.Increase the speed of the internet
B.Reduce the cost of software licenses
C.Limit the number of developers on a project
D.Protect services from being overwhelmed by too many requests
Correct Answer: Protect services from being overwhelmed by too many requests
Explanation:
Rate limiting restricts the number of requests a client can make in a given timeframe to prevent abuse or overload.
Incorrect! Try again.
49Who coined the term 'Microservices'?
A.Steve Jobs
B.Linus Torvalds
C.Dr. Peter Rogers (or popularized by Martin Fowler/James Lewis)
D.Bill Gates
Correct Answer: Dr. Peter Rogers (or popularized by Martin Fowler/James Lewis)
Explanation:
While the concept evolved, the term was popularized by Martin Fowler and James Lewis, and originated from ideas discussed by Dr. Peter Rogers.
Incorrect! Try again.
50Which technology is most closely associated with containerizing Microservices?
A.Apache Tomcat
B.VirtualBox
C.MySQL
D.Docker
Correct Answer: Docker
Explanation:
Docker is the standard platform for creating containers, which are lightweight execution environments perfect for microservices.