Main Flashcards

1
Q

What is structured data

A

Data stored with high degree of organisation
SQL, CSV

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Is tags and elements structured or semi-structured

A

Semi-structured

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Why use cloud databases?

A

Ease of access
Faster time to market
Reduce risks
Lower costs
Scalability
Diaster Recovery

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

In a SQL Database each row is identified via a

A

primary key

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

The statements of inserting, retrieving , updating and deleting
data in relational databases are made by queries which are
written in

A

SQL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Advantages of Relational Databases (3)

A

Simple model and queries
Data accuracy (non-repetive)
Data integrity
High security

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Limitations of Relational Databases (3)

A
  • Difficult to maintain
  • Cost to setup and main tain
  • Large physical memory required
  • Lack of scalability
  • Complexity of structure
  • Decrease in performance over time
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What usecases widely make use of relational databases? (2)

A

-Store financial records of the whole industry
-Keep track of inventory
-Hold customer and supplier information
-Keep track of customer orders
-Keep record on employees

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

NoSQL is what type of database

A

Non_relational

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

NoSQL stores data in

A

Documents

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Unique properties of NoSql vs SQL

A

Flexible data models (post deployment)

Handle huge volmes of rapidly changing unstructured data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What would this look like in NoSQL?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Advantages of NoSQL databases

A

Scale-out architecture - handle large volumes of data

Store strucutred, unstructured, semi-structured

EAsily update schemeas

Big Data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Disadvantages of NoSQL databases

A

Lack of standardization

Lack of cross-platform support

Security

Data consistency

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Types of NoSQL databases

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is a graph database

A

Use graph to define relationsships between stored data points

Store and navigate relationships

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Give examples of graph databses

A

Neo4j, Graph DB

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Key-value databsed

A

 Use a simple key-value
method to store data
 Stores data as a collection
of key-value pairs
 Key servers as a unique
identifier

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What database stores content by colums rather than rows?

A

Wide-column database

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Advatnages of a wide-columned database

A

Big data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Examples of wide columed databases

A

Google Cloud Bigtable, HBASE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Explain visual difference between row and column store

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

SQL and NoSQL Scaling

A

SQL = Vertical
NoSQL = Horizontal

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Vertical scaling refers to

A

Adding more resources to your server as demand increases.

Existing code need not change

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Horizontal scaling

A

Adding more servers as demand increases

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Vertical vs Horizontal: Downtime

A

Longer downtime on Vertical

Less downtime on Horizonal

Single point of failure

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Vertical vs Horizontal: Message passing

A

Easy Data sharing and message sharing on Vertical

Complex data sharing and message sharing on horizontal

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Vertical vs Horizontal: Complexity

A

Horizontal increases complexity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

2 types of database consistency models

A

ACID
BASE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

ACID stands for

A

Atomic
Consistency
Isolation
Durability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

ACID is used in ___ databases

A

SQL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

BASE stands for

A

Basically Available - spread across node
Soft state = due to lack of immediate consistency, values may change
Eventually consistent - eventually reach consistent state

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

ACID v BASE

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Difference between strong and eventualy cosnsitency

A

Strong consistency = Consistent the amount something sent

Eventual consistency = consistent after time as updates propogate

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Eventual Consistency: server to client flows

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Strong Consistency: server to client flows

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

What is Cap Theorem / Brewers Theorem related too?

A

Impossible for distribued system to provide certain charateristics

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

What guarantees does Cap theorem / Bewer’s refer to?

A
  • Consistency - all clients see same view of data, even after updates
  • Available- All clients can find a replicate of data set in case of partial node failure
  • Partition-tolerance - system continues to work in case of network failure
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

Why is CAP theorem called CAP?

A

Acronym
Consitency
Avaliability
Partitioning

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

NoSQL schema type?

A

Pre-define or dynamic schema

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

What database type is preferred for large large amounts of data

A

NoSQL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

