wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Software Design and Architecture

Total questions: 148

Worksheet time: 1hrs 16mins

Name
Class
Date
1.

Which of these are desirable characteristics of a software design? Choose the three correct answers.

a)

reusability

b)

flexible

c)

tight coupling

d)

maintainability

2.

You are writing out a CRC card for a bank machine component. Under which section should you put "Track Cash Remaining."

a)

Collaborator

b)

Responsibility

c)

Class

d)

Risk

3.

Which two of these are likely to be a part of conceptual design?

a)

Mockups

b)

Abstract data types

c)

Methods

d)

CRC Cards

4.

When during the design process are you likely to produce CRC cards the most?

a)

conceptual design

b)

after releasing the software

c)

customer meetings

d)

technical design

5.

An object which is responsible for showing data to the user could be considered which category of object?

a)

control

b)

representation

c)

boundary

d)

entity

6.

What is a requirement of this form called? "As a ____, I want to ____, so that ____".

a)

conceptual mockup

b)

user story

c)

entity abstraction

d)

key concept

7.

You are a programmer creating software for a bank machine system. Which section of a CRC card for the bank machine component will the "User" go into?

a)

Responsibility

b)

Collaborator

c)

Class

d)

Risk

8.

Some of the earliest computing languages supported:

a)

main program and subroutines

b)

objects and classes

c)

abstract data types

d)

local variables

9.

Sam identified the important attributes and behaviours of a delivery driver and put them all into a DeliveryDriver class, like "takeOrder", "deliverOrder", and "DeliveryArea." She exposed some of these to other classes. She just demonstrated an important part of object-oriented design. Which of these concepts best describes what you did?

a)

decomposition

b)

encapsulation

c)

generalization

d)

abstraction

10.

Which keywords allow your classes to achieve polymorphism in Java? Choose the 2 correct answers.

a)

implements

b)

interfaces

c)

inherits

d)

extends

11.

Which is the proper way to show an abstract method in a UML class diagram?

a)

abstract anOperation()

b)

«anOperation()»

c)

#anOperation()

d)

anOperation()

12.

There are three different relationships that objects can have. Which of these best describes the relationship between a Chair and its Legs?

a)

association

b)

aggregation

c)

composition

d)

formation

13.

Which is the most desirable?

a)

high cohesion, tight coupling

b)

low cohesion, tight coupling

c)

high cohesion, loose coupling

d)

low cohesion, loose coupling

14.

Information Hiding is closely related to one of the core design principles of object-oriented design. Which one?

a)

generalization

b)

abstraction

c)

decomposition

d)

encapsulation

15.

During model checking, what is the name for a violation of the desired properties of the model?

a)

Counterexample

b)

Error

c)

Model Gap

d)

Redevelopment

16.

When two processes cannot run because they are waiting on the same resource, it's called…

a)

Deadlock

b)

Transition lock

c)

Mutual lock

d)

State lock

17.

You create an object that represents a user, storing important information about them such as their preferences. What kind of object is this?

a)

boundary

b)

entity

c)

control

d)

client

18.

You create an object that represents a dialog box. It creates buttons and text fields, etc, for the user to interact with, and it logs those interactions. What kind of object is this?

a)

entity

b)

display

c)

interaction

d)

control

e)

boundary

19.

You create an object that compares values from two different sources. It then updates the smaller value to be equal to the larger one. What kind of object is this?

a)

entity

b)

control

c)

repository

d)

update

20.

Which of these is an example of a quality tradeoff?

a)

Not delivering key features so that deadlines can be met

b)

Limiting features knowing that they can be added later

c)

Adding security knowing it will reduce speed

d)

Adding preferences that allow users to switch some features on and off

21.

What is the term for reducing a class or object to its inputs and outputs in modelling?

a)

black box thinking

b)

pipe thinking

c)

process thinking

d)

filter thinking

22.

Which one of these classes is in most need of being decomposed?

a)

Student

b)

Store

c)

Book

d)

Order

23.

Which design principle enables developers to follow the guideline D.R.Y. ("Don't Repeat Yourself")?

a)

generalization

b)

decomposition

c)

abstraction

d)

encapsulation

24.

Select the object pairing that has an association relationship:

a)

Hiker - Trail

b)

Coffee - Water

c)

Book - Page

d)

Tree - Root

25.

Select the object pairing that has an aggregation relationship:

a)

Book - Page

b)

