Cheatsheet

Select all the following that would likely be considered enterprise Software.

  • B2B Portal, Human Resource Management, Legal Document Management, B2C Portal,

  • Accounts Receivables, Order Processing

Select all the statements that best describe Scrum.

  • Small prioritized deliverables

  • Cross-functional self-organized teams

Select all the values Scrum encourages

  • Have open communication

  • Have frequent releases

  • Have clear goals

  • Focus on continuous improvement

Select all the key points about enterprise applications discussed in the Patterns of enterprise application architecture book.

  • Usually requires integration with other Enterprise Applications

  • Usually involves persistent date

  • Usually requires Transaction Managers to handle concurrent access to data



Select all the (TRUE) statements about HTTP: 

  • HTTP is a symmetric request-response protocol

  • – (False)

  • HTTP/2 added request multiplexing over a single TCP connection

  • – (TRUE)

  • HTTP is a stateful protocol with cookies

  • – (False)

  • HTTP/2 added data compression of messages

  • – (TRUE)

Select all the appropriate responsibilities of a Product Owner.

  • Manages a prioritized backlog

  • Creates the shared vision of the project

Select all the (TRUE) statements about scaling up.

  • As an example, add more CPU and Memory

  • Same as vertical

Select all the (TRUE) statements about scaling out.

  • Add more servers

  • Same as horizontal



Select all the statements that best describe Kanban.

  • Visualized Workflow

  • Limit work in progress

Select all the appropriate responsibilities of a Scrum Master:

  • Coaches the team on Scrum

  • Makes sure the team has daily Scrum meetings

Select all the recent Enterprise Software trends.

  • (ALL OF THE ANSWERS)

  • Mobile Focused

  • Emphasis on Agile

  • Support for Collaboration

  • User-centered Design

  • Move to Cloud

  • Support for API

  • Built-in Analytics Capabilities & Integrated Security Features,

  • Bare-bones software / “Minimum Viable Product” (MVP) to increase time to market, Faster updates and release cycles / Lean & Agile,

  • Cloud-focused for flexibility and lower Total Cost of Ownership,

  • Mobile-Friendly (Mobile First Workforce)

  • Built-in collaboration capabilities

  • Cloud, Containers, Kubernetes, and Microservices

  • The API Economy – Business Services via APIs for Consumption



Select the enterprise software components discussed in class:

  • Load balancers, DNS, Database, Message-Oriented Middleware, and API Gateway. Also: CDN, Proxies (front/back), databases, cache. (NOT XML databases, DNC, dynamic proxies, Microsoft Office, adobe sync, or Facebook app) 

Select the Core Principles of Kanban:

  • Start with what you know

  • Agree to pursue incremental and evolutionary change

Select the core practices of Kanban:

  • Make processes explicit

  • Limit work in progress

  • Use a Kanban Board to visualize

  • Manage flow

Select the most secure way to authenticate a rest API. 

  • OAuth2

Select the different load Balancer Algorithms.

  • (Correct: Round Robin, Random, least busy, based on Client Headers)

  • (Not on the quiz: sticky session/cookies, by request parameter)



Select the typical users for each.

  Enterprise Software User                    SaaS

Enterprise Software Developer

PaaS

Enterprise Software IT

IaaS

Enterprise Software DevOps

IaaS

Mobile Software Developer

PaaS



Select which phase in data analytics processing you would find the following:

Staging Data:

Load

Data Validation:

Transform

Remove Extraneous Data:

Transform

Reference Data:

Extract, transform, and Load

Creating Summations:

Transform

Match the appropriate methodology to the feedback loops.

  • Sprint – Scrum

  • Daily Standups – Scrum

  • Continuous Integration – XP

  • Unit Testing – XP

  • Pair Programming – XP

  • Integration Demo – Scrum



Match the Lean Values

a.  Find the work that you’re doing that doesn’t directly help to create valuable software and remove it from the project. – Eliminate Waste

b.  Establish a focused and effective work environment and build a whole team of energized people. –