Where a traditional web application might use PhP and MySQL, a Google Cloud website using Apps may use

A

AppEngine
Datastore

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

GQL stnads for

A

Google Query Language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

Firebase

A
  • Cloud hosted Real-time database
  • Data is stored as JSON and synchronized in realtime to every connected client
  • Automatically receive updates with the newest data
  • Support: iOS, Android, Web, REST API, C++, Unit and Admin
    Setup
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

Peformance v Scalability

A

Scalability is number of nodes
Peformance is how effective each node is

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

Scalng up/down

A

Vertical Scaling

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

Scaling out/in

A

Horizon scaling

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

On a simple level the “Horizontal Scaling Compute Pattern” is acheived by

A

Adding or releasing compute nodes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

Is Horizontal Scaling Compute Pattern reversible

A

Yes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

What controls the Horizontal Scaling Compute Pattern?

A

Cloud Platform Management Systems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

UseCases for Horizontal Scaling Compute Pattern

A

Cost efficient scaling required

Application capacity requirements exceed capacity of largest node

Variable requirements

Minimal downtime

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

What pattern fits the following use cases?

Cost efficient scaling required

Application capacity requirements exceed capacity of largest node

Variable requirements

Minimal downtime

A

Horizontal Scaling Pattern

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

What are some caveats of Horizontal Scaling Compute Pattern

A
  • Efficient utilization of resources
  • Operational efficiency
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

What is:
The measure of how a module depends on other modules?

A

Coupling

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

Difference between couipling and cohesion

A

Cohesion - within the same module
Coupling - inbetween modules

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q

Types of coupling

A

Tightly - Many dependencies
Loosely - some dependencies
Uncoupled

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
57
Q

Limitations of tightly coupled

A

Increased complexity over time

Reduces scalability, portability

If service fails, entire app fails

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
58
Q

Advantages of loosely coupled

A

A Failure in one component != casecase

System is more resilient

Graceful failure

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
59
Q

What design pattern allows you to achieve decoupling?

A

Queue-centric workflow pattern

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
60
Q

Queue provides a good way of ….

A

front end and backend decoupling

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
61
Q

FIFO stands for

A

First in First Out

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
62
Q

In a Queue-centric workflow the name of the bus is

A

Message Queue

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
63
Q

Is a queue synchronous or asynchronous

A

Asynchrous

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
64
Q

Are queues relaible?

A

Yes (e.g. triplicate nodes, multiple workers etc)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
65
Q

What compoennts are the traditional”back end” compoennts of a queue

A

Worker role

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
66
Q

Can multiple workers read from a service bus queue

A

Usually yes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
67
Q

Can multiple “front end” instnaces feed to a single queue

A

Yes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
68
Q

What pattern would the following use cases suggest?

Work is time consuming

Work requires external service

Work is resource intensive

Work benefits from rate levelling

A

Queue-centric workflow pattern

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
69
Q

Queues help to enable tiers to..

A

Scale indpendantly

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
70
Q

What queue pattern aims to:
Optimize resources AND
Minimize Human Intervention

A

Auto scaling

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
71
Q

How does an auto scaling pattern work

A

Continous monitoring of resources

Templetes

Deploy new resources automatically

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
72
Q

Is vertical scaling pattern of the auto scaling pattern?

A

No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
73
Q

Types of auto scaling

A

Reactive
Predictive - machine learning loads
Scheduled - user defined

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
74
Q

Benefits of auto scaling pattern

A

Lower cost
Automation
Service availability

Reliable performance levels
Improved fault tolernace

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
75
Q

What types of cloud patterns are to do with scalability?

A

Horizontal Scaling COmpute Pattern
Queue-centric workflow pattern
Auto-scaling pattern

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
76
Q

What types of patterns are to do with Eventual COnsistency?

A

MapReduce Pattern
Database Sharding Pattern

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
77
Q

What is the logic for databse sharding pattern?

A