Pie - Crust

c)

Stapler - Staple

d)

Car - Road

26.

Select the object pairing that has a composition relationship:

a)

Tea - Sugar

b)

Book - Page

c)

Record Player - Record

d)

Bear - Forest

27.

How can you apply the principle of Separation of Concerns in object-oriented programming?

a)

Split developers into teams that each deal with different parts of the software

b)

Separate data and actions (methods) into different classes

c)

Ensure classes are only concerned with their own data

d)

Separate objects or components according to their role in the software

28.

Which of these violates Liskov's Substitution Principle?

a)

the superclass is too general

b)

an operation in the superclass is replaced by a different operation in the subclass

c)

subclasses specify the abstract methods of the superclass

d)

the subclass adds behaviour

29.

For which of these situations would you use a sequence diagram?

a)

To show the collaborative behaviour of objects in your program.

b)

To show the different modes that your program can be in.

c)

To show all the different processes of your program.

d)

To show the relationship between classes

30.

What is an abstract data type?

a)

a type of data defined by the developer rather than the language

b)

a data-centric class

c)

variables that are assigned a type (i.e. integer, double) but does not yet have a value assigned

d)

a data type that cannot be used directly but must be implemented as an interface

31.

When is the best time to use a design pattern? Choose 2 answers.

a)

For a problem that is unique to your program

b)

For a commonly encountered issue

c)

When fixing spaghetti code

d)

When explaining a solution to your fellow developers

32.

What does it mean to "let the subclass decide" in the Factory Method Pattern?

a)

The subclass decides which object to create, but calls a method that is defined in the superclass to instantiate the class

b)

The subclass will pass a parameter into a factory that determines which object is instantiated

c)

The subclass defines the methods for concrete instantiation. As such, the type of object is determined by which subclass is instantiated

d)

The superclass creates all objects and assigns them to the subclass

33.

What do we call the creation of an object, for example, with the 'new' operator in Java?

a)

Object realization

b)

Class creation

c)

Concrete instantiation

d)

Manifestation

34.

Which of these is NOT a common application of the Proxy Pattern?

a)

Information proxy

b)

Virtual proxy

c)

Remote proxy

d)

Protection proxy

35.

How does a Decorator Pattern work? Choose one.

a)

Adding features to a class with a new class

b)

Expands the methods of a class with inheritance

c)

Encapsulates a class to give it a different interface

d)

Builds a behaviour by stacking objects

36.

What are the object types that are used in the Composite Pattern? Select the two correct answers.

a)

Root

b)

Trunk

c)

Composite

d)

Branch

e)

Leaf

37.

What is the correct situation for the use of a Chain of Responsibility pattern?

a)

You need a set of objects to each contribute information on responding to a request

b)

You have multiple potential handlers, but only one will deal with the request

c)

You need to pass a message to multiple receivers

d)

You need to delegate a set of tasks to a hierarchy of objects

38.

What design principles is the Command Pattern using?

a)

Encapsulation, generalization, loose coupling

b)

Encapsulation, generalization, information hiding

c)

Encapsulation, information hiding, loose coupling

d)

Generalization, information hiding, loose coupling

39.

When are you most likely to need a Mediator pattern?

a)

When you want to de-couple a class that is requesting a service from one that is providing it

b)

When your class is sending a request that might be handled by one of several handlers

c)

When you have two classes with different interfaces that you must connect

d)

When you are coordinating the activities of a set of related classes

40.

Marlon is coding part of the software that follows a similar sequence of steps. Depending on the type of object, these steps will be implemented in slightly different ways, but their order is always the same. Which design pattern could Marlon use?

a)

Template pattern

b)

Mediator pattern

c)

Command pattern

d)

State pattern

41.

What are the important roles in the Command Pattern?

a)

Command, Queue, Receiver

b)

Command, Receiver, Invoker

c)

Sender, Receiver, Invoker

d)

Delegate, Command, Requester

42.

You have a machine performing a complex manufacturing task, with different sensors and different components of the machine represented by different classes. Which design pattern will you use to arrange the parts?

a)

Template

b)

Command

c)

Mediator

d)

Chain of Responsibility

43.

You have a security system class, and it has 3 modes: normal, lockdown, and open. Which pattern would you use to model the behaviour in these different modes?

a)

Template

b)

Mediator

c)

State

d)

Observer

44.

