Questions
ayuda
option
My Daypo

ERASED TEST, YOU MAY BE INTERESTED ONSoftware Design and Architecture

COMMENTS STATISTICS RECORDS
TAKE THE TEST
Title of test:
Software Design and Architecture

Description:
Software Design and Architecture Question Bank

Author:
AVATAR
Eng. Mohamed Fakhry
(Other tests from this author)


Creation Date:
08/01/2024

Category:
Open University

Number of questions: 240
Share the Test:
Facebook
Twitter
Whatsapp
Share the Test:
Facebook
Twitter
Whatsapp
Last comments
No comments about this test.
Content:
Q1: What is Software Development Life Cycle (SDLC)? A) Software Development Logic Cycle B) Systematic Development Life Cycle C) Software Design and Lifecycle D) Software Development Life Cycle.
Q2: What is the purpose of the Software Requirement Specification (SRS) document in SDLC? A) Coding guidelines B) Business requirements gathering C) Software testing standards D) System architecture design.
Q3: In which phase of SDLC is software architecture defined and documented? A) Requirements gathering B) Development C) Testing D) Design.
Q4: What sequential steps are involved in SDLC after writing the SRS document? A) Coding, testing, deployment B) Designing, developing, testing, acceptance, deployment, maintenance C) Planning, execution, monitoring, closure D) Requirement analysis, design, implementation, testing, maintenance.
Q5: What does software architecture define in a system? A) Only the user interface B) Only the coding standards C) The global organization of a software system D) Only the database structure.
Q6: What is the core impact of software architecture on a final product? A) Cost B) Quality, maintainability, performance, reusability C) Timeline D) Deployment strategy.
Q7: What does an architectural blueprint provide for a system? A) Detailed code implementation B) Abstraction to manage system complexity C) Project timeline D) Only documentation.
Q8: What contributes to software architecture and design building? A) Marketing strategy B) Human dynamics C) Project budget D) Only IT environment.
Q9: What does a software architecture define about the behaviour of a system? A) Only the user interactions B) Only component relationships C) The overall behaviour of a system D) Only the communication structure.
Q10: Why does a software architecture focus on significant elements? A) To increase complexity B) To reduce maintainability C) To provide an overview of the system D) To hinder communication between teams.
Q11: What enables the selection of Quality Attributes for optimization in a system? A) Deployment strategy B) Software architecture C) Project timeline D) Only development team expertise.
Q12: How does software architecture reduce development costs? A) By increasing complexity B) By facilitating early prototyping C) By reducing scalability D) By ignoring customer needs.
Q13: What does scalability refer to in software architecture? A) The ability to fend off illegal entry B) Capacity to manage an expanding workload C) Ease of modification or updating D) Measure of how quickly a system operates.
Q14: What is reliability in terms of software architecture? A) Ease of modification B) Capacity to respond quickly to user requests C) Ability to carry out intended functions without interruption D) Measure of how quickly a system operates.
Q15: What does availability refer to in software architecture? A) Capacity to respond quickly to user requests B) Capacity to manage an expanding workload C) Ability to exchange data with other systems D) Capacity to transfer or adapt to different platforms.
Q16: What does maintainability focus on in software architecture? A) Ease of modification or updating B) Capacity to fend off illegal entry C) Ability to carry out intended functions without interruption D) Measure of how quickly a system operates.
Q17: What is the security attribute in software architecture concerned with? A) Measure of how quickly a system operates B) Capacity to respond quickly to user requests C) Ability to fend off illegal entry and data breaches D) Ease of modification or updating.
Q18: What does performance measure in software architecture? A) Ability to carry out intended functions without interruption B) Capacity to respond quickly to user requests C) Ease of modification or updating D) Measure of how quickly a system operates.
Q19: What does testability refer to in software architecture? A) Capacity to respond quickly to user requests B) Ability to carry out intended functions without interruption C) Ease of modification or updating D) Capacity for efficient testing.
Q20: What is usability in terms of software architecture? A) Measure of how quickly a system operates B) Ability to carry out intended functions without interruption C) Capacity to respond quickly to user requests D) Ease with which users can perform specific tasks.
Q21: What does portability refer to in software architecture? A) Ability to carry out intended functions without interruption B) Ease of modification or updating C) Ease of transfer or adaptation to different platforms D) Measure of how quickly a system operates.
Q22: What is interoperability in software architecture? A) Capacity to respond quickly to user requests B) Ability to fend off illegal entry and data breaches C) Ability to communicate and exchange data with other systems D) Measure of how quickly a system operates.
Q23: What does compatibility refer to in software architecture? A) Measure of how quickly a system operates B) Ability to carry out intended functions without interruption C) Ability to exchange data with other systems D) Degree to which a system can perform its main functions.
Q24: What is flexibility in terms of software architecture? A) Measure of how quickly a system operates B) Capacity to transfer or adapt to different platforms C) Ability to adjust to shifting demands D) Ease of modification or updating.
Q25: What does an architectural style show in software design? A) Detailed code implementation B) Highest level of abstraction of the system design C) Marketing strategy D) Only development team expertise.
Q26: What does an architectural pattern provide solutions for in software design? A) Only component relationships B) Recurring problems C) Only user interactions D) Only coding standards.
Q27: What do design patterns accumulate in software development? A) Marketing strategies B) Best practices and experiences C) Coding standards D) Only user interactions.
Q28: What is an example of an architectural style in software design? A) MVC B) N-tier C) Domain-driven design D) All of the above.
Q29: What is an example of an architectural pattern in software design? A) MVC B) Scalability C) Reliability D) Only user interactions.
Q30: What does a design pattern in software development provide solutions for? A) User interactions B) Best practices and experiences C) System architecture D) Only coding standards.
Q31: What characterizes a monolithic architecture? A) Multiple deployment units B) Separate memory for each component C) Single deployment unit D) High scalability.
Q32: In which scenario is a monolithic architecture suitable? A) Large-scale programs with high scalability B) Small to medium-sized programs with simple functionality C) Applications requiring distributed services D) Complex applications with frequent changes.
Q33: What is a drawback of monolithic architectures in terms of maintenance? A) Quick updates B) Limited scalability C) Reduced deployment time D) Challenges in updating requiring rebuilding and redeploying the entire application.
Q34: What is a key advantage of distributed architectures in terms of scalability? A) Scalability at the application level B) Limited scalability C) Scalability at the individual service level D) Reduced deployment time.
Q35: What is a benefit of distributed architectures in terms of fault tolerance? A) Lower cost B) Higher cost C) High levels of fault tolerance D) Limited reliability.
Q36: How is technical partitioning organized in architecture? A) By domain areas B) By technical usage C) By scalability D) By fault tolerance.
Q37: What is an example of a technically partitioned architecture? A) Microservices architecture B) Layered architecture C) Modular monolith architecture D) Event-driven architecture.
Q38: In domain partitioning, how are components organized? A) By technical usage B) By scalability C) By domain areas D) By fault tolerance.
Q39: Which type of partitioning is effective for changes in a specific part of the system? A) Technical partitioning B) Domain partitioning C) Scalability partitioning D) Fault tolerance partitioning.
Q40: What is a use case for technical partitioning? A) Changing user interface framework B) Isolating changes to business rules C) Changes in a specific domain D) Swapping out databases.
Q41: What is the primary goal of layered architecture? A) Integration of services B) Isolation of concerns C) Fault tolerance D) High scalability.
Q42: Which layer is responsible for managing user interactions in layered architecture? A) Presentation layer B) Business layer C) Persistence layer D) Database layer.
Q43: In layered architecture, where are data access and database operations handled? A) Presentation layer B) Business layer C) Persistence layer D) Database layer.
Q44: What is the importance of the "layers of isolation" concept in layered architecture? A) Allows any layer to access all other layers B) Enables complete independence of layers C) Restricts changes to a single layer D) Increases overall system complexity.
Q45: When might an architecture sinkhole anti-pattern occur in layered architecture? A) When layers are too isolated B) When requests flow through multiple layers with little logic C) When layers are open D) When layers are not isolated.
Q46: What does the 80-20 rule suggest in the context of layered architecture sinkhole? A) 80% of requests should flow through multiple layers B) 20% of requests should flow through multiple layers C) 100% of requests should flow through multiple layers D) No requests should flow through multiple layers.
Q47: In a layered architecture, what layer restricts access to shared services? A) Presentation layer B) Business layer C) Persistence layer D) Service layer.
Q48: Why is the service layer important in layered architecture? A) It increases overall system complexity B) It restricts access to common services C) It allows direct access from the presentation layer D) It hinders communication between layers.
Q49: When is layered architecture a good fit for a project? A) When there are no budget constraints B) When changes are domain-scoped C) When there are no time constraints D) When changes are technically partitioned.
Q50: What characterizes an open layer in layered architecture? A) Requests are allowed to bypass the layer B) Requests must go through the layer C) All layers are open D) There are no open layers.
Q51: What is the primary goal of Microkernel Architecture? A) Increase complexity of the core system B) Reduce change in the core system C) Minimize the use of plug-in modules D) Limit the extensibility of the system.
Q52: In Microkernel Architecture, what are the two types of architecture components? A) Core system and monolithic modules B) Basic system and complex modules C) Basic core system and plug-in modules D) Central system and distributed modules.
Q53: What benefits does Microkernel Architecture provide? A) Reduced isolation B) Limited extensibility C) Enhanced scalability D) Extensibility, flexibility, and isolation of application features.
Q54: What is a characteristic of plug-in modules in Microkernel Architecture? A) Dependent on other plug-in modules B) Communication between plugins is maximum C) Designed to confuse dependencies D) Standalone, independent components.
Q55: What does the core system need to know about plug-in modules in Microkernel Architecture? A) Detailed implementation of each plug-in B) How to change plug-in functionalities C) Which plug-in modules are available and how to access them D) Only the total number of plug-in modules.
Q56: How can plug-in modules be deployed in a Monolithic architecture style? A) As separate libraries or modules B) As part of a single consolidated codebase C) Both A and B D) Neither A nor B.
Q57: In a Distributed architecture, how are plug-in modules implemented and accessed? A) As part of the core system codebase B) Through REST or messaging interfaces C) By directly communicating with each other D) As separate monolithic modules.
Q58: What is the benefit of a Distributed architecture in Microkernel? A) Limited runtime deployment of plug-in components B) Better internal scalability and responsiveness C) Both A and B D) Neither A nor B.
Q59: Which of the following is an example of a product using Microkernel Architecture? A) A standalone calculator application B) A basic text editor C) An Internet browser with various plugins D) An operating system kernel.
Q60: What benefit does an IDE (Integrated Development Environment) gain from Microkernel Architecture? A) Reduced customization B) Decreased modularity C) Highly customizable and useful product D) Limited extensibility.
Q61: In the claims processing use case, what does the core system contain? A) Specific rules for each state B) Basic business logic for processing a claim C) Custom laws processing for all regions D) None of the above.
Q62: What makes Microkernel Architecture a good choice for product-based applications? A) Limited extensibility B) Decreased flexibility C) Planned extensions and releasing additional features D) Tight budget and time constraints.
Q63: When is Microkernel Architecture a good choice for applications? A) For applications with limited configurations B) When overall fault tolerance is critical C) For highly scalable and elastic systems D) For planned extensions and releasing additional features.
Q64: Why is Microkernel Architecture not well-suited for highly scalable systems? A) Limited extensibility B) Core system acts as the main bottleneck C) Reduced flexibility D) Poor isolation of application features.
Q65: What factor makes overall fault tolerance challenging in Microkernel Architecture? A) Limited runtime deployment B) Dependence on distributed modules C) Core system as an entry point D) Lack of communication between plugins.
Q66: When is Microkernel Architecture not a good match for a problem? A) When changes are within the core system B) When scalability is a primary concern C) When modularity is not required D) All of the above.
Q67: How is a microservice defined in Microservices Architecture? A) Multi-purpose, combined unit of software B) Single-purpose, separately deployed unit of software C) Highly complex and monolithic software D) Specialized, non-deployable software.
Q68: What is the primary role of an API gateway in Microservices Architecture? A) Hide the location of clients B) Manage client-side databases C) Perform business logic D) Route requests to backend services.
Q69: How does communication occur between microservices in Microservices Architecture? A) Direct database access B) Inter-service orchestration C) API gateway only D) Requests through API gateway to separately deployed services.
Q70: What does the term "Bounded Context" refer to in Microservices Architecture? A) The size of microservices B) The range of data an API gateway can handle C) The encapsulation of source code and data structures within a microservice D) The number of endpoints in an API gateway.
Q71: In the context of Microservices Architecture, what facilitates architectural agility? A) Tight coupling of databases B) Loose coupling of services C) Direct access to other services' data D) Monolithic database structure.
Q72: What characteristic of microservices allows the use of different database technologies for different services? A) Data isolation B) Polyglot persistence C) Service coupling D) Monolithic persistence.
Q73: When is Microservices Architecture well-suited for applications? A) When all functions are tightly coupled B) When data is monolithic C) When separate and distinct functions exist within a business workflow D) When there is a need for complex inter-service communication.
Q74: What does Microservices Architecture provide for applications that require high levels of agility? A) Tight coupling B) Low maintainability C) Loose coupling D) Monolithic deployment.
Q75: When is Microservices Architecture not recommended? A) When there is a need for complex workflows B) When data is tightly coupled with functionality C) When there are separate deployment units D) When there is a need for loose coupling.
Q76: What can impact the performance aspects of Microservices Architecture the most? A) Tight network security B) High levels of data latency C) Low API gateway responsiveness D) Limited inter-service communication.
Q77: What is the impact of network latency in Microservices Architecture? A) Increased service responsiveness B) Decreased packet delivery time C) Improved communication between services D) Varying time for packets to reach the target service.
Q78: Why is Microservices Architecture not suitable for applications requiring complex inter-service communication or orchestration? A) Loose coupling of services B) Independent deployment units C) Highly modular architecture D) Complexity and interdependence of workflows.
Q79: What is the role of an API gateway in Microservices Architecture? A) Perform business logic B) Manage client-side databases C) Route requests to backend services D) Contain the main application logic.
Q80: How does Microservices Architecture support maintainability? A) Tight coupling of data and functionality B) Loose coupling of services C) Limited use of API gateways D) Monolithic deployment.
Q81: In Microservices Architecture, what does the bounded context ensure? A) Tight coupling between data and functionality B) Subdomain functionality and data are bound together C) Unlimited inter-service communication D) Direct access to other services' databases.
Q82: What is the impact of a change to a single database in Microservices Architecture with a large number of services accessing it? A) Limited impact B) Moderate impact C) Extensive impact D) No impact.
Q83: What role does the API gateway play in microservices besides routing requests? A) Performing business logic B) Cross-cutting infrastructure-related functions C) Orchestrating inter-service communication D) Direct data access.
Q84: What does the term "polyglot persistence" refer to in Microservices Architecture? A) Tight coupling of data and functionality B) Using different database technologies for different microservices C) Limited data isolation D) Monolithic database structure.
Q85: Why does Microservices Architecture support easier testability? A) Tight coupling of services B) Limited data isolation C) Reduced scope for regression testing D) Single-purpose service testing.
Q86: What is a key characteristic of a microservice in Microservices Architecture? A) Multi-purpose functionality B) Direct database access C) Independent deployment D) Monolithic structure.
Q87: How does Microservices Architecture impact deployment risk? A) Increases deployment risk B) Requires big-bang deployments C) Significantly reduces deployment risk D) Has no impact on deployment risk.
Q88: Why is Microservices Architecture suitable for elastic systems? A) Limited inter-service communication B) Mean time to start (MTTS) and mean time to recovery (MTTR) C) Monolithic deployment D) Data isolation.
Q89: What is the primary focus of Microservices Architecture when adding functionality? A) Modifying core system B) Creating a single large service C) Creating separate, single-purpose services D) Dependent on complex workflows.
Q90: What characterizes applications that are well-suited for Microservices Architecture? A) Highly monolithic workflows B) Complex inter-service communication C) Separate and distinct functions within a business workflow D) Single and tightly-coupled functions.
Q91: What is the primary benefit of the Bounded Context concept in Microservices Architecture? A) Encourages tight coupling B) Simplifies data access C) Ensures subdomain functionality and data are bound together D) Supports complex workflows.
Q92: What is the primary characteristic of Event Driven Architecture (EDA)? A) Synchronous processing B) Decoupled event processors C) Complex workflows D) Limited fault tolerance.
Q93: In EDA, what triggers events and responds to events happening in the system? A) API gateway B) Request-based processing C) Event processors D) Monolithic architecture.
Q94: What is the purpose of an initiating event in Event Driven Architecture? A) Triggers asynchronous events B) Kicks off synchronous workflows C) Responds to state changes D) Advertises state changes to the system.
Q95: Which is an example of an initiating event in EDA? A) Placing an order B) Validating an order C) Executing a financial trade D) Updating inventory.
Q96: What is the role of an event processor in Event Driven Architecture? A) Direct data access B) Complex orchestration C) Triggering and responding to asynchronous events D) Synchronous processing.
Q97: What is the relationship between an initiating event and a processing event in EDA? A) One-to-one B) Many-to-one C) One-to-many D) Many-to-many.
Q98: What does the term "Event channel" refer to in Event Driven Architecture? A) Database schema B) Physical messaging artifact C) API gateway endpoint D) Data warehouse.
Q99: How do initiating events use the event channel in EDA? A) Publish-subscribe channels B) Point-to-point channels C) Direct data access D) Inter-service orchestration.
Q100: What is the primary focus of architectural extensibility in EDA? A) Tight coupling of services B) Advertise state changes regardless of responses C) Minimize state changes D) Request-based processing.
Q101: In EDA, why does the Notification service trigger an event even if no other service responds? A) To increase latency B) To simplify data access C) Architectural extensibility D) Minimize event processing.
Q102: How can Microservices benefit from Event Driven Architecture? A) Increased data coupling B) Centralized data storage C) Efficient information sharing among decoupled services D) Limited scalability.
Q103: In the example of Sales and billing services, how does EDA handle a failed call to the billing service? A) Continues running without error B) Requires manual intervention C) Triggers a system shutdown D) Halts the entire system.
Q104: What does EDA enable in end-to-end updates for payment transaction failures? A) Request/response delays B) Improved customer satisfaction C) Complex inter-service communication D) Connecting internal event-driven systems to customer-facing updates.
Q105: How does EDA support real-time data analysis in logistics dashboards? A) Stalls data transmission B) Request/response delays C) Efficient processing without delays D) Limited data monitoring.
Q106: What advantage does EDA offer in IoT applications, such as shipment monitoring devices? A) Increased latency B) Efficient communication among many nodes C) Limited data isolation D) Dependency on centralized processing.
Q107: When is Event Driven Architecture a good choice? A) Request-based processing B) Low fault tolerance C) High scalability and performance are required D) Limited extensibility.
Q108: What problem does EDA excel at solving in systems? A) Managing synchronous workflows B) Handling complex decision trees C) Complex, nondeterministic workflows D) Reducing scalability.
Q109: What should you consider if your business stakeholders use terms like "event" and "triggers"? A) Avoid EDA as an architecture style B) Consider EDA for asynchronous processing C) Focus on synchronous processing D) Increase inter-service communication.
Q110: When is EDA not recommended? A) When most processing is request-based B) For systems requiring high data consistency C) For systems with complex workflows D) When tight control over workflow and timing is needed.
Q111: Why is error handling considered complex in EDA? A) Centralized workflow orchestrator B) Little or no guarantee of processing timing C) Increased data consistency D) Reduced inter-service communication.
Q112: What does EDA not guarantee in terms of data consistency? A) Synchronous processing B) Centralized data access C) Error-free data handling D) Timing of processing events.
Q113: What does EDA provide in terms of fault tolerance? A) Centralized fault handling B) Limited fault tolerance C) High fault tolerance D) Synchronous fault responses.
Q114: What type of processing does EDA not suit well? A) Request-based B) Asynchronous C) Synchronous D) Event-based.
Q115: In EDA, what should you consider if you need control over workflow and timing of events? A) Choose EDA for better control B) Increase inter-service communication C) Consider other architecture styles D) Rely on centralized event processing.
Q116: What is a potential issue with communication between services in EDA? A) Limited latency B) Reduced security latency C) Increased data isolation D) Network latency.
Q117: What does SRP stand for in SOLID principles? A) Simple Responsibility Principle B) Single Responsibility Principle C) Systematic Responsibility Principle D) Standard Responsibility Principle.
Q118: According to SRP, a module should be responsible for how many actors? A) Two B) Three C) One D) Unlimited.
Q119: Why does a class with multiple responsibilities violate SRP? A) Enhances code readability B) Promotes code coupling C) Facilitates code duplication D) Affects maintainability.
Q120: What is the solution to SRP violation involving an employee class? A) Merge responsibilities into a single method B) Separate data from functions, moving them into different classes C) Ignore the violation for simplicity D) Create a monolithic class.
Q121: What is the purpose of the Employee Facade class in the SRP solution? A) Data manipulation B) Instantiating and delegating to classes with functions C) Code coupling D) Handling asynchronous events.
Q122: What does OCP stand for in SOLID principles? A) Overarching Closed Principle B) Open-Closed Principle C) Optimized Coding Principle D) Overlapping Closure Principle.
Q123: According to OCP, a software artifact should be open for what? A) Modification B) Extension C) Deletion D) Duplication.
Q124: What problem does OCP aim to solve? A) Reduce code readability B) Increase system complexity C) Make the system easy to extend without modifying D) Promote tight coupling.
Q125: In the OCP solution, what are the two separate responsibilities identified? A) Data and presentation B) Web and mobile development C) Calculation of data and presentation of data D) Front-end and back-end development.
Q126: How does OCP partition the system into components in the solution? A) Bidirectional towards the Interactor B) Unidirectional towards the Interactor C) Centrally controlled components D) Interdependent components.
Q127: What does LSP stand for in SOLID principles? A) Longitudinal Substitution Principle B) Liskov Substitution Principle C) Logical Substitution Principle D) Layered Substitution Principle.
Q128: In LSP violation, why is a Square not a proper subtype of Rectangle? A) Square has fewer sides B) Square has independently mutable height and width C) Rectangle has fewer sides D) Rectangle is immutable.
Q129: What is the solution to the LSP violation involving Square and Rectangle? A) Use inappropriate inheritance B) Make Square a proper subtype of Rectangle C) Introduce additional dependencies D) Increase side effects.
Q130: How does the design conform to LSP in the given solution? A) Behavior depends on the subtype used B) Both subtypes are substitutable for any polygon shape type C) Square remains immutable D) Rectangle has independently mutable sides.
Q131: How can LSP be extended to the level of architecture? A) By adding more layers to the system B) By introducing additional dependencies C) By reducing the impact of changes D) By increasing source code complexity.
Q132: What does ISP stand for in SOLID principles? A) Integrated Service Principle B) Interface Segregation Principle C) Interdependent Segmentation Principle D) Inherited Service Principle.
Q133: Why is a change to op2 in OPS forcing User1 recompilation an ISP violation? A) OPS class is immutable B) User1 depends on unnecessary interfaces C) OPS class is too large D) OPS class is too small.
Q134: What is the goal of ISP in reducing the frequency of required changes? A) Increase side effects B) Splitting the software into multiple independent parts C) Facilitate code coupling D) Promote tight dependencies.
Q135: How does ISP apply to statically typed languages like Java? A) Enhances source code dependencies B) Infers dependencies at runtime C) Reduces flexibility and increases coupling D) Forces recompilation and redeployment.
Q136: Why do dynamically typed languages like Ruby and Python create more flexible systems? A) They have more static declarations B) They have fewer runtime inferences C) They lack source code dependencies D) They depend on volatile concrete classes.
Q137: What does DIP stand for in SOLID principles? A) Dependency Isolation Principle B) Dynamic Inference Principle C) Dependency Inversion Principle D) Distributed Isolation Principle.
Q138: What are the two types of concrete elements in DIP? A) Immutable and mutable B) Stable and volatile C) Dynamic and static D) Inherited and abstract.
Q139: According to DIP, what should you do with volatile concrete classes? A) Increase dependencies B) Embrace tight coupling C) Refer directly in source code D) Avoid referring directly, use abstract interfaces.
Q140: What is the purpose of Stable Abstraction Rules in DIP? A) Increase dependencies on volatile elements B) Decrease flexibility C) Refer to abstract interfaces instead of volatile concrete classes D) Promote source code dependencies.
Q141: How does DIP protect against source code dependencies? A) By embracing tight coupling B) By reducing abstract interfaces C) By crossing architectural boundaries D) By referring to volatile concrete classes.
Q142: What does the Clean Architecture emphasize regarding frameworks? A) Dependent on frameworks B) Independent of frameworks C) Adaptation to frameworks D) Strict coupling with frameworks.
Q143: According to the Clean Architecture, why should business rules be testable independently? A) To increase UI complexity B) To enhance database dependency C) To allow testing without external elements D) To promote UI changes.
Q144: What does the Clean Architecture suggest about the UI's impact on the system when changed? A) System should change with the UI B) UI changes should affect the business rules C) UI can change without affecting the rest of the system D) UI changes should lead to database changes.
Q145: In the Clean Architecture, why are business rules not bound to the database? A) To enforce tight coupling B) To enable easy database swaps C) To complicate data retrieval D) To increase database dependency.
Q146: What is the Dependency Rule in the Clean Architecture about? A) Tight coupling between all layers B) Outer circles depend on inner circles C) Inner circles depend on outer circles D) No dependencies between any circles.
Q147: Which layer in the Clean Architecture contains enterprise-wide critical business rules? A) Interface Adapters B) Use Cases C) Entities D) Frameworks and Drivers.
Q148: What is the responsibility of the Use Cases layer in the Clean Architecture? A) Handling externalities B) Containing MVC architecture C) Orchestrating flow of data to and from entities D) Managing database details.
Q149: In Clean Architecture, what does the Interface Adapters layer convert data for? A) Business rules B) Use Cases C) External agencies D) Frameworks and tools.
Q150: Which layer of the Clean Architecture includes frameworks and tools like databases? A) Entities B) Use Cases C) Interface Adapters D) Frameworks and Drivers.
Q151: What does "Crossing Boundaries" in Clean Architecture show? A) Cross-domain communication B) Communication between layers C) Interaction with external agencies D) Interaction within the same layer.
Q152: What is the purpose of Architectural Patterns in software design? A) Increase system complexity B) Provide solutions for recurring problems C) Encourage tight coupling D) Limit code interactions.
Q153: Which architectural pattern mainly relates to the UI/interaction layer in an application? A) Model View Controller (MVC) B) Model View Presenter (MVP) C) Model View-View Model (MVVM) D) Microkernel.
Q154: What is the primary responsibility of the Model in the MVC pattern? A) Rendering UI elements B) Describing pure logic for data presentation C) Interacting with the view D) Orchestrating flow of data.
Q155: Why is Unit testing the view difficult in MVC? A) The view is monolithic B) Model and View are loosely coupled C) UI framework is absent D) Dependency Rule violation.
Q156: What does the Model View Presenter (MVP) architecture aim to achieve? A) Tight coupling between view and model B) Loosely coupled view and model C) Monolithic view design D) Increased UI automation.
Q157: In MVVM, what is responsible for rendering UI elements? A) Model B) View C) View Model D) Presenter.
Q158: How does View Model act as a link between the model and the view in MVVM? A) Direct data binding B) Observables on data C) UI automation D) Monolithic design.
Q159: What does MVVM abstract, reducing the quantity of business logic in the code? A) The View B) The View Model C) The Model D) The Controller.
Q160: Why is Unit testability highest in MVVM architecture? A) UI automation B) Tight coupling C) Loose coupling D) Data binding logic complexity.
Q161: What is an advantage of MVVM when compared to MVC and MVP? A) Increased UI complexity B) Modular and single responsibility principle C) Tight coupling between layers D) Dependency on UI framework.
Q162: Which architecture is known for having the one-to-many relationship between Controller and View? A) MVC B) MVP C) MVVM D) Microkernel.
Q163: What is a characteristic of MVP in terms of View and Presenter? A) Loosely coupled B) Monolithic design C) One-to-one relationship D) Difficult unit testing.
Q164: In which architecture is it common to have multiple Views mapped with a single View Model? A) MVC B) MVP C) MVVM D) Domain-driven design.
Q165: What does the MVVM pattern abstract in order to reduce business logic in the code? A) View B) View Model C) Model D) Controller.
Q166: Which architectural pattern is ideal for both simple and complex applications? A) MVC B) MVP C) MVVM D) Microkernel.
Q167: What is the definition of a design pattern, according to Christopher Alexander? A) Unique solution to a specific problem B) Custom code implementation C) Recurring solution to a common problem in a given context D) Random coding practice.
Q168: Why is learning design patterns important? A) To increase program complexity B) To create unique solutions C) To understand principles of object-oriented design D) To promote tight coupling.
169: What does a design pattern provide to a development team? A) A unique language for coding B) A way to increase program complexity C) A common language for efficient communication D) Tight coupling between components.
Q170: Which of the following is a basic software design pattern? A) Facade B) Singleton C) Observer D) Prototype.
Q171: According to design patterns, what does an "Interface" define? A) Concrete implementation details B) Set of rules for class hierarchy C) Common language for communication D) Recurring solution to a problem.
Q172: What do Creational Patterns in design patterns primarily deal with? A) Modification of existing objects B) Dealing with object creation C) Communication between objects D) Management of object state.
Q173: What is the main purpose of the Singleton pattern? A) Encouraging object creation B) Supporting multiple instances of a class C) Ensuring only one instance of a class exists D) Enforcing tight coupling.
Q174: When is the Singleton pattern applicable? A) When a class should have multiple instances B) When global variables are needed C) When a class should have only one instance shared by all clients D) When loose coupling is required.
Q175: What is a common drawback of the Singleton pattern? A) Easy unit testing B) Violation of the Single Responsibility Principle C) Loose coupling with code D) Compatibility with multithreading.
Q176: Why is unit testing client code of the Singleton pattern challenging? A) Due to loose coupling B) The pattern encourages unit testing C) The pattern is monolithic D) Special treatment is required for multithreading.
Q177: What does the Factory Method pattern provide an interface for? A) Direct object creation B) Manipulating existing objects C) Creating objects in a superclass D) Tight coupling with concrete classes.
Q178: How does the Factory Method pattern suggest replacing object construction calls? A) Using the Observer pattern B) Using direct construction calls C) Using the new operator D) Using a special factory method.
Q179: When is the Factory Method pattern beneficial? A) When exact types and dependencies of objects are known B) When strict control over global variables is needed C) When creating different representations of a product is required D) When the program should work with unknown types and dependencies.
Q180: In the Factory Method pattern, what does the common product interface declare? A) Concrete construction steps B) Loosely coupled methods C) Methods that make sense in every product D) Product dependencies.
Q181: What is a drawback of the Factory Method pattern? A) Code simplicity increases B) Tight coupling between creator and objects C) Easy unit testing D) Requires fewer subclasses for implementation.
Q182: What does the Builder pattern provide a way to construct? A) Simple objects B) Complex objects step by step C) Abstract classes D) Interface implementations.
Q183: What does the Builder pattern suggest regarding object construction code? A) Leave it in the base class B) Move it to a separate class called director C) Keep it monolithic D) Extract it into the product class.
Q184: What is a benefit of the Builder pattern regarding system resources? A) It requires rebuilding objects each time B) It promotes tight coupling C) It reuses existing objects, saving resources D) It increases code complexity.
Q185: When is the Builder pattern applicable? A) When dealing with small, non-resource-intensive objects B) When exact types and dependencies of objects are known C) When building different representations of a product is required D) When direct construction calls are preferred.
Q186: What does the Builder pattern help eliminate? A) Multiple construction steps B) Telescoping constructor C) Complex product interfaces D) Builder subclasses.
Q187: What is one of the pros of design patterns? A) Tight coupling between components B) Violation of Single Responsibility Principle C) Isolation of complex construction code D) Reduction of overall code complexity.
Q188: What is one of the cons of design patterns, especially the Builder pattern? A) Reuse of construction code B) Isolation of business logic C) Overall increase in code complexity D) Reduction of resource usage.
Q189: What do structural design patterns explain in software design? A) Object creation B) How to assemble objects into larger structures C) Behavioural responsibilities D) Algorithm implementations.
Q190: Which structural design pattern allows objects with incompatible interfaces to collaborate? A) Bridge pattern B) Adapter pattern C) Decorator pattern D) Proxy pattern.
Q191: What does the Composite pattern do in structural design patterns? A) Converts interfaces B) Simplifies structure by identifying relationships C) Allows objects with incompatible interfaces to collaborate D) Assembles objects into tree structures.
Q192: What is the primary purpose of the Proxy pattern? A) Convert interfaces B) Control access to the original object C) Assemble objects into larger structures D) Identify relationships in structures.
Q193: In the context of structural design patterns, what does the Adapter pattern do? A) Assembles objects into tree structures B) Allows objects with incompatible interfaces to collaborate C) Controls access to the original object D) Converts interfaces of existing classes.
Q194: What is the purpose of the Client Interface in the Adapter pattern? A) Describing business logic B) Providing a protocol for collaboration C) Wrapping the Adapter object D) Defining a subscription mechanism.
Q195: When is the Adapter pattern applicable? A) When you want to increase code complexity B) When you want to use existing classes with incompatible interfaces C) When you need to assemble objects into tree structures D) When you want to violate the Single Responsibility Principle.
Q196: What is a drawback of the Adapter pattern? A) Simplicity of code increases B) Overall code complexity decreases C) Introducing new interfaces and classes can increase complexity D) Tight coupling between client and adapter.
Q197: In the Adapter pattern, what does the client code not get coupled to? A) Concrete adapter class B) Client interface C) Adapter object D) Business logic.
Q198: What is a scenario where the Adapter pattern is useful? A) When the code already has compatible interfaces B) When direct construction calls are preferred C) When you want to convert interfaces to a new format D) When you want to use existing classes with incompatible interfaces.
Q199: What does the Proxy pattern suggest regarding the creation of a new proxy class? A) Implementing a new interface B) Updating app to avoid proxy objects C) Using the same interface as the original service object D) Tight coupling between proxy and service object.
Q200: In the Proxy pattern, what does the proxy introduce itself as? A) A translator B) A placeholder C) A service objects D) A decorator.
Q201: What is an example of applicability for the Remote Proxy in the Proxy pattern? A) Providing access to an object located in a different address space B) Controlling access to the original object C) Caching frequently used target operations D) Protecting target objects from bad clients.
Q202: In the Proxy pattern, what does the Service Interface declare? A) Notification interface B) Client interface C) Interface of the service D) Interface of the proxy.
Q203: What is a potential drawback of the Proxy pattern? A) Delays in service response B) Tight coupling between proxy and service C) Reduced code complexity D) Increased communication overhead.
Q204: What do behavioural design patterns concern in software design? A) Object creation B) Assembly of objects into larger structures C) Algorithms and assignment of responsibilities between objects D) Conversion of interfaces.
Q205: What does the Observer pattern allow you to define in software design? A) A translation mechanism B) A subscription mechanism C) A structural assembly of objects D) A conversion of interfaces.
Q206: What does an example use case for the Observer pattern? A) Lazy initialization and caching B) Control access to the original object C) Assembling objects into tree structures D) Notifying multiple objects about events.
Q207: In the Observer pattern, what is the role of the Publisher? A) Subscribing to events B) Notifying objects about events C) Creating subscriber objects D) Assembling objects into larger structures.
Q208: What does the Subscriber interface declare in the Observer pattern? A) Context data B) Notification interface C) Concrete Subscriber implementation D) Protocol for collaboration.
Q209: When is the Observer pattern useful? A) When changes to the state of one object may require changing other objects B) When the set of objects is known beforehand C) When changes to the state do not affect other objects D) When all objects share the same interface.
Q210: What is one of the cons of design patterns, especially the Observer pattern? A) Reuse of construction code B) Isolation of business logic C) Overall increase in code complexity D) Reduction of resource usage.
Q211: In technical Architecture partitioning, how are components organized? Choose all that fits. A) components are organized by technical usage. B) namespaces like app.wishlist.presentation, app.wishlist.business and so on. C) components are organized by domain areas. D) components of any given domain are spread across all of the layers.
Q212: Which component of an event-driven architecture triggers asynchronous events and responds to asynchronous events happening in the system? A) Initiating event. B) Event processor. C) Processing event. D) Event channel.
Q213: Which characteristics are true for microservices using a bounded context? choose all that fits. A) All microservices must use the same database technology. B) Changes of tables belonging to a particular service don't impact other services. C) Services need access to tables within another bounded context must ask through a separate contract. D) The data schema structure rarely encounters breaking changes.
Q214: What is the primary role of an API gateway in microservices? A) API gateway in microservices contain business logic and perform orchestration. B) API gateway in microservices can't generate security, metrics gathering and monitoring data. C) API gateway in microservices manage the database for all microservices. D) API gateway in microservices hide the location and implementation of the corresponding services.
Q215: What are the types of architecture components in the microkernel architecture? A) Core system and user interface. B) Main system and sub-systems. C) Basic core system and plug-in modules. D) Standalone components and distributed modules.
Q216: What are functions of Persistence Layer in Layered Architecture? choose all that fits. A) Layer holds the set of codes that allow you to manipulate the database, B) Operations occur at this layer: e.g., calculate values or aggregate data C) Layer deals with format data to display, user input validation, and user interface, D) Operations occur at this layer connection details and SQL statements.
Q217: What is the Architectural extensibility rule in Event-driven architecture? A) Services advertise their state changes regardless of other services' responses B) Help supporting dashboards that provide real-time data monitoring and analysis. C) Companies connect internal event-driven systems to customer-facing update functions. D) If no other services care about the event, the event never disappears from the topic.
Q218: What is the key concept of Layered architecture? A) Scalability at the individual service level. B) High Fault tolerance in case of service failures. C) Layers of isolation, every layer is closed, changes in one layer don't impact other layers. D) Flexibility to locate and apply changes in the application.
Q219: What does the concept of "bounded context' refer to in microservices? A) The size of a microservice. B) The deployment method of microservices. C) The level of complexity in inter-service communication, D) The encapsulation of code and data within a single-purpose, separately deployed unit.
Q220: In a claims processing system for an insurance company, what does the core system in microkernel architecture contain? A) Custom laws processing for each state. B) Basic business logic for claim processing. C) Specific rules for each region. D) User interface components for claim submission.
Q221: What are disadvantages of monolithic architectures? choose all that fit. A) Limited scalability. B) Higher cost of implementation, C) Limited maintenance complexity. D) Higher MTTR and MTTS.
Q222: The Liskov Substitution Principle (LSP) depends on using proper inheritance so that. A) Increase coupling between modules. B) Use abstract factories for Object Creation. C) Derive from volatile concrete classes and mention name of volatile elements. D) Objects of a superclass replaces objects of subclasses without Breaking the system.
Q223: When is the microkernel architecture a good choice for a system? A) When scalability and fault tolerance are the top priorities. B) When the core system requires frequent changes. C) When there is a need for planned extensions and additional features. D) When the budget and time constraints are openly available.
Q224: In a microservices system using event-driven architecture, how does EDA help handle order service which made failed call to a billing service? A) The customer gets charged anyway. B) The system continues running without error. C) The order triggers fulfillment or warehouse processes. D) When billing service is available, it can capture the order event and run it again.
Q225: What is the solution to comply with the Open-Closed Design Principle (OCP)? A) Use appropriate inheritance so that each superclass can be subsitiued. B) Split interfaces with multiple operations so that no Client forced to implement. C) Partition the system into high-level components protected from change in lower-level components. D) Use abstract factories for Object creation so It separates the abstract from the concrete.
Q226: In Layered Architecture, what is true about closed layer? choose all that fits. A) means requests are allowed to bypass this layer and go directly to the layer below it. B) means that a request moves from layer right below it to get to the next layer below that one. C) a request originating from presentation layer must first go through the business layer D) a request originating from presentation layer can go to persistence layer and then hitting database layer.
Q227: What is the violation of the Single Responsibility Principle (SRP)? A) The module is open for extension but closed for modification. B) The module is responsible for multiple actors. C) The objects of a superclass can be replaced by objects of its subclasses. D) Clients are forced to depend on interfaces they do not use.
Q228: What is Not a drawback of microservices in terms of Performance? A) Network latency. B) Security latency. C) Data latency. D) Very expensive Licensing fees.
Q229: What is a disadvantage of the microkernel architecture? choose all that fits. A) Increased complexity in communication between modules B) Limited scalability due to the core system bottleneck, C) Reduced flexibility in user interface design. D) Limited fault tolerance due to core system as an entry point.
Q230: What are some applications well suited for the microservices architecture style? A) Retail-based order entry system. B) Business intelligence and analytics reporting. C) Time management and planner Application. D) Both A & B.
Q231: Which principle ensures that clients are not forced to depend on interfaces they do not use? A) Liskov Substitution Principle (LSP). B) Dependency Inversion Principle (DIP). C) Single Responsibility Principle (SRP). D) Interface Segregation Principle (ISP).
Q232: What is a suitable use case for event-driven architecture? choose all that fits. A) Systems that react to Request-based synchronous processing. B) Systems that have complex, nondeterministic workflows. C) Systems require high performance, high scalability. and high levels of fault tolerance. D) Systems that require high levels of data consistency.
Q233: In Microkernel Architecture, Which deployment architecture is suitable for plug-in modules implemented as separate libraries or modules (such as JAR and DLL files)? A) Microservices architecture. B) Monolithic (single deployment) architecture. C) Distributed architecture (multiple units’ deployment). D) Peer-to-peer architecture.
Q234: HOW the Architecture sinkhole anti-pattern in Layered Architecture happened? A) when architecture consists of more than four layers, one of them is open layer. B) when requests flow through multiple layers of the architecture with little or no logic change. C) when a majority of your changes are isolated to specific layers within the application. D) when requests flow through presentation layer to business layer to persistence layer.
Q235: What is the advantage of implementing plug-in modules as remote services in a distributed Microkernel architecture? choose all that fits. A) Improved runtime deployment of the plug-in components B) Better internal scalability and responsiveness C) Reduced communication between the core system and plug-in modules D) Enhanced fault tolerance in Case Of service failures.
Q236: What are the advantages of distributed architectures? choose all that fits A) Lower overall cost. B) Higher scalability. C) Higher maintenance complexity. D) High levels of fault tolerance.
Q237: When should you consider using the microservices architecture style? A) When performance is a critical factor. B) When data is tightly coupled and interrelated with the functionality. C) When there are complex workflows and inter-service communication D) When high levels of agility, scalability, fault tolerance and extensibility are required.
Q238: In domain Architectural partitioning, choose all that fits: A) teams are organized into cross-functional teams B) changes may be swapping out one database for another C) teams are organized as teams of IJI developers, BE developers, and DB developers. D) namespace structure such as app.order, app.inventory, app.payment and so on.
Q239: What are the stable concrete elements referred to in the Dependency Inversion Principle (DIP)? A) Modules undergoing frequent change. B) Modules undergoing rare and controlled changes. C) Abstract interfaces used for higher level code. D) Use abstract factories for object creation.
Q240: What benefit does event-driven architecture provide to logistics companies? A) High levels of data consistency. B) Control over handling errors of a service. C) Control over the workflow and timing of events needed. D) Provide real-time data monitoring and analysis that helps supporting building dashboards.
Report abuse Consent Terms of use