Empower the Team

c.  Use feedback from your project to improve how you build software – Amplify learning

d.  Make every important decision for your project when you have the most information about it-at the last responsible moment – Decide as Late as Possible

Match the Use Cases with the best option for Database Technology:

column-oriented, map-reduce, RDBMS,

document-oriented, apache-spark, graph database or key-value

  • HTTP Session Management: Key-Value

  • Data Analytics Dashboard: Column-Oriented

  • Transaction Logs: Column-Oriented

  • E-commerce shopping cart: Key-Value

  • Order Processing: RDBMS

Match the Agile Principles with the Traditional Waterfall Equivalent Values:

●  Individuals and interactions – Processes and Tools

●  Working Software – Comprehensive Documentation

●  Customer Collaboration – Contract Negotiation

●  Responding to Change – Following a Plan



Match the XP Values:

  • Developers focus on writing the most simple and direct solutions possible. → Simplicity

  • Constant tests and feedback loops keep the quality of the product in check. → Feedback

  • Each team member is aware of the work everyone else is doing. → Communication

  • Each team member is focused on making the best choices for the project, even if it means having to discard failing solutions or approach things differently. → Courage 

  • Every team member is important and valuable to the project. → Respect

Match the Domain Logic Pattern

  • Process for each user action – transaction script

  • Object-Oriented design for business logic – domain model

  • Organize business logic using record sets – table module

Match the practices to the right Project Role

  • Task board – Team Lead 

  • Story points – Developer

  • Product backlog – Product Owner

  • Refactoring – Developer

  • User stories – Product Owner

  • Pair programming – Developer

  • Relative ranking – Product Owner 

  • Test-driven development – Developer



Match the following Scaling Patterns: (execution orchestrator, result cache, bulk sync parallel, load balancer, map-reduce, shared space, pipe & filter, AFK scaling)

  • Use a recent local copy of data instead of data on the server: Result cache

  • Alternate forwarding request to one of the backend workers: Load balancer

  • Chain together a series of working using queues: Pipe & Filter 

  • Process a large data set distribution across many servers: Map Reduce

Match the Enterprise Protocols and Middleware?

  • Enterprise Protocols: TCP, UDP, HTTP, HTTPS/TLS, REST API, Distr. the publish-subscribe message, – XMPP, STOMP, AMQP;

  • Middleware: KAFKA, Active MQ, RabbitMQ, Jabber, Microservices

Match the appropriate term for the concepts listed.

Organize data into smaller functional databases instead of a single large database.

 ○   Federation

Split data across multiple databases since data won’t fit on a single database server.

 ○ Sharding

Store data from different customers in the same database and schema.

○ Data replication (Data Replication, Single Tenancy, Microservices)

Store data from the different customers in the same database but with different schemas.

○ Multi-Tenancy (SaaS Challenge)



Match the example responsibilities with the appropriate TCP/IP Layer:

Rendering JSON from REST API

Application Layer

Network Routing

Internet Layer

Session Management

Application Layer

Transmission Flow & Error Control

Host-to-Host Layer

Identifying Hardware Addresses

Network Access Layer

Match the RabbitMQ statements.

  • Ignores Routing Key and Routes Messages to all Queues – Fan Out Exchange

  • Routes Messages using Routing Key – Direct Exchange

  • Uses a Pattern Match to Routes Messages – Topic Exchange

  • Route Messages based on matching message headers – Headers Exchange

Match the protocol used by the following enterprise software components. 

Rabbit MQ:

AMQP

ActiveMQ:

STOMP

Jabber:

XMPP

Kafka:

Pub/Sub

Microservices

REST



Match the data lake, data mart vs Data Warehouse for each of the following statements.

  • Used for Predictive Analytics – Data Lake

  • Used for Operational Analytics – Data Warehouse

  • Used for LOB Reporting – Data Mart

  • Typical Time-to-Market of Hours to Days – Data Warehouse

  • Typical Time-to-Market of Weeks to Months – Data Lake

  • Typical Time-to-Market of Minutes to Hours – Data Mart

  • Has Moderate Data Growth – Data Warehouse

  • Has Low Data Growth – Data Mart

  • Has Large Data Growth – Data Lake