One of your classes represents a mailbox, while another is the owner of the mailbox. The person would like to know when new mail arrives. Which design pattern will you probably use?

a)

State

b)

Observer

c)

Command

d)

Mediator

45.

Select the two elements of the open/closed principle:

a)

Open for modification

b)

Closed for extension

c)

Open for maintenance

d)

Open for extension

e)

Closed for modification

46.

What is the best description of the Dependency Inversion principle?

a)

Client objects depend on an Adaptor Pattern to interface with the rest of the system

b)

Client objects depend on generalizations instead of concrete objects

c)

Service objects subscribe to their prospective client objects as Observers, watching for a request

d)

Client objects are dependent on a service interface that directs their requests

47.

Which of these statements is true about the Composing Objects principle? 1. it provides behaviour with aggregation instead of inheritance 2. it leads to tighter coupling

a)

The first statement is true

b)

The second statement is true

c)

Neither statement is true

d)

Both statements are true

48.

How can Comments be considered a code smell?

a)

Too many comments make the files too large to compile

b)

When a comment is used to explain the rationale behind a design decision

c)

Excessive commenting can be a coverup for bad code

d)

They can’t! Comments help clarify code

49.

What is the primitive obsession code smell about?

a)

Code that contains many low-level objects, without using OO principles like aggregation or inheritance

b)

Overuse of primitive data types like int, long, float

c)

Using many different primitive types instead of settling on a few that together capture that appropriate level of detail for your system

d)

Using key-value pairs instead of abstract data types

50.

You have a class that you keep adding to. Whenever you add new functionality, it just seems like the most natural place to put it, but it is starting to become a problem! Which code smell is this?

a)

Long Method

b)

Large Class

c)

Divergent Change

d)

Speculative generality

51.

Why is it important to avoid message chains whenever possible?

a)

They lower cohesion in your class

b)

The resulting code is usually rigid and complex

c)

It's a workaround to get to private methods, which are important for encapsulation

d)

If an unexpected object is returned, this could easily lead to runtime errors

52.

Joseph was developing a class for his smartphone poker game, and decided that one day he would like to be able to change the picture on the backs of the cards, so he created a Deck superclass. Since his app does not have that feature yet, Deck has only one subclass, RegularDeck. What code smell is this?

a)

Divergent Change

b)

Refused Bequest

c)

Primitive Obsession

d)

Speculative Generality

53.

Mohsin needs to create various user objects for his University learning platform. What is the act of creating an object called?

a)

object invocation

b)

object realization

c)

concrete instantiation

d)

class creation

54.

What is the difference between the Factory Method and a Simple Factory?

a)

In Factory Method, concrete instantiation is done in a designated method, where a Simply Factory creates objects for external clients

b)

A simple factory instantiates only one kind of object.

c)

In the factory method pattern, the factory itself must be instantiated before it starts creating objects. This is usually done with a dedicated method

d)

Simple factories cannot be subclassed

55.

José wants to build behaviours by stacking objects and calling their behaviours with an interface. When he makes a call on this interface, the stack of objects all perform their functions in order, and the exact combination of behaviours he needs depends what objects he stacked and in which order. Which Design Pattern best fits this need?

a)

Factory Method Pattern

b)

Singleton Pattern

c)

Composite Pattern

d)

Decorator Pattern

56.

You need to connect to a third-party library, but you think it might change later, so you want to keep the connection loosely coupled by having your object call a consistent interface. Which Design Pattern do you need?

a)

Proxy

b)

Facade

c)

Adapter

d)

Decorator

57.

Which of these design principles best describes the Proxy pattern?

a)

encapsulation, because the Proxy hides some of the detail of the subject

b)

separation of concerns, because the Proxy object has different concerns from the subject

c)

generalization, because a proxy is a general version of the real subject

d)

decomposition, because the Proxy object has different concerns than the subject

58.

Ashley has a method in her class that needs to makes a request. This request could be handled by one of several handlers. Which design pattern does she need?

a)

Facade

b)

Decorator

c)

Chain of Responsibility

d)

Template

59.

Which of these is NOT a good use of the Command pattern?

a)

Sending a command to a third-party service or library

b)

Supporting undo/redo queues of commands

c)

Building a user-interface that can be used to perform operations

d)

Building macros, for example in an image manipulation program

60.

Which code smell may become a problem with the Mediator design pattern?

a)

Inappropriate Intimacy

b)

Speculative Generality

c)

