2. 1. QUESTION
You are an architect for a signal processing application. You have
designed the application in such a way that the front-end component
receives sensor data from devices, and the data flows from one
component to the following component. Each component
subsequently transforms the data it receives and passes the
transformed data to the next component. The final component
passes the data to a modeling and visualization unit that renders the
data to the end-users. The architecture style you have used in this
application is:
a) Layered architecture pattern
b) Pipe-and-filter architecture pattern
c) N-tier architecture pattern
d) Peer-to-peer architecture pattern
4. 2. QUESTION
Which architecture style is characterized by the following:
“All arriving new data is entered into both the batch layer and
the speed layer. Batch layer has the master dataset and
precomputes data and provides it in batch views. Speed layer
processes the with recent data and compensates for the
latency in the batch layer. Serving layer processes queries
using data from both batch views and real-time view in speed
layer.”
a) Microservices style
b) Pipe-and-filter style
c) N-tier architecture style
d) Lambda architecture style
6. 3. QUESTION
Consider the following code segment:
Reader rd = new LineNumberReader(new
BufferedReader(new FileReader(“./test.c")));
Reader is the abstract base class from which classes such
as FileReader and BufferedReader derive. Classes in the
Reader hierarchy take a Reader as an argument and hold
it as a reference. Which design pattern does the
underlying design follow?
a) Factory method pattern
b) Strategy pattern
c) Builder pattern
d) Decorator pattern
7. 3. ANSWER
d) Decorator pattern
VisualComponent
+ Draw()
TextView
+ Draw()
ScrollDecortor BorderDecorator
+ Draw()
- ScrollPosition
+ Draw()
- borderWidth
Decorator
+ Draw() component->Draw()
Decorator::Draw()
DrawBorder()
Decorator::Draw()
ScrollTo()
Source: “Design Patterns: Elements of Reusable Object-Oriented Software”, Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides,
8. 4. QUESTION
A division in a large company is working on maintaining
compiler and tools for a platform. Teams are organised
reflecting the components maintained, such as compiler
front-end team, back-end (optimiser) team, linker team,
debugger team, etc. Such reflection of architecture
structure in the organisation structure (and vice versa)
is known by the name:
a) Brook’s law
b) Conway’s law
c) Moore’s law
d) Amdahl’s law
9. 4. ANSWER
b) Conway’s law
“Any organization that designs a
system… will inevitably produce a
design whose structure is a copy
of the organization's
communication structure”
10. 5. QUESTION
You are an architect who have just joined a large team that that
maintaining a legacy software. While trying to understand the
architecture of the software, you find that the architecture is well
documented. However, when you discuss with the developers
working in the project, you find that the actual architecture is
different from the documented architecture – over the last
decade, the software has changed but the documentation has not
been updated. The scenario you are facing is known as:
a) Architecture drift
b) Lambda architecture
c) Deployment architecture
d) Undocumented architecture
12. 6. QUESTION
What is the architecture style followed by the
World Wide Web (www)?
a) Microservices style
b) REST (REpresentational State Transfer) style
c) CQRS (Command Query Responsibility
Segregation) pattern
d) Lambda architecture style
13. 6. ANSWER
b) REST (REpresentational State Transfer) style
code-on-
demand
client-server
cache
statelesslayered
system
uniform
interface
REST
constraints
(in www)
14. 7. QUESTION
You are working on an financial application that is an event-driven
system. The team is having difficulty in testing and debugging the
software and want to be able to replay the events. Also, the application
has recently been a target of security attacks. With lack of audit trail, it
is difficult to prosecute attackers. What is more, the management also
wants predictive analytics for improving profitability of the business.
Which of the following patterns can help directly address this
situation?
a) Using microservices style
b) Using REST (REpresentational State Transfer) style
c) Using event sourcing pattern
d) Using CQRS (Command Query Responsibility Segregation) pattern
15. 7. ANSWER
c) Using event sourcing pattern
source: https://msdn.microsoft.com/en-us/library/dn589792.aspx
16. 8. QUESTION
Docker is written in:
a) Java language
b) C language
c) D language
d) Go language
17. 8. ANSWER
d) Go language
Check out this presentation on “Docker
and Go: why did we decide to write
Docker in Go?”
18. 9. QUESTION
Who is
a) Michael Feathers
b) Robert C. Martin
c) Solomon Hykes
d) Roy T. Fielding
19. 9. ANSWER
c) Solomon Hykes
Solomon Hykes started Docker project in
his earlier company dotCloud; it was later
released to open source in 2013. He is
now the CTO in Docker Inc.
20. 10. QUESTION
You have used dependency analysis tools on
your code base. You find numerous cycles and
tangles in the dependencies. The recommended
approach to be followed is:
a) Adopt Domain Driven Design (DDD)
b) Adopt Test Driven Development (TDD) approach
c) Perform architecture refactoring
d) Use profiling tools to find “hotspots” and remove
the bottlenecks