Match the domain logic patterns.

  • A process for each user action: (Transaction script)

  • An object-oriented design for business logic: (Domain Model)

  • Organize Business Logic using Record Sets: (Table Module)

Match and CAP Scaling Properties 

  • C=Consistent

  • A=Available

  • P=Partition Tolerant



Match each statement with either OLTP or OLAP 

  • Typically has Long Transactions –         OLAP

  • Focused on Creating Business Data –   OLTP Database Typically Normalized in 3NF –   OLTP

  • Database Typically not Normalized –     OLAP

  • Focused on Reporting on Business Data – OLAP



Which of the following are examples of applications and system architecture?

  • single-machine web service (NOT web services), 3-tier web service, Message Bus, Distributed

  • N-tier

Which of the following would be considered a “focus” of enterprise software?

  • Supporting Business agility

  • Supporting cost management

  • Maintaining and improving existing Software systems

Which dimension of scaling in the AKF scale cube deals with sharding, replicas, and microservices?

  • x-axis = replicas, y-axis = microservices, z-axis = sharding

Which protocol is more reliable? 

  • TCP over UDP



Which practices do Scrum and XP have in common?

  • Task Boards

  • Stories

  • Backlog

  • Retrospectives

Which Locking strategy will yield better transaction processing throughput?

  • Optimistic offline locks

Which walking strategy will yield better traction processing throughput 

  • optimistic offline locks

What are the top three digital transformation spending areas for enterprises in 2019 as cited by Gartner? 

  • Business intelligence or Data analytics, Cyber/information security, Clouder services or solutions

What are the essential characteristics of a cloud service?

  • On-Demand/self-serving, broad network access, Resource Pooling, Rapid elasticity, Measured service



What are some pain points of Enterprise Software cited in this class

  • Comes in “Big ERP suites”

  • High support costs

  • On-Prem Legacy

What is the feature in Load Balancers to prevent a new replica from being flooded with requests on startup?

  • Slow start

What is pair programming?

  • Two developers writing code together, providing constant peer review

What is the best method for detecting if the contents of a file have changed?

  • Hash Function, because Hash algorithms are used to provide a digital fingerprint of a file’s contents, to ensure that the file has not been altered

What is the Public Key Cryptography Implementation?

  • RSA

The “long Tail” is a term coined by Chris Anderson for the industry trend toward mass production of popular products for consumers. For example, Apple’s iPhone 

(False)



The practice of looking for patterns in enterprise data is also known as?

  • Data analytics (also, analytics, marketing, analysis, optimization)

The “Fat Client, thin server” architecture is also known as?

  • Two-Tier

The master-master database scaling architecture, clients can read and write on any of the notes.

(TRUE)

The master-slave database scaling architecture, clients can read and write on any of the notes. 

(False)

A UDP Load Balancer is also known as a?

  • Layer 4

A CDN is used to improve the performance of Web Traffic by caching content on edge servers closer to the Client

(TRUE)

A document database, such as MongoDB is basically a key-value database with the values is also processed by the DB engine to support the optimizations (such as indexing for fast searching).  

(TRUE)



A goal of MVC is to separate the model (Business Logic) from the view (Presentation) by adding an intermediary (controller) so that the model and view can evolve independently.  

(TRUE)

A mechanism to prove that the sender sent this message

  • first public key crypto – RSA

A performant system has high latency and low throughput. 

(False)

A three-tier architecture typically consists of

  • Presentation, Business Logic, and Database Tier

A user story must be in the “user voice format” to help the team understand their users by clearly explaining a specific need, and how the software will meet that need.  

(False)

AP Databases typically use Master-Slave Replication, whereas CP Databases use peer-to-peer. 

(False)