Refused Bequest

d)

Large Class

61.

Which of these methods is found in a typical Observer class?

a)

notify()

b)

addObserver()

c)

getState()

d)

update()

62.

In the MVC Pattern, which of these is usually made into an Observer?

a)

Model

b)

Back-End

c)

View

d)

Controller

63.

Which of these answers does NOT accurately complete the following sentence? “A class is considered closed to modification when…

a)

...all the attributes and behaviours are encapsulated

b)

...its collaborators are fixed

c)

...it is tested to be functioning properly

d)

...it is proven to be stable within your system

64.

How does the Dependency Inversion Principle improve your software systems?

a)

Client classes become dependent on low-level concrete classes, rather than dependant on high-level generalizations

b)

Dependency becomes inverted by having the system depend on the client classes

c)

Client classes become dependent on high level generalizations rather than dependant on low level concrete classes

d)

Client classes use an adapter to facilitate communication between itself and the rest of the system

65.

Allison has a search algorithm, and she would like to try a different implementation of it in her software. She tries replacing it everywhere it is used and this is a huge task! Which design principle could Allison have used to avoid this situation?

a)

Don’t Repeat Yourself

b)

Composing Objects Principle

c)

Principle of Least Knowledge

d)

Dependency Inversion

66.

Which object-oriented design principle do Long Message Chains, a code smell, usually violate?

a)

Cohesion

b)

Separation of Concerns

c)

Open/Closed Principle

d)

Principle of Least Knowledge / Law of Demeter

67.

What are the components of the MVC pattern?

a)

Model, View, Command

b)

Model, View, Controller

c)

Member, Vision, Controller

d)

Model, Vision, Command

68.

Interface Segregation is a good way to avoid which code smell? Choose the best possible answer.

a)

Switch Statements

b)

Refused Bequest

c)

Divergent Change

d)

Long Method

69.

Read the following statements. Which of them are true? 1. Project managers are stakeholders in the architecture 2. End users are stakeholders in the architecture

a)

Both statements are true

b)

Only the first statement is true

c)

Neither statement is true

d)

Only the second statement is true

70.

Which of these UML diagrams might be useful for the logical view of a system? Select the 2 correct answers.

a)

Deployment diagram

b)

Class diagram

c)

Sequence diagram

d)

State diagram

71.

You need to show how your software elements are mapped to hardware nodes and execution environments. Which view do you need?

a)

development view

b)

physical view

c)

scenario

d)

process view

72.

What is the name for a physical result of the development process, such as an executable file?

a)

package

b)

leaf

c)

artifact

d)

node

73.

Which of these sets of keywords might be used on the lines in package diagrams?

a)

deploy, merge, include

b)

request, import, merge

c)

interface, export, load

d)

merge, access, import

74.

Which of these is NOT shown on an activity diagram?

a)

activities

b)

interfaces

c)

decisions

d)

concurrency

75.

What does the component of ‘component diagram’ refer to?

a)

the basic parts of the software, which it could not run without

b)

an independent, encapsulated unit in the system

c)

an external part of the software system, like a library that must be imported

d)

a general name for a "part" of the software system. It could be a method, variable, class, object, or grouping of any of these

76.

Guidelines such as "the system should be easy and intuitive to learn", "the system should minimize user errors," and "the system should make it easy for users to complete tasks" fall under which category of quality attribute?

a)

usability

b)

intuitiveness

c)

astonishment

d)

complexity

77.

Calum is leading a team of developers and would like to promote conceptual integrity. Which of these is NOT a way he could promote conceptual integrity?

a)

Split the development team into subteams for each component of the architecture

b)

Do regular code reviews with the development team

c)

Establish conventions, such as structural rules or naming conventions

d)

Adopt good documentation practices

78.

Who are the three main groups of people involved in the architecture tradeoff analysis method?

a)

clients, designers, stakeholders

b)

peers, outsiders, designers

c)

evaluation team, outsiders, project team

d)

evaluation team, project decision makers, architecture stakeholders

79.

Leon is analyzing the architecture and notices that under conditions of high numbers of users signing on at the same time, there is a potential that one of the architecturally significant requirements (ASRs) will not be met. What is this called?

a)

tradeoff

b)

risk scenario

c)

utility shortfall

d)

non-risk scenario

80.

Maddie's software team is split into two subteams working on two different components that work together. These teams share one large room and are in constant contact. According to Conway's Law, what could happen if Maddie does not physically separate the two subteams?

