CWIIP study materials
CWIIP study resources

CWIIP flashcards

CWIIP · Build recall with a focused review session.

34 cards. Read the term and the definition here. The deck at the top of this page is optional.

MQTT QoS levels
QoS 0 delivers at most once (fire and forget), QoS 1 at least once (possible duplicates), QoS 2 exactly once via a four-step handshake. Higher QoS increases overhead and latency.
MQTT Last Will and Testament
A message the broker publishes on a topic when a client disconnects unexpectedly without a clean disconnect. Used to signal device offline status to subscribers.
CoAP message types
Confirmable (CON) requires an ACK, Non-confirmable (NON) does not, ACK acknowledges a CON, and RST indicates a message was received but cannot be processed.
CoAP Observe option
Defined in RFC 7641, it lets a client register interest in a resource so the server pushes notifications when the resource state changes, reducing polling overhead.
DDS QoS policies
Per-topic contracts controlling behavior, including Reliability (best-effort or reliable), Durability, Deadline, History, and Ownership. They determine matching between publishers and subscribers.
AMQP exchange types
In AMQP 0-9-1, exchanges route messages to queues: direct matches a routing key exactly, fanout broadcasts to all bound queues, topic matches patterns, headers matches message headers.
Mutual TLS authentication
Both client and server present X.509 certificates during the TLS handshake. The server verifies the device certificate, preventing unauthorized devices from connecting to the broker.
DTLS for CoAP
Datagram TLS provides TLS-equivalent confidentiality and integrity over UDP for CoAP. It supports pre-shared keys and certificates and tolerates packet loss.
Certificate revocation
Invalidates a certificate before expiry. Certificate Revocation Lists (CRL) publish revoked serial numbers; OCSP queries the status of a single certificate in real time.
Secure boot
A boot process that verifies the cryptographic signature of firmware at each stage before execution, blocking unauthorized or tampered code from running on the device.
Least privilege for devices
Each device receives only the broker topic permissions and API scopes it needs. Limits blast radius if credentials are compromised.
ACID properties
Atomicity, Consistency, Isolation, Durability. These guarantees make relational transactions safe under concurrent access and failures, central to transactional integration workloads.
CAP theorem
A distributed data store can guarantee at most two of Consistency, Availability, and Partition tolerance. Since partitions are unavoidable, systems choose CP or AP behavior.
Time-series database
A store optimized for timestamped measurements, using time-based indexes, compression, retention policies, and downsampling. Examples include InfluxDB and TimescaleDB for IoT telemetry.
Change data capture
A pattern that reads a database's transaction log and streams row-level changes to downstream systems, keeping integration consumers synchronized without polling.
Idempotent HTTP methods
GET, PUT, and DELETE produce the same result when repeated, so retries are safe. POST is not idempotent unless the API accepts an idempotency key.
OAuth 2.0 bearer token
An access token presented in the Authorization header that grants scoped access to an API. It has an expiry and is obtained from an authorization server.
Exponential backoff with jitter
A retry strategy that increases wait time between attempts exponentially and adds randomness, preventing thundering-herd retries against a struggling service.
API versioning
A scheme for evolving an API without breaking consumers, typically by embedding a version in the URI path, query string, header, or media type.
Python mutable default argument
A default value like a list is created once at function definition and shared across calls, causing unexpected state. Use None and create the object inside the function.
Python list comprehension
A concise expression that builds a list from an iterable, optionally filtering: [x*2 for x in items if x>0]. Dict and set comprehensions follow similar syntax.
Python context manager
An object used with the with statement that guarantees setup and cleanup via __enter__ and __exit__. Commonly used for files, locks, and database connections.
Python GIL
The Global Interpreter Lock in CPython allows only one thread to execute bytecode at a time. CPU-bound work needs multiprocessing; I/O-bound work benefits from asyncio or threads.
Python virtual environment
An isolated directory containing its own interpreter and installed packages, created with python -m venv. It prevents dependency conflicts between projects.
paho-mqtt library
A Python MQTT client library. Create a Client, call connect and loop_start, then publish or subscribe with callbacks like on_message and on_connect.
gpiozero library
A Python library for Raspberry Pi GPIO with high-level device classes such as LED, Button, and sensors. It simplifies pin configuration and event handling.
aiocoap library
An asyncio-based Python CoAP client and server library supporting GET, POST, PUT, DELETE, Observe, and DTLS. Requests are built as Message objects.
pyserial library
A Python library for serial (UART) communication. Serial(port, baudrate) opens a connection; read and write methods exchange bytes with attached devices.
MoSCoW prioritization
A requirements prioritization scheme: Must have, Should have, Could have, Won't have. It defines release scope and helps negotiate trade-offs with stakeholders.
User story acceptance criteria
Testable conditions that a user story must satisfy to be accepted, often written in Given/When/Then form. They define done and drive automated tests.
Requirements traceability matrix
A table linking each requirement to its design elements, code, and test cases. It demonstrates coverage and supports impact analysis when requirements change.
Observability three pillars
Logs record discrete events, metrics are numeric time series, and traces follow a request across services. Together they enable diagnosis of distributed system failures.
Canary deployment
A release strategy that routes a small percentage of traffic to the new version, monitors error rates and latency, then gradually increases traffic or rolls back.
RPO and RTO
Recovery Point Objective is the maximum acceptable data loss measured in time; Recovery Time Objective is the maximum acceptable downtime. Both drive backup and recovery design.