One database can’t handle all of data

Split data across multiple databases

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
78
Q

In database sharding apttern each database node is a

A

Shard

79
Q

In a database sharding pattern which compoennts is reponsible for maintaining knowledge of where each piece of data is kept

A

Shard Map Manager

80
Q

Caveats of sharding

A

Complex for implementation

Unbalanced Shard

81
Q

What is an unbalanced shard?

A

Shard gets too big compared to peer shards

82
Q

Map Reduce is a…

A

Programming model and associated implemention for BIG dataases

83
Q

What type of data is MapReduce pattern used for

A

Big data

Parallel, distributed algorithm

84
Q

How is MapReduce pattern implemtned

A

Clsuter

Many nodes working in parallel on different parts of the data

85
Q

Describe Visualize Map Reduce at a very high level

A

Splitters
Map functions
Reduce functions
Outputs

86
Q

Two min phases of MapReduce Pattern

A

Map
Reduce

87
Q

What phase is between Map & Reduce in map reduce patterb

A

Shuffle & Sort

88
Q

What is the role of the mapper?

A

Reads data as key/value pairs

Outputs data as key/value pairs

89
Q

Descibe a mapper on colours

A

Input - different colour objects
Output - key == colour, value == number of objects

90
Q

Role of shuffle & sort

A

Bring similar values together

91
Q

Describe the overall MapReduce pattern process

A

Input
Splitting
Mapping
Shuffling / Sort
Reducing
Output

92
Q

What was the MapReduce pattern designed for?

A

Processing large amounts of data

93
Q

Example of MapReduce platform

A

Hadoop

94
Q

Does MongoDB implement automatic sharding?

A

Yes

95
Q

Patterns related to multitenancy and commodity hardware

A

Busy signal pattern
Node failure pattern

96
Q

Patterns related to network latency

A

Colocate pattern
Valet key pattern
CDN pattern
Multisite deployment pattern

97
Q

Multi-tenant

A

Same application, different databases

How different dataabses is enforced depends **

98
Q

Adv of Multi Tenancy

A

Cost savings
Upgrades are easier (but more impact if goes wrong)

99
Q

Types of multi-tenant models

A

Single database - shared schema
Signle Database - seperate schema

Seperate database

Multiple database, multiple tents per database, shared schema

100
Q

Multi-tenant: Single Database, Shared Schema

A

One database

ID used to distinqiush per tennants in database

101
Q

Multi-tenant: Single Database, Shared Schema - Advantages

A

Maintainabily

102
Q

Multi-tenant: Single Database, Shared Schema - DisAdvantages

A

Security

No tenant isolation

Scalability - limited

103
Q

Multi-tenant: Single Database, Seperate Schema

A

Seperate schema per tenant

104
Q

Multi-tenant: Single Database, Seperate Schema - Advantages & Disadvnatages

A

Maintainability

Disadvantages:
Security & Scalability

105
Q

Multi-tenant: Seperate database + Advnatages and Disadvantages

A

Each tenant has their own database

Highest level of isolation

106
Q

A hubrid of single dataabse,shared schema and seperate database is

A

Multiple Databases, Multiple Tenants Per Database,
Shared Schema

107
Q

Avanages of Multiple Databases, Multiple Tenants Per Database,
Shared Schema

A

Scalability

108
Q

Commodity hardware refers to

A

Cheap, stnadardized servers

109
Q

This focuses on how an application should react when a cloud service responds to a programmatic request with a busy signal rather than success

A

Busy Signal Pattern

110
Q

Busy Signal Pattern

A

How application responds to busy signal

Handles transient failures

111
Q

Types of faults

A

Transient

Intermittent

Permenant

112
Q

What is explciit throttling

A

Protect servers against over utalizing services

Throttling limit set at app, resource or api level

113
Q

HTTP codes for throttling

A

HTTP status code 429
(“Too many requests”) or 503
(“Server Too Busy”)