a)

The component interfaces will not be reusable

b)

They will not leave sufficient comments, thinking that the other team already knows the relevant details

c)

Their components will repeat code unnecessarily

d)

The components they produce will be very tightly coupled

81.

Which of these is NOT a typical advantage of developing a product line?

a)

greatly reduced up-front development

b)

overall cost reduction

c)

consistency over the product line

d)

reducing time-to-market of later products

82.

Andy is planning the development of a product line of eBook readers and he has to categorize the components that will be handled by each team. There is one product in the line which has a backlight for reading during the night. In the development process, where would you categorize this feature?

a)

Product-Specific

b)

Commonality

c)

Variation

d)

One-Off

83.

Which of these views show the functional design of the software, usually in the form of objects and the relationships between them?

a)

physical view

b)

process view

c)

development view

d)

logical view

84.

To which view would the Package Diagram belong? Remember that a package diagram shows the packages that make up a software and how they are related.

a)

process view

b)

logical view

c)

development view

d)

physical view

85.

Which of these statements about Component Diagrams is true?

a)

They are useful for clarifying the artifacts that will be produced from development

b)

They clarify dependency relationships

c)

They give a dynamic view of the system

d)

They do not show third-party libraries

86.

Which of these will you NOT find in a deployment diagram?

a)

component

b)

device

c)

class

d)

artifact

e)

library

87.

What is an artifact?

a)

A physical realization of a software component

b)

A part of a device that is nonetheless important to depict on the deployment diagram, like a hard drive

c)

An unintended effect that the software has on the device.

d)

Part of the development process that is important to the developers, but not the end-users

88.

What is an abstract data type?

a)

A data schema that is defined by the developer

b)

A data type that dynamically allows the storage of different primitives

c)

An interface that defines how to store data in a class

d)

A data type that is not actually storing data; instead, it is used to define interfaces

89.

Select the one accurate statement about layered architecture:

a)

Passthrough should be avoided at all costs

b)

Enforcing communication only between adjacent layers and within a layer is key to good, layered architecture

c)

Upper layers act as service providers to lower layers

d)

Layered architecture is often based on layers of abstraction

90.

What is the correct term for a machine that hosts a server?

a)

server-tier

b)

Called by type: e.g. print server or media server

c)

server-host

d)

server-machine

91.

Some programs allow users to record a sequence of inputs - for example keyboard and mouse inputs - to run later. What are these called?

a)

user recorders

b)

scripts

c)

macros

d)

input listeners

92.

Data Flow Architecture is also called...

a)

Data Transformation Architecture

b)

Pipe and Filter Architecture

c)

Cascade Architecture

d)

Black Box Architecture

93.

Which of these is NOT a common component of event-driven architectures?

a)

event generator

b)

event processor

c)

event consumer

d)

event bus

94.

Which type of process control that we discussed is typically needed for complex systems?

a)

Feedforward Control + Feedback Control

b)

Feedback Control only

c)

MAPE-K

d)

Machine Learning

95.

Which of these is a drawback of n-Tier architecture?

a)

Every tier demands extra resources to manage the client/server relationships

b)

More hardware nodes are necessary

c)

Only asynchronous messaging is possible, leading to challenging development decisions

d)

Limited in scale

96.

Which of these is NOT an example of Interpreter type architecture?

a)

Excel formulas

b)

Java Virtual Machine

c)

Scripting and Macros

d)

The kernel of an operating system

97.

Which of these terms matches this definition: “The amount of time the system is operational over a set period of time?”

a)

availability

b)

interoperability

c)

usability

d)

performance

98.

Which of these quality attributes is most important from the developer's perspective?

a)

availability

b)

security

c)

usability

d)

flexibility

99.

General quality attributes like performance and security have more specific components like throughput and latency for performance. What are these called?

a)

architecturally significant requirements

b)

sensitivity points

c)

attribute refinement

d)

architecture specifications

100.

Which strategy is NOT part of delivering a high-quality system?

a)

Treat all quality attributes as equally important

b)

Involve all stakeholders in design

c)

Adopt good documentation practices

d)

Set rules for design and implementation

101.

True or False: You should focus on situations that are outside the normal execution path when building a quality attribute scenario.

a)

True

b)

False

102.

"Maintenance Downtime" is an attribute refinement of what quality attribute?

a)

Performance

b)

