Quiz
Software Architecture
Crie uma conta grátis para terminar este quiz
Salve seu progresso e veja sua nota final.
Já tem uma conta? Inicie sessão
Perguntas do quiz (45)
1Why should you use software architecture patterns?
- AThey make development more efficient.
- BThey provide the optimal implementations.
- CThey guarantee the most optimal solutions.
2How do software architecture patterns differ from software design patterns?
- AArchitecture patterns define an important application part; design patterns describe a small number of components comprising an application.
- BDesign patterns define an important application part; architecture patterns describe a small number of components comprising an application.
- CArchitecture patterns provide optimal implementations for an entire application; design patterns provide implementation of small components.
3Why should you consider a monolithic architecture over other architectures?
- AIt is easy to understand, implement, and test.
- BIt is easy to modify, update, and extend.
- CIt is easy to implement multiple patterns and technologies.
4You are updating the UI tier of an N-tier system. What additional updates, if any, are probably required?
- AYou may have to update the business logic and data tiers.
- BYou may have to update the presentation tier but not any other tiers.
- CYou may have to update the business logic tier but not the data tier.
5You and your development team are tasked to deploy a peer-to-peer (P2P) system for a new multiplayer game. Why should you consider adding a server just for the P2P system?
- Ato assist with notifying the network of new machines that come online
- Bto handle communications between each peer on the network
- Cto run the server-side game logic and to link a peer to another when it is required
6Your team is considering a service-oriented architecture. Why is choosing this architecture over other architectures advantageous?
- AIt is more easily scalable than some other architectures.
- BIt tends to cost less than some other architectures.
- CIt requires little governance compared to some other architectures.
7How does a microservice architecture fundamentally differ from a service-oriented one, and what advantage does this provide over service-oriented architectures?
- AServices talk directly, which reduces overall complexity.
- BServices talk through an enterprise service bus, which increases agility.
- CServices talk directly to each other, which increases agility.
8When should you consider using a function-as-a-service serverless architecture?
- Awhen you want to have direct control over the state of memory in your system and the platform it runs on
- Bwhen you have a traditional application that uses third-party services, such as databases
- Cwhen you have a number of functions you need to run that can be hosted on a third-party platform
9Why should you consider using an architecture other than a layered architecture?
- ALayered architectures are difficult to organize and can lead to monolithic designs.
- BLayered architectures can require a lot of code to pass data between different layers.
- CLayered architectures are not very well known by the development community.
10How can using a microkernel architecture be disadvantageous?
- AThe core API might not fit future plug-ins.
- BThe architecture is inherently inflexible.
- CIt is difficult to add or remove functionality at runtime.
11How is using event sourcing beneficial?
- AIt is possible to build an audit trail that shows when an event occurred and what triggered it.
- BIt is easy to add, remove, or rename a property in an event, and your database will update the changes.
- CIt is an easy concept for more developers to understand and implement.
12Why should a developer consider adding CQRS to an event sourcing architecture?
- AIt can make the event sourcing queries much less complex when including CQRS.
- BIt can take care of the sync problem with CQRS when also including event sourcing.
- CIt can make it much easier to implement the event sourcing when including CQRS.
13Why is there always the possibility that data in a CQRS system may be out of sync?
- AThe read logic and write logic have to wait for the microkernel, sometimes leading to asynchronous behavior.
- BThe read and write logic are contained in the same package, sometimes leading to access issues.
- CThe read logic and write logic are separated, sometimes leading to asynchronous behavior.
14Why can advanced data binding, such as that associated with the MVVM pattern, be problematic?
- AData binding can increase the amount of code required.
- BData binding can be difficult to debug.
- CData binding can reduce separation of concerns.
15What is the overall shared goal of the MVC, MVP, and MVVM patterns?
- Adecoupling the view and model
- Bminimizing the code in the UI
- Cenabling advanced data binding
16What is the controller in an MVC pattern responsible for?
- Apresenting the model to the user
- Breceiving user input
- Cmanaging the data application
17Your team is planning to develop a web application. Which pattern is best suited for this, and why?
- AThe MVVM pattern is best because it has clear separation of concerns, making it easier to test.
- BThe MVP pattern is best because it has clear separation of concerns between the UI, present logic, and domain model.
- CThe MVC pattern is best because each one of the three components has clearly defined responsibilities.
18Your development team is considering combining architecture patterns on their next project. Should the team do this, and why or why not?
- AIt is not possible to combine patterns without creating design conflicts.
- BIt depends on the needs of the project because some combinations will not work well and others will.
- CIt is not recommended to combine patterns because using one pattern will make the project much easier.
19What should you do if the application you are currently working on or maintaining does not have a clearly defined architecture?
- AApply a well-known architecture to any additional features.
- BKeep the application the same but choose a well-known architecture for your next project.
- CGive the application a clean and well-known architecture.
20How do traditional architects differ from most modern architects?
- AIn traditional architecture, every developer is an architect.
- BA traditional architect controls all the permissions.
- CA traditional architect learns as they create the software.
21You and your team are designing a new system. What should you build the architecture of this system around?
- Athe needs of the development team
- Bthe needs of your customers
- Cthe needs of the main architect
22Who are the architects in agile software development?
- Aone single designer who does not code
- Ball the developers to some degree
- Ca small team of experts who give orders
23How are design patterns related to architecture?
- AArchitecture provides sets of optimal solutions called design patterns.
- BArchitecture provides a clear path of implementation through design patterns.
- CArchitecture is the interaction of design patterns to create a larger system.
24Why are architecture guild meetings beneficial compared to more traditional architecture meetings?
- AThey allow the group involved to learn from each other and work dynamically.
- BThey allow a single person or small group to efficiently review developers' work.
- CThey allow chief architects to identify and decree required changes to the code base.
25How should you describe an agent regarding domain-bounded contexts?
- AAn agent is the core component in most monolithic systems, and all agents monitor work using one database.
- BAn agent is a course-grained implementation, and the details of an agent's work are hidden inside of it.
- CAn agent is a small, stand-alone program that runs independently, and the details of an agent's work are known to the whole system.
26What is domain-driven design (DDD), and how does it compare to an N-tiered system?
- ADDD focuses on creating software systems that match the problem domain. The system is modularized, making it easier to build and modify.
- BDDD focuses on a technology-based architecture. Unlike DDD systems, N-tiered systems tend to be modularized along context boundaries.
- CDDD focuses on a technology-based architecture. The system is generalized, making it easier to build and modify.
27Your team is creating software that must support only a few users at first. The number of users will increase substantially later. Which base design should you use and why?
- AUse an agile incremental design because you can deploy something quickly and add more functionality later, as the user base increases.
- BUse the waterfall design because you can implement a large database to handle any number of users that the system might be required.
- CUse big up-front design because even though it will take longer, you can create a system that can handle anything asked of it.
28How does agile software development differ from siloed software development, and what advantage does this provide?
- AYou work on thin, vertical slices compared to completely isolated and segmented parts, reducing development delays.
- BYou work on a single set of functions or classes that you never see implemented, increasing overall stability.
- CYou work on an independent piece of the software instead of considering the entire system, reducing development delays.
29Consider a hypothetical Unified Modeling Language (UML) activity diagram with several decision nodes. What is an example of workflow isolation?
- AHorizontally slice the process down into technological pieces, such as UI, logic, and databases.
- BLinearize the activity diagram to include all possible decision nodes, actions, and control flows.
- CChoose one path through the diagram, thereby narrowing down to a single workflow and ignoring alternatives.
30You are to begin the development of an architecture for an accounting system. How should you approach writing the problem statement for this project?
- ADescribe how you would implement the required classes and functions to make the system a reality.
- BDescribe the implementation of the various databases, class structures, functions, and UIs at a core level.
- CDescribe the end user’s problem and the solution to this problem in the same way an accountant would.
31How are entities related to domain-driven design (DDD)?
- AEntities are domain-level events that are meaningful and useful to the business within the context of solving a problem.
- BEntities are the bounded context in agents, where an agent does contextual work linked to a respective event and action.
- CEntities are the work that happens when an event is received by an agent within the context of solving a problem.
32How does an enterprise-level agile system compare to enterprise architecture (EA)?
- AAn enterprise-level agile system is a large, standardized system, whereas EA reflects the structure of the business.
- BEA is comprised of simpler, independent subsystems, whereas an agile system is a huge class.
- CAn enterprise-level agile system is comprised of small, cooperating but stand-alone parts, whereas EA is one large system.
33Why are design patterns so useful when creating software solutions?
- AThey help you avoid common software issues and bugs.
- BThey make implementation much more efficient.
- CThey show you how to design your class and function structure.
34What is a disadvantage of a microservice architecture?
- AIt is inherently simple compared to other architectures, but also not as robust.
- BIt is inherently difficult and slow to update.
- CIt is inherently complex, both at the design and deployment stages.
35In a message-based architecture, why is it preferable to use an intermediary or a broker in order for systems to communicate with each other?
- AIt helps maintain system independence.
- BIt helps to speed up development.
- CIt helps to speed up the integrated system.
36Why can a reactive system be so much faster than a synchronous declarative system?
- AThe entire system tends to be much simpler, hence faster, but at the cost of lost robustness.
- BEverything can be done in parallel, reducing the impact of bottlenecks.
- CAll system processes are directly linked, reducing overall bottlenecks.
37Your team is tasked with developing a reactive service that handles shopping cart, billing, warehouse, and email services. How will the shopping cart service communicate with the other services?
- AIt will communicate directly with each of the other services, waiting for a response every time.
- BIt will broadcast out to the entire system that something needs to be done.
- CIt will send a request to any of the other system components that are not active.
38Your team is tasked with creating an application for a retail chain to handle online ordering. You decide to use a microkernel architecture. What is the absolute minimum your kernel should contain?
- Ainventory and sending customer emails
- Binventory and invoicing
- Cinventory and order processing
39For years, your business has used a monolithic system that still works well enough but has become very complex. From a money-saving perspective, what should you do and why?
- AKeep the system until it becomes too costly to maintain because you will save money in the long-run
- BHave your developers clean the system and integrate added functionality because you will save money later, even though it is costly now.
- CReplace the system immediately with a less monolithic system because your business will save money in the long-run.
40A major responsibility for architect is to _____.
- Aevaluate software designs and architectures of other developers
- Bcreate a system for developers to review their own code, so you can spend your time with higher level
- Ckeep away from software reviews. Leave that to the software developers
41As you move from developer to architect, how does that change your scope of responsibility?
- AIt allows you to focus on more technical aspects.
- BIt covers more areas and covers each area in more depth.
- CIt expands to cover larger areas of concern.
42As an architect, when working with developers, _____.
- Ayour role is more of a uber-developer. The one they look to for best practices and processes
- Bthe buck stops with you, and you are responsible for making sure all decisions are the best decisions to be made
- Cyour job is more of a teacher than a decision maker
43What must you do as an architect?
- AMake sure the team feels they are listened to, but realize that you must be the final decision maker for key technical decisions.
- BQuickly move to making a final decision to ensure good outcomes.
- CListen to the team's ideas and help determine if they will solve known issues.
44An architect is _____.
- Aleave training to the management team
- Bheavily involved in the training of engineers on new technology that you expect the team will require
- Csolely responsible for all aspects of training new developers
45As an Architect you are responsible for understanding and driving the technical aspects of the entire application.
- ATrue, this includes developments, operations, product requirements, business obligations, and scaling.
- BFalse, you are responsible for only the development and operational aspects of your application.
- CTrue, but only the technical aspects, not the business aspects.
Informações
- Descrição
- Software Development Computer Science Quiz sobre Software Architecture, criado por Dustin White em 14-12-2021.
- Autor
- Dustin White
- Idioma
- English
- Visualizações
- 4
- Etiquetas
- Avaliação
- Ainda sem avaliações Avalie este quiz