114
Q

a limit is applied to the
number of requests per
second the users from any one
tenant can submit.

A

Explicit throttling

115
Q

Two methods of handling transient faults

A

Retry
Expoential backoff

116
Q

What is expoential back off

A

Client perodically retries a failured request with increasing delays between requests

117
Q

What pattern:
How application handles a compute node failure

A

Node Failure Pattern

118
Q

RAID is related to what pattern

A

Node Failure Pattern

119
Q

Node failure apttern works by

A

Splitting data into blocks - distributing across nodes

RAID defines mechanism and expected levels of avaliabiltiy

120
Q

What failure level does node failure pattern allow

A

N+1

121
Q

Node fialure and queue-centric pattern can be combiend to achieve

A

Stop partiallyl completed work being lost

122
Q

Busy signal pattern cab be used to enable …

A

retries

123
Q

Causes of latency

A

Distance

Transmissions mediums

Routers - processing delay

Storage delay

124
Q

Idea behind co-locate pattern

A

Distance adds latency

Locate nodes together

125
Q

Impact of colocate pattern

A

Cost optimization
Scalability
User Experience

126
Q

Context for colocate pattern

A

One node makes frequent use of another node

127
Q

How do you use colocate pattern

A

Set region

128
Q

What is the focus of the valet key pattern?

A

Efficiently using cloud storage services with intrusted clients

129
Q

How does a valey key pattern work

A

Application issue an ephemeral (equivalent key) - limited scope and time

Client uses the key to access some resource directly

130
Q

CDN pattern

A

CDN store cached content on edge servers

131
Q

Name of location at edge on CDN pattern where users first hit

A

Point of Presence (PoP)

132
Q

Pattern - focuses on deploying a single application to more than one data center

A

Multisite Deployment Pattern

133
Q

Reason for multisite deployment pattern

A

Deploying to multiple data centres helps reduce network latency

Routing a client to nearest data centre

134
Q

In multisite deployment pattern, data centres stay in ____

A

sync

135
Q

API

A

Intermediate software agent that allows dependent application to communicate with each toher

136
Q

Types of APIs

A

REST-Based
SOAP-Based
GraphQL-Based

137
Q

REST stands for

A

Representational State Transfer

138
Q

Use JSON for data formatting

A

REST-Based API

139
Q

Properties of JSON

A

Lightweight text based data interchange format

Language independent

Most programming languages can easily read it and instantiate

Easy to understand and manipulate

140
Q

Is JSON ordered

A

No

141
Q

SOAP stands for

A

Simple Object Access Protocol (SOAP)

142
Q

SOAP architecture

A

Function Driven Architecture

Uses XML schema data format

143
Q

Scalability - SOAP v REST

A

SOAP scales more easily and efficiently than REST

144
Q

XML properties

A

eXtensible Markup Language

Human- and machine- readable (verus JSON’s more Machine readable)

145
Q

GraphQL

A

Query Language

More flexible an data-intesive opreations approach in API management

146
Q

Whom developed GraphQL

A

Facebook

147
Q

Image shown in a rest _ api might translate to what in graph ql

A

Target speciifc queries in query - more like an SQL query in some ways

148
Q

Functional programming is a programming _______

A

paradigm

149
Q

Functional programming is a way of writing applications using

A

only pure functions and immutable values

150
Q

The following terminology is associated with what:
Immutalbe data
Closure
First-class function
Modularity
Referential Transparency

A

Functional Programming

151
Q

Referential transparency

A

Functional programs should perform operations just like as if it for the first time

152
Q

Closure

A

Inner function which can access variables of parent functions

153
Q

Benefits of functional programming

A

Easier to test

Parallel processing

Better modularity

154
Q

Limitations of functional programming

A

Immutable values & recursion might lead to reduction in performance

Writing pure functions causes a reduction in readability

155
Q

Functinal Programming fits with what cloud computing architecture

A