Conceptual Integrity

c)

Maintainability

d)

Availability

103.

Eliza is planning a product line of media boxes. Some of these will connect to traditional television lines, whereas others will only have internet media like video-streaming services. What is this type of difference between products called?

 

a)

Extension

b)

Variation

c)

Product-Specifics

d)

Adaptation

104.

Mozilla Firefox and other browsers have ecosystems of add-ons for their browsers that add functionality, for example by blocking ads or providing tools for online shopping. What is this style of variation called?

a)

Adaptation

b)

Extension

c)

Reference Architecture

d)

Replacement

105.

You are probably using the internet to do some of your personal banking. There is a page that shows your accounts and their balances, often called something like "Account Summary" or "Account Overview." You must click on an account to begin managing it. Which type of web page is this?

a)

dynamic web page

b)

web app

c)

web service

d)

static web page

106.

Another web page allows interacting with a spreadsheet in a browser. You can enter in values, sum them up, perform operations on them, format them, etc. What type of web page is this?

a)

static web page

b)

dynamic web page

c)

web app

d)

web service

107.

Consider the two statements. Choose the one correct option.

1.      JSON is a markup language

2.      JSON can easily be converted into a Javascript object

a)

Only the first statement is correct

b)

Both statements are correct

c)

Neither statement is correct

d)

Only the second statement is correct

108.

Which of these is NOT a basic standard of the World Wide Web?

a)

TCP

b)

HTTP

c)

FTP

d)

URL

109.

There is an HTTP method that allows you to send, create or update a resource, but allows the server to decide its location and identity. Which HTTP method is this?

a)

PUT

b)

GET

c)

POST

d)

SEND

110.

Which of these is often used to add dynamic content to a web page?

a)

CSS

b)

Javascript

c)

HTML DOM

d)

HTML

111.

What are the three high-level components involved in a remote procedural call?

a)

marshal, client, server

b)

client stub, compiler, server stub

c)

IDL source code, IDL compiler, interface headers

d)

client, server, interface definition language

112.

The process of establishing a connection between the client stub and server stub is called…

a)

binding

b)

marshalling

c)

interfacing

d)

handshaking

113.

What are the advantages of Common Object Request Broker Architecture (CORBA)? Choose the 2 correct answers.

 

a)

Objects are essentially independent of their physical or virtual location.

b)

It allows for object-oriented paradigms in distributed computing

c)

Dynamic binding is simple

d)

Method calls can be treated locally or remotely

114.

What is the main difference between a web service and a web application?

a)

Web applications are presented through a browser

b)

Web services are simpler

c)

Web services are mostly meant for business applications

d)

Web applications dynamically generate content

115.
What standard is used for all aspects of web service development in this module, from describing interfaces to publishing and discovering services?
a)
XML
b)
WSDL
c)
SOAP
d)
UDDI
116.
Your web browser has an add-on that is alerted when your favourite blog has a new post. Which messaging pattern is this?
a)
notification
b)
request-response
c)
one-way
d)
solicit-response
117.
An important part of a WSDL (Web Service Description Language) file is a section that describes how services are invoked. For example, this section includes the style of interaction (document or RPC), the transport protocol, and how messages are turned into XML. What is this section?
a)
services
b)
bindings
c)
interfaces
d)
types
118.
WS-BPEL covers what aspect of web services?
a)
encryption
b)
publishing
c)
composition
d)
security
119.
Which part of a WSDL 2.0 description gives concrete information about the ports to be used for the service?
a)
bindings
b)
portTypes
c)
services
d)
interfaces
120.
According to REST best practices, where should you specify what format the input and output messages are in?
a)
Parameters in the URI
b)
XML schema
c)
HTTP headers
d)
sub-resources in the URI
121.
Which of these is NOT used in developing RESTful web services?
a)
simple text
b)
JSON
c)
XML
d)
SOAP
122.
By convention, which HTML method is usually used to create a new resource?
a)
POST
b)
DELETE
c)
PATCH
d)
PUT
123.
What is the recommended way to not break functionality if your RESTful API is being used by many users?
a)
Refactor the service, keeping the API the same
b)
version your API
c)
Describe your service with WSDL
d)
Subscribe your service consumers to change notifications
124.
Which of these best describes microservices?
a)
Migrating business functionality into a set of services incrementally instead of all at once
b)
Web service architectures consisting of lots of small, modular services
c)
a variation of SOA applied on an application scale
d)
Replicating services and modifying them to fill other roles
125.

