Key Concepts in Enterprise Software Development
Enterprise Software Fundamentals
Identifying Enterprise Software
Select all the following that would likely be considered enterprise software:
- B2B Portal
- Human Resource Management (HRM)
- Legal Document Management
- B2C Portal
- Accounts Receivables
- Order Processing
Agile Methodologies: Scrum
Key Characteristics of Scrum
Select all the statements that best describe Scrum:
- Small, prioritized deliverables
- Cross-functional, self-organized teams
Values Encouraged by Scrum
Select all the values Scrum encourages:
- Open communication
- Frequent releases
- Clear goals
- Focus on continuous improvement
Enterprise Application Architecture Patterns
Key Points from PoEAA Book
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 data
- Usually requires Transaction Managers to handle concurrent access to data
Networking Protocols: HTTP
True Statements About HTTP
Select all the (TRUE) statements about HTTP:
Statement | Truth Value |
---|---|
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 |
Agile Roles: Product Owner
Product Owner Responsibilities
Select all the appropriate responsibilities of a Product Owner:
- Manages a prioritized backlog
- Creates the shared vision of the project
System Scaling Concepts
True Statements About Scaling Up (Vertical Scaling)
Select all the (TRUE) statements about scaling up:
- As an example, add more CPU and Memory
- Same as vertical scaling
True Statements About Scaling Out (Horizontal Scaling)
Select all the (TRUE) statements about scaling out:
- Add more servers
- Same as horizontal scaling
Agile Methodologies: Kanban
Key Characteristics of Kanban
Select all the statements that best describe Kanban:
- Visualized Workflow
- Limit Work in Progress (WIP)
Agile Roles: Scrum Master
Scrum Master Responsibilities
Select all the appropriate responsibilities of a Scrum Master:
- Coaches the team on Scrum
- Ensures the team has daily Scrum meetings
Enterprise Software Trends
Recent Enterprise Software Trends
Select all the recent Enterprise Software trends:
- Mobile-Focused (Mobile First Workforce)
- Emphasis on Agile
- Support for Collaboration (Built-in collaboration capabilities)
- User-centered Design
- Move to Cloud (Cloud-focused for flexibility and lower Total Cost of Ownership)
- Support for API (The API Economy – Business Services via APIs for Consumption)
- 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, Containers, Kubernetes, and Microservices
Enterprise Software Components
Key Enterprise Software Components
Select the enterprise software components discussed in class:
- Load balancers
- DNS
- Database
- Message-Oriented Middleware
- API Gateway
- CDN
- Proxies (front/back)
- Cache
(Not considered: XML databases, DNC, dynamic proxies, Microsoft Office, Adobe Sync, or Facebook app)
Agile Methodologies: Kanban
Core Principles of Kanban
Select the Core Principles of Kanban:
- Start with what you know
- Agree to pursue incremental and evolutionary change
Core Practices of Kanban
Select the core practices of Kanban:
- Make processes explicit
- Limit Work in Progress (WIP)
- Use a Kanban Board to visualize
- Manage flow
API Security
Secure REST API Authentication
Select the most secure way to authenticate a REST API:
- OAuth2
Load Balancing
Load Balancer Algorithms
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
Cloud Computing Models
Typical Users for Cloud Services
Select the typical users for each cloud service model:
User Role | Cloud Service Model |
---|---|
Enterprise Software User | SaaS |
Enterprise Software Developer | PaaS |
Enterprise Software IT | IaaS |
Enterprise Software DevOps | IaaS |
Mobile Software Developer | PaaS |
Data Analytics Processing
Phases in Data Analytics Processing
Select which phase in data analytics processing you would find the following:
Activity | Phase |
---|---|
Staging Data | Load |
Data Validation | Transform |
Remove Extraneous Data | Transform |
Reference Data | Extract, Transform, and Load (ETL) |
Creating Summations | Transform |
Agile Methodologies: Feedback Loops
Matching Feedback Loops to Methodologies
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
Lean Software Development
Matching Lean Values
Match the Lean Values:
- Find the work that you’re doing that doesn’t directly help to create valuable software and remove it from the project. → Eliminate Waste
- Establish a focused and effective work environment and build a whole team of energized people. → Empower the Team
- Use feedback from your project to improve how you build software. → Amplify Learning
- 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
Database Technologies
Matching Use Cases with Database Technology
Match the Use Cases with the best option for Database Technology (options: column-oriented, map-reduce, RDBMS, document-oriented, Apache Spark, graph database, 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
Agile vs. Waterfall Principles
Matching Agile Principles to Waterfall Equivalents
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
Agile Methodologies: Extreme Programming (XP)
Matching XP Values
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
Software Design Patterns
Matching Domain Logic Patterns
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
Agile Project Roles and Practices
Matching Practices to Project Roles
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
System Scaling Patterns
Matching Scaling Patterns
Match the following Scaling Patterns (options: execution orchestrator, result cache, bulk sync parallel, load balancer, map-reduce, shared space, pipe & filter, AKF scaling):
- Use a recent local copy of data instead of data on the server: Result Cache
- Alternate forwarding requests to one of the backend workers: Load Balancer
- Chain together a series of workers using queues: Pipe & Filter
- Process a large data set distributed across many servers: MapReduce
Enterprise Protocols and Middleware
Matching Enterprise Protocols and Middleware
Match the Enterprise Protocols and Middleware:
- Enterprise Protocols: TCP, UDP, HTTP, HTTPS/TLS, REST API, Distributed Publish-Subscribe Message (XMPP, STOMP, AMQP)
- Middleware: Kafka, ActiveMQ, RabbitMQ, Jabber, Microservices
Database Scaling and Architecture
Matching Database Concepts
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. → Single Tenancy
- Store data from the different customers in the same database but with different schemas. → Multi-Tenancy (SaaS Challenge)
Networking: TCP/IP Model
Matching Responsibilities to TCP/IP Layers
Match the example responsibilities with the appropriate TCP/IP Layer:
Responsibility | 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 |
Message Queues: RabbitMQ
Matching RabbitMQ Exchange Types
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 Route Messages → Topic Exchange
- Routes Messages based on matching message headers → Headers Exchange
Enterprise Software Protocols
Matching Protocols to Components
Match the protocol used by the following enterprise software components:
Component | Protocol |
---|---|
RabbitMQ | AMQP |
ActiveMQ | STOMP |
Jabber | XMPP |
Kafka | Pub/Sub |
Microservices | REST |
Data Storage & Analytics Architectures
Matching Data Lake, Data Mart, Data Warehouse
Match the Data Lake, Data Mart, or 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
Distributed Systems: CAP Theorem
Matching CAP Scaling Properties
Match the CAP Scaling Properties:
- C: Consistent
- A: Available
- P: Partition Tolerant
Database Systems: OLTP vs. OLAP
Matching Statements with OLTP or OLAP
Match each statement with either OLTP (Online Transaction Processing) or OLAP (Online Analytical Processing):
- 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
Application & System Architecture
Examples of Application & System Architecture
Which of the following are examples of applications and system architecture?
- Single-machine web service
- 3-tier web service
- Message Bus
- Distributed systems
- N-tier architecture
Enterprise Software Focus Areas
Key Focus Areas of Enterprise Software
Which of the following would be considered a “focus” of enterprise software?
- Supporting business agility
- Supporting cost management
- Maintaining and improving existing software systems
System Scaling: AKF Scale Cube
AKF Scale Cube Dimensions
Which dimension of scaling in the AKF Scale Cube deals with sharding, replicas, and microservices?
- X-axis: Horizontal duplication (replicas)
- Y-axis: Functional decomposition (microservices)
- Z-axis: Data partitioning (sharding)
Networking Protocols: Reliability
More Reliable Protocol
Which protocol is more reliable?
- TCP over UDP
Agile Methodologies: Scrum & XP
Common Practices in Scrum and XP
Which practices do Scrum and XP have in common?
- Task Boards
- Stories (User Stories)
- Backlog (Product Backlog)
- Retrospectives
Database Concurrency Control
Locking Strategy for Transaction Throughput
Which locking strategy will yield better transaction processing throughput?
- Optimistic offline locks
Digital Transformation
Top Digital Transformation Spending Areas (Gartner 2019)
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
- Cloud Services or Solutions
Cloud Computing: Essential Characteristics
Essential Characteristics of Cloud Services
What are the essential characteristics of a cloud service?
- On-Demand/Self-Serving
- Broad Network Access
- Resource Pooling
- Rapid Elasticity
- Measured Service
Enterprise Software Challenges
Common Pain Points of Enterprise Software
What are some pain points of Enterprise Software cited in this class?
- Comes in “Big ERP suites”
- High support costs
- On-Premise Legacy systems
Load Balancing Features
Load Balancer Slow Start Feature
What is the feature in Load Balancers to prevent a new replica from being flooded with requests on startup?
- Slow Start
Agile Practices: Pair Programming
Definition of Pair Programming
What is pair programming?
- Two developers writing code together, providing constant peer review.
Data Integrity & Security
Best Method for Detecting File Changes
What is the best method for detecting if the contents of a file have changed?
- Hash Function: Hash algorithms are used to provide a digital fingerprint of a file’s contents, to ensure that the file has not been altered.
Cryptography: Public Key
Public Key Cryptography Implementation
What is the Public Key Cryptography Implementation?
- RSA
Business Concepts: The Long Tail
Understanding The Long Tail
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
Data Analytics Concepts
Identifying Patterns in Enterprise Data
The practice of looking for patterns in enterprise data is also known as:
- Data Analytics (also, analytics, marketing, analysis, optimization)
Software Architecture Styles
“Fat Client, Thin Server” Architecture
The “Fat Client, Thin Server” architecture is also known as:
- Two-Tier
Database Scaling: Master-Master
Master-Master Database Architecture
In a master-master database scaling architecture, clients can read and write on any of the nodes.
True
Database Scaling: Master-Slave
Master-Slave Database Architecture
In a master-slave database scaling architecture, clients can read and write on any of the nodes.
False
Load Balancing: UDP
UDP Load Balancer Classification
A UDP Load Balancer is also known as a:
- Layer 4 Load Balancer
Web Performance: CDN
Purpose of a Content Delivery Network (CDN)
A CDN is used to improve the performance of web traffic by caching content on edge servers closer to the client.
True
NoSQL Databases: Document Stores
Document Database Characteristics
A document database, such as MongoDB, is basically a key-value database where the values are also processed by the database engine to support optimizations (such as indexing for fast searching).
True
Software Design Patterns: MVC
Goal of Model-View-Controller (MVC)
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
Cryptography: Non-Repudiation
Mechanism for Non-Repudiation
A mechanism to prove that the sender sent this message:
- Public Key Cryptography (e.g., RSA for digital signatures)
System Performance Metrics
Performant System Characteristics
A performant system has high latency and low throughput.
False
Software Architecture: Three-Tier
Components of a Three-Tier Architecture
A three-tier architecture typically consists of:
- Presentation Tier
- Business Logic Tier
- Database Tier
Agile Practices: User Stories
User Story Format and Purpose
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.
True
NoSQL Databases: Replication & CAP
AP vs. CP Database Replication
AP Databases typically use Master-Slave Replication, whereas CP Databases use peer-to-peer.
False
Technology Adoption Life Cycle
AI and ML in Technology Adoption
AI and ML are currently in the Early Majority Technology Adoption Life Cycle.
True
Agile Metrics: Burndown Chart
What an Agile Burndown Chart Shows
An Agile Burndown Chart shows:
- Remaining work in a sprint or project
- Ideal progress
- Actual progress
- Forecasted completion
Cryptography: Asymmetric Key
Asymmetric Key Cryptography Terminology
Asymmetric Key Cryptography is also known as Public-Key Cryptography.
True
System Design: Asynchronous Workloads
Asynchronous Workload Implementation
Asynchronous Workloads are typically implemented using Queues and Background Jobs to help increase response time to clients for running compute-intensive operations.
True
Cryptography: Key Types & Capabilities
Symmetric vs. Asymmetric Key Capabilities
Both asymmetric key and symmetric key cryptography can be used for confidentiality, message integrity, and non-repudiation.
False
Technology Trends: Hype Cycle
Phases of the Hype Cycle (Gartner)
Check all the phases of the Hype Cycle tracked by Gartner (or similar technology research firms):
- Innovation Trigger
- Peak of Inflated Expectations
- Trough of Disillusionment
- Slope of Enlightenment
- Plateau of Productivity
NoSQL Databases: Replication & CAP
CP vs. AP Database Replication
CP databases typically use master-slave replication, whereas AP databases use peer-to-peer.
True
Network Security: Host Authentication
Common Host-to-Host Authentication on the Internet
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
Cryptography: Symmetric Ciphers
DES and AES Characteristics
DES and AES are Symmetric Key Cryptography Ciphers that use a 56-bit key and 64-bit blocks.
False
Agile Practices: User Stories
User Story Conditions of Satisfaction
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 “Acceptance Criteria”.
True
Version Control: Branching Strategies
Feature Branching Origin
Feature Branches are typically forked from Master.
False
Data Serialization Formats
Google Protobuf vs. XML Performance
Google Protobuf is a more performant replacement for XML.
True
Database Scaling & CAP Theorem
Horizontal Scaling and CAP Properties
For horizontal database scaling, it is possible to achieve all three CAP properties (Consistency, Availability, Partition Tolerance) simultaneously.
False
Cloud Service Models: Outsourced Components
Outsourced Components in IaaS and PaaS
For IaaS (Infrastructure as a Service), select which would be outsourced from the development team:
- Virtualization
- Servers
- Storage
- Network
For PaaS (Platform as a Service), the outsourced components include all of IaaS, plus:
- Operating System (OS)
- Middleware
- Runtime
Networking: Domain Names
Examples of Top-Level Domains
Google.com and microsoft.com are examples of top-level domains.
False
Version Control: Branching Strategies
Hotfix Branching Origin
Hotfix Branches are typically forked from the Master branch.
True
Cryptography: HMAC
HMAC Key Usage
HMAC uses a cryptographic hash function and an asymmetric key.
False
Network Performance: Latency Impact
Impact of High Network Latency on Web Pages
High network latency will result in a slower web browser response to render a web page.
True
Integration Architectures: Hubs & ESBs
Statefulness of Hubs and ESBs
HUBs are stateful architectures, while ESBs are not.
False
Scalability of Hubs vs. ESBs
HUBs can scale just as well as ESBs, but are simpler to get started for small numbers of integration points.
False
Enterprise Security: Message Integrity
Definition of Message Integrity
In Enterprise Security, Message Integrity is ensuring that no one except the intended receiver can read the message.
False
Enterprise Protocols: Request Handling
Ways Requests are Handled in Enterprise Protocols
In Enterprise Protocols, what are the different ways requests can be handled?
- Request/Response
- Publish/Subscribe
- Notification (one-to-one, event-based)
- Asynchronous Messages
Network Security: TLS & SSL
TLS as a Modern SSL Version
TLS is a modern version of SSL and allows a client to verify the identity of the server.
True
Cryptography: Symmetric Key
Symmetric Key Cryptography Principle
In Symmetric Key Cryptography, the sender of a message and the receiver use a shared key for encryption and decryption.
True
NoSQL Databases: AP & Conflicts
Write Conflicts in AP Databases During Partition
In an AP database, it is possible to have a write conflict during a partition.
True
Database Concepts: ACID vs. BASE
Understanding ACID and BASE Properties
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 (BASE stands for Basically Available, Soft State, Eventually Consistent)
Integration Architectures: Hub-and-Spoke
Canonical Format in Hub-and-Spoke Architecture
In a hub-and-spoke architecture, the data exchanged is typically in a canonical format.
True
Database Scaling: Partition Tolerance
Horizontal Scaling Without Partition Tolerance
It is possible to horizontally scale a database without support for partition tolerance.
False
NoSQL Databases: CP & Conflicts
Write Conflicts in CP Databases During Partition
In a CP database, it is possible to have a write conflict during a partition.
False
Data Processing: MapReduce
Inverted Index Example with MapReduce
In the inverted index example:
- The Map function takes a document and outputs a list of words and an identifier for the document (document ID).
- The Reduce function takes all the word and document ID pairs and outputs the word with the list of documents the word is found in.
True
Enterprise Integration Patterns
Matching Integration Styles
Match the 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
Message Queues: Kafka vs. RabbitMQ
Kafka’s Suitability for Event Streaming
Kafka is better suited for event streaming than RabbitMQ.
True
Message Queues: Kafka Scalability
Kafka’s Linear Scalability
Kafka cannot scale linearly with data size.
False
Containerization & Orchestration
Kubernetes and Docker Usage
Kubernetes and Docker are typically used together.
True
System Performance Metrics: Latency
Definition of Latency
Latency is the minimum time required to get any form of response.
True
Load Balancing: Health Checks
Load Balancer Health Check Mechanism
Load balancers use health check pings against back-end servers to determine if they are healthy and can receive requests.
True
Network Performance: Latency Impact
Impact of Low Network Latency on Web Pages
Low network latency will result in a slower web browser response to render a web page.
False
Software Architecture: Microservices vs. SOA
Granularity of Microservices vs. SOA
Microservices are more coarse-grained compared to SOA.
False
Enterprise Security: Message Integrity
Message Integrity as a Security Mechanism
Message Integrity is a security mechanism the recipient of a message can use to check if a message has been altered in transit.
True
Software Architecture: Microservices Benefits
Microservices Maintainability & Deployment
Microservices are easier to maintain, deploy, and debug compared to a large Monolithic Application.
True
Software Architecture: Microservices & APIs
Microservices for Synchronizing APIs vs. ESBs
Microservices are better suited for synchronizing APIs than a message-oriented architecture like ESBs.
True
Middleware: Common Use Cases
Typical Middleware Use Cases
- Integration
- Caching
- Single Sign-On (SSO)
Software Architecture: Microservices & Databases
Microservices and Partitioned Databases
Microservices typically result in a partitioned Database Architecture.
True
Microservices and Shared Databases
Microservices typically share the same database.
False
Enterprise Security: Non-Repudiation
Definition of Non-Repudiation
Non-repudiation is a security mechanism to prove that the receiver is supposed to receive the message.
False
Cybersecurity: OWASP Top Ten
OWASP Top Ten: Injection Attack
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
Agile Practices: Documentation
Documentation Creation During a Sprint
Only technical writers can create documentation during a Sprint.
False
Caching Technologies: Redis
Redis for Caching Queries
Redis is typically used to cache popular queries to increase response times.
True
API Management: API Gateway
API Gateway Responsibilities
Request and Response Transformations are typically the responsibility of the API Gateway.
True
System Performance Metrics: Responsiveness
Definition of Responsiveness
Responsiveness is the amount of time a system takes to process a request from a user or API call.
False
System Performance Metrics: Response Time
Definition of Response Time
Response time is the amount of time a system takes to process a request from a user or API call.
True
Agile Methodologies: Scrum Backlog
Scrum Backlog Items and Sprints
Scrum Backlog Items must fit a Sprint.
False
Database Scaling: Sharding
Purpose of Sharding
Sharding is used when it is not possible to store the data on a single server.
True
Big Data Technologies: Spark
Spark’s Improvements Over Hadoop
Spark was created to improve the processing speed of Hadoop and to also support other computational models besides batch processing.
True
Software Frameworks: Spring
Spring Framework as an IoC Container
Spring Framework is considered to be an IoC (Inversion of Control) Container that heavily uses the Dependency Injection Pattern.
True
Network Security: SSL/TLS Termination
Responsibility for SSL/TLS Termination
SSL/TLS Termination is typically the responsibility of:
- Reverse Proxy
Agile Metrics: Story Points & Velocity
Estimating Sprints with Story Points and Velocity
Teams use story points and velocity to estimate how many stories they can include in each sprint.
True
Agile Practices: Product Backlog Refinement
Activities in Product Backlog Refinement
To refine Product Backlog items, the following activities will occur implicitly or explicitly:
- Decomposition
- Design
- Analysis
Agile Methodologies: Kanban
Time Boxes in Kanban
There are no “Time Boxes” in Kanban.
True
Technology Adoption Life Cycle
Early Majority in Technology Life Cycle
The Early Majority are typically found in the growth phase of a Technology Life Cycle.
True
NoSQL Databases: Conflict Resolution
Conflict Resolution in NoSQL During Partition Recovery
To resolve a conflict in a NoSQL Database during partition recovery, select the best mechanism to use:
- Vector Clock Stamp
Load Balancing: Sticky Sessions
Sticky Session Behavior
Turning on a sticky (persistent) session for a load balancer sends all requests from a client to the same back-end server using stateful mechanisms (e.g., cookies), not inherent stateful features of HTTP itself.
False
Enterprise Integration Patterns: RPC
RPC and Loose Coupling
Using RPC is considered to be loosely coupled as an Enterprise Integration approach.
False
Project Management: Progress Tracking Charts
Typical Charts for Tracking Progress
What are the typical charts used to track progress for each of the following?
- Waterfall: Gantt Chart
- XP: Total Work Done (often tracked via burn-up charts)
- Scrum: Burndown Chart
- Kanban: Cumulative Flow Diagram
Networking: DNS Resolution
DNS Authoritative Response
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
Database Scaling: Relational Databases
Challenges in Scaling Relational Databases
Why is it hard to scale a typical relational database? (Select all that apply)
- Because RDBMS requires a fixed schema
- Because there is an upper bound to adding more memory and CPU (vertical scaling limits)
- Because it is expensive to vertically scale
- Because RDBMS doesn’t inherently support horizontal scaling easily (requires complex sharding/replication)
Agile Roles: Testing in Scrum
Who Writes Tests in a Scrum Team?
Who writes tests in a Scrum Team?
- The Development Team
DevOps: Automated Builds
Importance of Automated Builds
Why are automated builds important?
- They provide rapid assurance that defects and configuration management issues have not been introduced.
Message Queues: Protocols
XMPP and RabbitMQ Protocol Usage
XMPP is the protocol used by RabbitMQ.
False