Serverless

156
Q

Reasons for serverless

A

No wasted resources

Low management overhead

Scalable

Cost effective

157
Q

Limitations of serverless architecture

A

Debugging

Security

Vendor limitations

Latency

158
Q

Serverless architecture components on common cloud platforms

A

OPEM OpenWhisk

AWS:
API Gateway
Lambda

Google Cloud Functions

Microsoft Azure Functuins

159
Q

FaaS v Serverless

A

Subset of serverless

160
Q

Micro-services are ..

A

small, indpendent and loosely coupled services

161
Q

Benefits of Micro-services

A

Agility

Small-focused teams

Fault isolation

Data isolation

162
Q

Deployment of micro-services

A

Services can be deployed independently

163
Q

Challenges of micro-services

A

Complexity

Lack of governance -different languages and frameworks at each level

Network congestion and latency

Data integrity - each micro-service for its own data persistence

164
Q

Types of Google Cloud Functions

A

Foreground functions (Synchronous) - directly invoked via HTTP

Background functions (Asynchronous) - invoked via ann event.

165
Q

What two google services can currently invokve backgroind/asynchronous cloud functions

A

Google CLud Storage

Pub/Sub events

166
Q

Storage in Google Cloud generates what type of event

A

Object Change Notification (OCN)

167
Q

Service MEsh

A

How different parts of an application share data with one another

Dedicate infrastructure layer

168
Q

What type pf service architecture is associated with a service mesh

A

Microservice

169
Q

What type of testing is related to :
- Peformance testing
- Security testing
- Usability testing
- Compatability testing

A

Non-unfctional

170
Q

What type of testing is related to :
- Unit testing
-Integration testing
- System testing
- Acceptance testing

A

Functional testing

171
Q

Functional testing

A

Verifies each function

172
Q

Types of functuonal testing

A

Unit
Integration
Systemm
Acceptance

173
Q

ADvantages of unit tests

A

Capture early

Reduce bugs

Modular

174
Q

Integration testing

A

Tests multiple components in single test

175
Q

Approaches to integration testing

A

Big Bang
Bottom Up
Top down
Sandwhich

176
Q

Integration testing - Big bang

A

Everything tested all as once

efficient

good for small systems

177
Q

Integration testing - Bottom-up

A

Lower level module are tested first

Easier fault location

Critical modules tested last

No prototyping possible

178
Q

Integration testing - Top-down approach

A

Higher level modules tested first

early prototype possible

Critical modules tested on priority

179
Q

Integration testing - divide and conquer method

A

Sndwhich testing approach

180
Q

What testing evaluates system specification?

A

System testing

181
Q

Types of system testing

A

Load testing
Stress testing

182
Q

Acceptance testing

A

Present product to users

183
Q

Usability testing involves..

A

Setting upa user-friendly group and following:
1. Plan the test
2. Recruit participants
3. Prepare materials
4. Setup enviroment
5. Conduct the test
6. Analyze data
7. Report results

184
Q

Code covergae refers to

A

How much of code is being covered

Quantitive

185
Q

Code Coverage Methods

A

Statement Coverage

Decision Coverage

Branch Coverage

Condition Coverage

186
Q

Statement Coverage

A

Calculation of the number of statement in source code which have been execited

187
Q

Formula for satement coverage

A

(number of executed satements/total statements) * 100

188
Q

What is covered by satement coverage?

A

Unused statements
Dead code
#Unused Branches
Missing Sattements

189
Q

Decision Coverage

A

ensuring that each branch of every possible decision point is executed at once

190
Q

Decison Coverage FOrmula

A

Number of decision outcomed / Total number of decision outcomes

191
Q

Branch Coverage Formula

A

Number of executed branches/ Total number of branches

192
Q

Condition Coverage

A

Check individual outcomes for each logical condition

193
Q

Python Test Runner

A

A program that runs the tests

unittest
pytest
Nose
Twisted