Consider the two statements. Choose the one correct option.

1.Microservices must be in the same language and framework

2.Microservices can be replicated for scaling

a)
Only the first statement is true
b)
Only the second statement is true
c)
Both statements are true
d)
Neither statement is true
126.
Which of these examples is a web application?
a)
an online shopping platform
b)
a website conducting a survey
c)
a blog
d)
online poker
127.
What is the term for the action that converts the parameters into a standardized message on the client side?
a)
invocation
b)
binding
c)
marshalling
d)
blocking
128.
In what format are SOAP messages represented?
a)
JSON
b)
SOAP formatting is not based on any other format
c)
XML
d)
HTML
129.
Which part of a SOAP message can be included but is NOT required?
a)
header
b)
envelope
c)
body
d)
HTTP method
130.
True or False: a SOAP message must be sent over HTTP.
a)
True
b)
False
131.
Which type of description will a service requester need to bind to a web service?
a)
SOAP
b)
UDDI
c)
WS-Description
d)
WSDL
132.
Which section of WSDL 2.0 contains concrete information like physical ports and mapping interfaces to endpoints?
a)
bindings
b)
services
c)
portTypes
d)
interfaces
133.
What does the types section of a WSDL 2.0 document allow developers to do?
a)
Define abstract data types
b)
Specify document-style or RPC-style interaction
c)
Specify which communications protocol is used (HTTP, SMTP…)
d)
Specifies the type of interaction (request-response, solicit-response…)
134.
In which section of a UDDI description will you find information like the category of business and service?
a)
blue pages
b)
green pages
c)
yellow pages
d)
white pages
135.
Under which data structure of UDDI will you find a reference to the WSDL description?
a)
businessEntity
b)
serviceInterface
c)
businessService
d)
tModel
136.
What is the difference between coordination and composition in the context of services?
a)
coordination can only be done in a synchronous way
b)
composition uses only objects
c)
composition exposes a combination of services as another service
d)
coordination is focused on pairwise interactions
137.
What does it mean that RESTful services are cacheable?
a)
the service logic can be stored on the client
b)
the server can store the state of the interaction
c)
the client can store a version of the server's response
d)
the server can queue and prioritize requests
138.
Which of these is a good name for a REST resource?
a)
/getCar/2
b)
/car/2
c)
/cars/2
d)
/cars/2/tires
139.
Which of these elements in the HTTP header of a request specifies the format of the response?
a)
Host
b)
Content-Encoding:
c)
Accept:
d)
Content-Type:
140.
What is the most important difference between WS*-style web services (which utilize SOAP, WSDL, etc.) and RESTful web services?
a)
WS* are more secure
b)
RESTful services are simpler
c)
Their differences are very minor
d)
They do not use the same transfer protocol
141.
Where are the formats of the input and output data specified, according to REST best practices?
a)
In the HTTP header
b)
As parameters in the URL
c)
In the HTTP request in JSON format
d)
In the HTTP request in XML format
142.

Consider the following two statements about microservices architecture. Choose the one correct option

1.      Communication between microservices is stateless

2.      Testing microservice architecture is complex

a)
Only the first statement is true
b)
Only the second statement is true
c)
Both statements are true
d)
Neither statement is true
143.
Which of these formats can be used to express and structure content to be sent over the internet?
a)
CSS
b)
XML
c)
JSON
d)
HTML
144.

Consider the following two statements about Javascript. Choose the one correct option.

1.      It can allow you to generate content within the browser

2.      A Javascript file must be sent in addition to an HTML file

a)
Only the first statement is true
b)
Only the second statement is true
c)
Both statements are true
d)
Neither statement is true
145.
Which of these responsibilities does the client stub have in a middleware-based architecture that uses RPC?
a)
Invoking the remote procedure call over the network
b)
Establishing a connection with the server
c)
Formatting and encoding data into standardized messages
d)
Invoking the server application directly
146.
Which of these are acceptable REST URIs according to best practices?
a)
/students/
b)
/students/3/
c)
/student/
d)
/getstudent/
147.
How can you pass parameters in a REST call?
a)
In the HTTP header
b)
In the URL
c)
In XML
d)
In the SOAP header
148.
Which of these message patterns are typical of asynchronous messaging?
a)
request-response
b)
solicit-response
c)
one-way
d)
notification