software architecture - quiz questions

21
SOFTWARE ARCHITECTURE Warm-up session

Upload: ganesh-samarthyam

Post on 15-Jan-2017

96 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Software Architecture - Quiz Questions

SOFTWARE ARCHITECTUREWarm-up session

Page 2: Software Architecture - Quiz Questions

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

Page 3: Software Architecture - Quiz Questions

1. ANSWER

b) Pipe-and-filter architecture pattern

Page 4: Software Architecture - Quiz Questions

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

Page 5: Software Architecture - Quiz Questions

2. ANSWER

d) Lambda architecture style

Page 6: Software Architecture - Quiz Questions

3. QUESTION

Consider the following code segment:

Readerrd=newLineNumberReader(newBufferedReader(newFileReader(“./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

Page 7: Software Architecture - Quiz Questions

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,

Page 8: Software Architecture - Quiz Questions

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

Page 9: Software Architecture - Quiz Questions

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”

Page 10: Software Architecture - Quiz Questions

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

Page 11: Software Architecture - Quiz Questions

5. ANSWER

a) Architecture drift

Page 12: Software Architecture - Quiz Questions

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

Page 13: Software Architecture - Quiz Questions

6. ANSWER

b) REST (REpresentational State Transfer) style

code-on-demand

client-server

cache

statelesslayered system

uniform interface

REST constraints (in www)

Page 14: Software Architecture - Quiz Questions

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 patternd) Using CQRS (Command Query Responsibility Segregation) pattern

Page 15: Software Architecture - Quiz Questions

7. ANSWER

c) Using event sourcing pattern

source: https://msdn.microsoft.com/en-us/library/dn589792.aspx

Page 16: Software Architecture - Quiz Questions

8. QUESTION

Docker is written in: a) Java language b) C language c) D language d) Go language

Page 17: Software Architecture - Quiz Questions

8. ANSWER

d) Go language

Check out this presentation on “Docker and Go: why did we decide to write

Docker in Go?”

Page 18: Software Architecture - Quiz Questions

9. QUESTION

Who is

a) Michael Feathers b) Robert C. Martin c) Solomon Hykes d) Roy T. Fielding

Page 19: Software Architecture - Quiz Questions

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.

Page 20: Software Architecture - Quiz Questions

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

Page 21: Software Architecture - Quiz Questions

10. ANSWER

c) Perform architecture refactoring

Tangles in JDK