AI and ML are currently in the Early Majority Technology Adoption Life Cycle. 

(TRUE)



An Agile Burndown Chart shows

All of these

Asymmetric Key Cryptography is also known as Public-Key Cryptography

(TRUE)

Asynchronous Workloads are typically implemented using Queues and Background jobs to help increase response time to Clients for running compute-intensive operations.

(False)

Both asymmetric key and symmetric key cryptography can be used for confidentiality, message integrity, and non-repudiation.

(False)

Check all the phases of the Hype Cycle tracked by ThoughtWorks.

  • Innovation Trigger

CP databases typically use master-slave replication, whereas AP databases use peer-to-peer.  

(TRUE)

Currently, on the Internet, the most common form of host-to-host authentication is host-name or host-ip which is strong enough for Transport Security.

(False)



DES and AES are Symmetric Key Cryptography Ciphers that use a 56-bit key and 64-bit blocks.

(False)

Each user story has conditions of satisfaction to help the team know when the story is done. This is also known as the “definition of done” or “playable stories”. 

(TRUE)

Feature Branches are typically forked from Master: False ➢ Google Protobuf is a more performant replacement for XMP

(TRUE)

For horizontal database scaling, at least 1 of the 3 CAP properties must be (TRUE). 

(False)

For laas, select which would be outsourced from the development team.

  • virtualization, servers, storage, and network For PaaS: same as IaaS + OS, middleware, and runtime

Google.com and microsoft.com are examples of top-level domains

(False)

Google Protobuf is a more permanent replacement for XML.

(TRUE)



Hotfix Branches are typically forked from the Master

(TRUE)

HMAC uses a cryptography hash function and asymmetric key

(False)

High network latency will result in a slower web browser response to render a web page.  

(TRUE)

HUBs are stateful architectures, while ESBs are not 

(TRUE)

HUBS can scale just as well as ESB, but are simpler to get started for small numbers of integration points 

(False)

 In Enterprise Security, Message Integrity is ensuring that no one except the intended receiver can read the message.

(False)

In Enterprise Protocols, what are the different ways requests can be handled?

Request/response, publish/subscribe, notification – one-to-one (event-based), async messages

 TLS is a modern version of SSL and allows a client to verify the identity of the server.

(TRUE)



In Symmetric Key Cryptography, the Sender of a message and the receiver use a shared key for encryption and decryption.

(TRUE)

In an AP database, it is possible to have a write conflict during partition:

(TRUE)

In database lingo, BASE stands for Basically Available, Strong Consistency, and Eventually Durable. As opposed to ACID which has strict properties of atomicity, consistency, and durability.

(False)

In a hub-and-spoke architecture, the data exchanged is typically in a canonical format.

(False)

It is possible to horizontally scale a database without support for partition tolerance.

(False)



In a CP database, it is possible to have a write conflict during partition.

(False)

In a hub-and-spoke architecture, the data exchanged is typically in a canonical format.

(False)



In database lingo, BASE stands for Basically Available, Strong Consistency, and Eventually Durable. As opposed to ACID which has strict properties of Atomic, Consistent, isolated, and durable. 

(False)

In the inverted index example:

The map function is: it takes a document and outputs a list of words and an identifier for the document (document id).

The Reduce Function is: it takes all the word and document id pairs and outputs the word with the list of documents the word is found in. 

(TRUE)

It is possible to horizontally scale a database without support for partition tolerance.  

(False)

Integration Styles:

  • Prone to stale data due to low-frequency updates:       File Transfer

  •   Difficult to design the same Schema Apps:                 Shared Database

  •   Integrate via Functions rather than Data:                    Remote Procedure Invocation(RPC)

  •  Achieves better loose coupling in integration:              Messaging

Kafka is better suited for event streaming than RabbitMQ. 

(TRUE)



Kafka can not scale linearly with data size

False

Kubernetes and Dockers are typically used together. 

(TRUE)

Latency is the minimum time required to get any form of response.

(TRUE)

Load balancers use health check pings against back-end servers to determine if they are busy and can be sent a request.  

(TRUE)

Low network latency will result in a slower web browser response to render a web page

(False)

Microservices are more coarse-grain compared to SOA. 

(False)

Message Integrity is a security mechanism the recipient of a message can use to check if a message has been altered in transit.

(TRUE)

Microservices are easier to maintain, deploy and debug compared to a large Monolithic Application

(False)



Microservices are better suited for synchronizing APIs than a message in architecture like ESB’s (TRUE)

Middleware Use Cases

  • Integration

  • Caching

  • SSO

Microservices typically result in a partitioned Database Architecture 

(TRUE)

Microservices typically share the same database. 

(False)

Microservices are easier to maintain, deploy and debug compared to a large Monolithic Application

(False)

Microservices typically share the same database. 

(False)

Microservices are better suited for synchronizing apis than a message in architecture like ESB’s

(TRUE)

Non-repudiation is a security mechanism to improve that the receiver is supposed to receive the message

(False)



OWASP’s top ten includes the injection Attack, which is about how attackers add untrusted code that can be executed on the server without proper authorization.  

(TRUE)

Only technical writers can create documentation during a Sprint. 

(False)

RabbitMQ is better suited for event streaming than Kafka. 

(False)

Redis is typically used to cache popular queries to increase response times.

(False)

Request and Response Transformations are typically the responsibility of the API Gateway

Forward proxy, Reverse Proxy, API gateway, CDN, and Load Balancer

Responsiveness is the amount of time a system takes to process a request from a user or API call.

(False)

Response time is the amount of time a system takes to process a request from a user or API call.

(TRUE)

Scrum Backlog Items must fit a Sprint 

(False)



Sharding is used when it is not possible to store the data on a single server

(TRUE)

Spark was created to improve the processing speed of Hadoop and to also support other computational models besides batch processing

(TRUE)

Spring Framework is considered to be an IoC Container that heavily uses the Dependency Injection Pattern.

(TRUE)

SSL Termination is typically the responsibility of Reverse Proxies

  • Forward proxy, Reverse Proxy, CDN, Load Balancer

SSL Termination is typically the responsibility of?

  • Reverse Proxy

Teams use story points and velocity to estimate how many stories they can include in each sprint.  

(TRUE)




To refine Product Backlog items, the following activities will occur implicitly or explicitly:

  • Decomposition

  • Design

  • Analysis



There are no “Time Boxes” in Kanban. 

(TRUE)



The early Majority are typically found in the growth phase of a Technology Life Cycle.  

(TRUE)

To resolve a conflict in a NOSql Database during partition recovery, select the best mechanism to use.

  • Vector clock stamp

Turning on a sticky (persistent) session for a load balancer sends all requests from a client to the same back end server using stateful features of HTTP. 

(False)

Using RPC is considered to be loosely coupled as an Enterprise Integration approach

(False) 

What are the typical charts used to track progress for each of the following?

  • Waterfall – Gantt Chart

  • XP – Total work done

  • Scrum – Burndown chart

  • Kanban – Cumulative flow diagram



When a client machine needs to access “google.com” via TCP/IP, the client may consult a DNS server on the local LAN if the IP for google.com doesn’t exist in the local cache (i.e /etc/hosts). The response from the LAN DNS server is considered an Authoritative Response 

(False)

Why is it hard to scale a typical relational database? (select all that apply)

A. Because RDBMS requires a fixed schema (v)

B. Because there is an upper bound to adding more memory and CPU (v)

C. Because RDBMS don’t support BASE

D. Because it is expensive to vertically scale (v)

E. Because RDBMS don’t support horizontal scaling (v)

F. Because RDBMS doesn’t support functional partitioning

Who writes tests in a Scrum Team?

  • The Development Team

Why are automated builds important? 

  • They provide rapid assurance that defects and configuration management issues have not been introduced

XMPP is the protocol used by RabbitMQ

(False)