Skip to content

Glossary

116 terms. Each is defined twice — a plain-English version you can use in conversation, and a precise version you can rely on in an interview or a design review.

How to use this

Read the plain-English line first. If it already makes sense, move on — you do not need the formal version yet. Come back for the precise definition when you need to explain the idea to someone else, because that is when imprecision starts to cost you.

Categories: CI/CD · Concurrency · Containers · Data Structures · Functions · Infrastructure · Interview · OOP · Python Core · Reliability · System Design · Testing · Tooling · Typing · Web / API

*

*args / **kwargs

Functions

In plain English. Syntax to accept any number of positional or keyword arguments.

Precisely. *args packs extra positionals into a tuple; **kwargs packs keywords into a dict. Also used to unpack when calling.

A

ABC

OOP

In plain English. An abstract base class that defines an interface subclasses must implement.

Precisely. abc.ABC + @abstractmethod; can't be instantiated directly. Enforces a contract.

API

Web / API

In plain English. A defined way for programs to talk to each other.

Precisely. Application Programming Interface; over HTTP it's a set of endpoints with request/response contracts.

Artifact

CI/CD

In plain English. The packaged output of a build that gets deployed.

Precisely. Often a container image tagged by commit SHA; built once and promoted unchanged through environments.

async / await

Concurrency

In plain English. Keywords for writing concurrent I/O code that looks sequential.

Precisely. Coroutines scheduled by an event loop (asyncio); await yields control while waiting on I/O. Single-threaded concurrency.

B

Big-O notation

Interview

In plain English. A way to describe how an algorithm's cost grows with input size.

Precisely. Asymptotic upper bound; O(1), O(log n), O(n), O(n log n), O(n²). The shared language of efficiency in interviews.

BLUF

Interview

In plain English. "Bottom Line Up Front" — state your conclusion before the supporting detail.

Precisely. Top-down communication (pyramid principle); the most transferable consulting skill from interview to client work.

Bytecode

Python Core

In plain English. A lower-level form of your code the Python virtual machine actually executes.

Precisely. Portable instruction set produced by the compiler; inspect via the dis module. Cached in __pycache__.

C

Caching

System Design

In plain English. Storing results so repeat requests are served fast.

Precisely. Trades freshness for speed/cost; layers from in-process to Redis/CDN. Invalidation is the hard part.

CD

CI/CD

In plain English. Continuous Delivery/Deployment — getting changes to production safely and often.

Precisely. Delivery automates release readiness; Deployment pushes every passing change live automatically. Reduces batch size and risk.

CI

CI/CD

In plain English. Continuous Integration — merging and automatically testing code changes often.

Precisely. Every push triggers build + test, catching breakage early. Keeps the main branch always releasable.

Class

OOP

In plain English. A blueprint for creating objects that bundle data and behaviour.

Precisely. Defines attributes and methods; instances created by calling it. Supports inheritance and special (dunder) methods.

Closure

Functions

In plain English. A function that remembers variables from where it was defined.

Precisely. An inner function capturing names from its enclosing scope; the captured environment persists after the outer call returns.

Cloud

Infrastructure

In plain English. Computing resources rented on demand from a provider.

Precisely. AWS/GCP/Azure; elastic, pay-as-you-go infrastructure. Scales up and down without owning hardware.

Composition

OOP

In plain English. Building objects by combining other objects rather than inheriting.

Precisely. "Has-a" instead of "is-a"; often more flexible than deep inheritance. Favoured for decoupling.

Comprehension

Functions

In plain English. A compact way to build a list, dict, or set from a loop in one line.

Precisely. [f(x) for x in xs if cond]. Faster and clearer than manual append loops for simple transforms.

Comprehension vs generator

Data Structures

In plain English. List comprehension builds the whole result; a generator yields lazily.

Precisely. [...] materialises in memory; (...) creates a generator that computes on demand — choose by memory and reuse needs.

Concurrency vs parallelism

Concurrency

In plain English. Concurrency is juggling many tasks; parallelism is doing many at once.

Precisely. Concurrency = task switching (often I/O-bound); parallelism = simultaneous execution on multiple cores (CPU-bound).

Container

Containers

In plain English. A lightweight, isolated package of an app and its dependencies.

Precisely. Shares the host kernel but isolates process, filesystem, and network; far lighter than a VM. Built from an image.

Coroutine

Concurrency

In plain English. A function that can pause and resume, enabling cooperative concurrency.

Precisely. Defined with async def; driven by an event loop. Suspends at await points without blocking the thread.

Coverage

Testing

In plain English. A measure of how much of your code the tests actually exercise.

Precisely. Line/branch coverage via coverage.py; high coverage doesn't guarantee good tests but reveals untested paths.

D

Database replication

System Design

In plain English. Keeping copies of data on multiple servers.

Precisely. Primary handles writes; read replicas scale reads and add redundancy. Introduces replication lag to reason about.

Dataclass

OOP

In plain English. A decorator that auto-generates boilerplate for classes that mainly hold data.

Precisely. @dataclass writes __init__, __repr__, __eq__; supports defaults, ordering, immutability (frozen).

Decorator

Functions

In plain English. A wrapper that adds behaviour to a function without changing its code.

Precisely. Callable taking a function and returning a replacement; @deco syntax. Used for logging, caching, auth, timing.

Dictionary

Data Structures

In plain English. A collection of key→value pairs for fast lookup by key.

Precisely. Hash map; average O(1) get/set/delete. Insertion-ordered since 3.7. Keys must be hashable.

Direct Connect / interconnect

Infrastructure

In plain English. A private, dedicated network link between cloud and on-prem.

Precisely. High-throughput, low-latency private connectivity (AWS Direct Connect, Azure ExpressRoute, GCP Interconnect); the bridge in hybrid setups.

Distributed tracing

Reliability

In plain English. Following a single request as it travels across many services.

Precisely. Correlated spans with a trace ID reveal where latency and errors occur in a microservice call chain (e.g. OpenTelemetry).

Dockerfile

Containers

In plain English. A recipe describing how to build a container image.

Precisely. Ordered instructions (FROM, COPY, RUN, CMD); each creates a cached layer. Multi-stage builds keep final images small.

Duck typing

Python Core

In plain English. If it behaves like what you need, its actual type doesn't matter.

Precisely. "If it walks like a duck..." — code depends on methods/attributes (a protocol), not on inheritance or a declared type.

Dunder method

OOP

In plain English. Special methods with double underscores that hook into Python syntax.

Precisely. e.g. __init__, __len__, __eq__, __iter__. Let your objects work with built-in operations.

Dynamic typing

Python Core

In plain English. Variables aren't tied to a type; they're names bound to objects that carry the type.

Precisely. Type checks happen at runtime; names can rebind to objects of any type. Contrast static typing where variables have fixed types.

E

Encapsulation

OOP

In plain English. Keeping an object's internal details hidden behind a clean interface.

Precisely. Convention-based (_private); properties expose controlled access. Reduces coupling to internals.

Error budget

Reliability

In plain English. The amount of unreliability you're allowed before you must slow down.

Precisely. 100% minus the SLO; spending it gates risky releases vs reliability work. Balances velocity and stability.

Event loop

Concurrency

In plain English. The scheduler that runs async tasks, resuming each when its I/O is ready.

Precisely. Core of asyncio; multiplexes many coroutines on one thread by switching at await boundaries.

Eventual consistency

System Design

In plain English. Replicas converge to the same value over time, not instantly.

Precisely. Trades immediate consistency for availability and partition tolerance; acceptable when slight staleness is fine.

F

FastAPI

Web / API

In plain English. A modern Python framework for building fast, typed web APIs.

Precisely. ASGI framework using type hints for validation (Pydantic) and auto OpenAPI docs. High performance, async-first.

First-class function

Functions

In plain English. Functions are values you can pass around, return, and store.

Precisely. Can be assigned to variables, passed as arguments, returned from other functions, and stored in data structures.

Fixture

Testing

In plain English. Reusable setup (and teardown) shared across tests.

Precisely. @pytest.fixture provides resources like a temp dir or DB; injected by parameter name. Scoped per function/module/session.

Formatter

Tooling

In plain English. A tool that rewrites code into a consistent style automatically.

Precisely. e.g. ruff/black; removes style debates and diff noise by enforcing one canonical layout.

G

Garbage collection

Python Core

In plain English. Python automatically frees memory you're no longer using.

Precisely. Primary mechanism is reference counting, with a cyclic collector for reference cycles. Managed by the gc module.

Generator

Functions

In plain English. A function that produces values one at a time, on demand, instead of all at once.

Precisely. Uses yield; returns a lazy iterator that suspends and resumes state. Memory-efficient for large or infinite streams.

Generic

Typing

In plain English. A type parameterised by another type, like a list of ints.

Precisely. list[int], dict[str, float]. PEP 585 allows builtin generics; TypeVar defines your own.

GIL

Concurrency

In plain English. A lock that lets only one thread run Python bytecode at a time.

Precisely. Global Interpreter Lock; simplifies memory management but limits CPU-bound threading. 3.13 introduces an experimental free-threaded build.

GitHub Actions

CI/CD

In plain English. GitHub's built-in system for automating CI/CD with YAML workflows.

Precisely. Event-triggered jobs run on hosted or self-hosted runners; reusable actions from a marketplace. Config in .github/workflows.

GitOps

Infrastructure

In plain English. Using Git as the single source of truth for infrastructure and deployments.

Precisely. A controller (e.g. Argo CD) continuously reconciles the cluster to match the repo; every change is a reviewed commit.

Golden signals

Reliability

In plain English. The four metrics that best summarise service health.

Precisely. Latency, traffic, errors, saturation; alert on these symptoms rather than on low-level causes.

H

Hash map pattern

Interview

In plain English. Using a dictionary for O(1) lookups to avoid nested loops.

Precisely. Trades space for time; turns many O(n²) brute-force problems into O(n). The most common interview tool.

Hashable

Data Structures

In plain English. An object usable as a dict key or set member because it has a stable hash.

Precisely. Implements __hash__ and __eq__; value must not change over its lifetime. Immutables are hashable by default.

HTTP method

Web / API

In plain English. The verb describing what a request wants to do.

Precisely. GET (read), POST (create), PUT/PATCH (update), DELETE (remove); each carries semantic and idempotency expectations.

Hybrid

Infrastructure

In plain English. An architecture that spans both cloud and on-premises as one system.

Precisely. Place each workload by data gravity and constraints; bridge with a private link, unified identity, and shared observability.

I

IaC

Infrastructure

In plain English. Infrastructure as Code — defining servers and resources in version-controlled files.

Precisely. Declarative (Terraform) or imperative; reproducible, reviewable, auditable infrastructure. Eliminates manual click-ops.

Idempotency

System Design

In plain English. An operation that's safe to repeat without changing the result.

Precisely. Critical for retries and at-least-once delivery; keys dedupe repeated requests so a double-send is harmless.

Image

Containers

In plain English. A read-only template used to create containers.

Precisely. Layered filesystem built from a Dockerfile; tagged and stored in a registry. "Build once, run anywhere."

Inheritance

OOP

In plain English. A class can build on another, reusing and extending its behaviour.

Precisely. Subclass inherits attributes/methods; override to specialise. Python supports multiple inheritance with MRO.

Instance

OOP

In plain English. A concrete object made from a class.

Precisely. Has its own attribute namespace (__dict__); self refers to it inside methods.

Interpreter

Python Core

In plain English. The program that reads your Python code and runs it line by line.

Precisely. CPython compiles source to bytecode (.pyc) and executes it on a stack-based virtual machine; no separate compile step is needed.

Iterator

Functions

In plain English. An object you can step through one item at a time.

Precisely. Implements __iter__ and __next__; raises StopIteration when exhausted. The protocol behind for.

J

JSON

Web / API

In plain English. A lightweight, human-readable format for exchanging structured data.

Precisely. Key/value text format; json module parses to dicts/lists. The lingua franca of web APIs.

K

Kubernetes

Containers

In plain English. A system that runs and manages containers across many machines.

Precisely. Orchestrator handling scheduling, scaling, self-healing, and networking; declarative desired-state via manifests. Often "k8s."

L

Lambda

Functions

In plain English. A small anonymous function written inline.

Precisely. Single-expression function: lambda x: x + 1. Handy as a short callback; named def preferred for anything non-trivial.

Linter

Tooling

In plain English. A tool that flags suspicious or non-idiomatic code without running it.

Precisely. Static analysis for style, unused names, likely bugs. Enforced in CI to keep a codebase consistent.

List

Data Structures

In plain English. An ordered, changeable collection of items.

Precisely. Dynamic array; O(1) index and append (amortised), O(n) insert/delete at front. Mutable and ordered.

Load balancer

System Design

In plain English. A component that spreads incoming traffic across many servers.

Precisely. Distributes requests for throughput and availability; health-checks backends and removes unhealthy ones.

M

Message queue

System Design

In plain English. A buffer that decouples producers from consumers of work.

Precisely. e.g. Kafka, SQS, RabbitMQ; absorbs bursts, smooths load, and enables async, resilient processing.

Mock

Testing

In plain English. A stand-in object that simulates a real dependency in tests.

Precisely. unittest.mock; records calls and returns canned values. Isolates the unit under test from I/O or services.

Mutable vs immutable

Python Core

In plain English. Some objects can be changed in place (lists); others cannot (strings, tuples).

Precisely. Immutables (int, str, tuple, frozenset) are hashable and safe as dict keys; mutables (list, dict, set) are not hashable.

mypy

Typing

In plain English. A tool that reads your type hints and flags type mismatches before you run the code.

Precisely. Static type checker; catches a class of bugs at "compile" time. Configurable strictness; integrates with editors and CI.

O

Object

Python Core

In plain English. Every value in Python — a number, string, function — is an object with identity, type, and value.

Precisely. Has a unique id(), a type, and references. Everything is first-class, including classes and functions.

Observability

Reliability

In plain English. Being able to understand a system's internal state from its outputs.

Precisely. The three pillars: metrics, logs, and traces; lets you ask new questions of a live system without redeploying.

On-premises

Infrastructure

In plain English. Infrastructure you own and run in your own data center.

Precisely. Full control and data residency; fixed capacity and operational burden. Common for regulated workloads.

OpenTelemetry

Reliability

In plain English. A vendor-neutral standard for collecting metrics, logs, and traces.

Precisely. One instrumentation API/SDK that exports to any backend; avoids lock-in across observability vendors.

Optional

Typing

In plain English. A value that may be a given type or None.

Precisely. Optional[X] is X | None. Forces explicit handling of the absent case.

Orchestration

Containers

In plain English. Coordinating many containers: placement, scaling, healing, and networking.

Precisely. What Kubernetes provides; turns individual containers into a resilient, scalable system.

ORM

Web / API

In plain English. A tool that maps database rows to Python objects.

Precisely. Object-Relational Mapper (e.g. SQLAlchemy); write Python instead of raw SQL, with an escape hatch for complex queries.

P

Parametrize

Testing

In plain English. Running the same test with many input sets.

Precisely. @pytest.mark.parametrize; expands one test into many cases, reducing duplication.

PEP

Python Core

In plain English. A Python Enhancement Proposal — the design documents that shape the language.

Precisely. PEP 8 (style), PEP 484 (type hints), PEP 20 (Zen of Python). The process by which Python evolves.

pip

Tooling

In plain English. Python's standard package installer.

Precisely. Installs from PyPI into an environment; resolves dependencies. Often paired with a virtual environment.

Pipeline

CI/CD

In plain English. The automated sequence a code change flows through to reach production.

Precisely. Stages like build → test → scan → deploy; defined as code. The backbone of modern delivery.

Pod

Containers

In plain English. The smallest deployable unit in Kubernetes — one or more containers together.

Precisely. Shares network and storage; usually one main container. Managed by higher-level controllers (Deployments).

Polymorphism

OOP

In plain English. Different objects responding to the same call in their own way.

Precisely. Same interface, many implementations; enabled by duck typing or shared base classes/protocols.

Pre-commit

Tooling

In plain English. Automated checks that run on your code before each commit.

Precisely. A framework wiring linters/formatters/type-checks into git hooks, catching issues before they reach CI.

Process

Concurrency

In plain English. An independent program with its own memory, used for true parallelism.

Precisely. multiprocessing sidesteps the GIL by running separate interpreters; communication via pipes/queues incurs serialisation cost.

Protocol

Typing

In plain English. Defines a set of methods a type must have, without requiring inheritance.

Precisely. PEP 544 structural typing; a class satisfies a Protocol just by having the right methods — static duck typing.

Pydantic

Web / API

In plain English. A library that validates and parses data using Python type hints.

Precisely. Defines models whose fields are validated at runtime; powers FastAPI request/response handling and settings.

PyPI

Tooling

In plain English. The public repository where Python packages are published.

Precisely. Python Package Index; pip install pulls from it. Verify package provenance to avoid supply-chain risks.

pyproject.toml

Tooling

In plain English. The single config file describing a modern Python project.

Precisely. PEP 518/621 standard; declares build system, metadata, dependencies, and tool settings. Replaces setup.py for most needs.

pytest

Testing

In plain English. The popular framework for writing and running Python tests.

Precisely. Plain assert-based tests, powerful fixtures, parametrisation, and a rich plugin ecosystem.

Q

Quality gate

CI/CD

In plain English. An automated check that must pass before code can proceed.

Precisely. Tests, linting, type checks, security scans, coverage thresholds; blocks bad changes from advancing.

R

Race condition

Concurrency

In plain English. A bug where the outcome depends on unpredictable timing between tasks.

Precisely. Occurs when concurrent code reads/writes shared state without synchronisation; fixed with locks, queues, or immutability.

Reference semantics

Python Core

In plain English. Assignment copies a reference to an object, not the object itself.

Precisely. b = a makes both names point to one object; mutating through one is visible through the other. Use copy/deepcopy to duplicate.

Registry

Containers

In plain English. A store where container images are pushed and pulled.

Precisely. e.g. Docker Hub, GHCR, ECR; the distribution point in a pipeline. Scan images here for vulnerabilities.

REPL

Python Core

In plain English. An interactive prompt where you type code and see results immediately.

Precisely. Read-Eval-Print Loop; python or enhanced shells like IPython. Ideal for exploration and debugging.

REST

Web / API

In plain English. A common style for web APIs built around resources and HTTP verbs.

Precisely. Representational State Transfer; uses GET/POST/PUT/DELETE on URLs, is stateless, and returns JSON. Conventional, not a strict standard.

Rollback

CI/CD

In plain English. Reverting to a previous known-good version when a deploy goes wrong.

Precisely. Re-deploy the prior image/release; fast rollback is why immutable, versioned artifacts matter.

ruff

Tooling

In plain English. A very fast linter and formatter that catches style and bug issues.

Precisely. Rust-based; consolidates flake8, isort, black, and many plugins. Runs in milliseconds, ideal for pre-commit and CI.

Runner

CI/CD

In plain English. The machine that executes your pipeline jobs.

Precisely. Hosted (provider-managed) or self-hosted (your own hardware, e.g. on-prem). Self-hosted runners enable hybrid reach.

S

Scalability

System Design

In plain English. A system's ability to handle growing load gracefully.

Precisely. Vertical (bigger machine) vs horizontal (more machines); horizontal scaling underpins most large systems.

Secret management

Infrastructure

In plain English. Safely storing and injecting passwords, keys, and tokens.

Precisely. Vaults (HashiCorp Vault, cloud secret managers) keep secrets out of code; injected at runtime with rotation and audit.

Set

Data Structures

In plain English. An unordered collection of unique items.

Precisely. Hash-based; O(1) membership tests and fast union/intersection/difference. Elements must be hashable.

Sharding

System Design

In plain English. Splitting one large dataset across multiple databases.

Precisely. Partition by a key so each shard holds a slice; scales writes/storage beyond one machine at the cost of complexity.

SLI / SLO / SLA

Reliability

In plain English. Indicator (measured), Objective (target), Agreement (contract) for reliability.

Precisely. SLI = a measured signal (e.g. error rate); SLO = the internal target; SLA = the external promise with consequences.

Slice

Data Structures

In plain English. A way to grab a sub-section of a sequence.

Precisely. seq[start:stop:step]; produces a new sequence. Negative indices count from the end.

Sliding window

Interview

In plain English. Maintaining a moving range over a sequence to track a running property.

Precisely. O(n) for substrings/subarrays with a constraint; expand and shrink the window instead of re-scanning.

SOLID

OOP

In plain English. Five design principles for maintainable object-oriented code.

Precisely. Single-responsibility, Open-closed, Liskov substitution, Interface-segregation, Dependency-inversion.

SQL

Web / API

In plain English. The language for querying and updating relational databases.

Precisely. Structured Query Language; SELECT/INSERT/UPDATE/DELETE over tables. Parameterise queries to prevent injection.

STAR method

Interview

In plain English. A structure for answering behavioural interview questions.

Precisely. Situation, Task, Action, Result; keeps stories concise and focused on your individual contribution and outcome.

Status code

Web / API

In plain English. A number summarising how an HTTP request went.

Precisely. 2xx success, 3xx redirect, 4xx client error, 5xx server error. e.g. 200 OK, 404 Not Found, 500 Server Error.

System design interview

Interview

In plain English. An open-ended round where you architect a system and defend trade-offs.

Precisely. Framework: requirements → estimate → high-level → deep-dive → scale → wrap-up. Communication weighs as much as the diagram.

T

Terraform

Infrastructure

In plain English. A popular tool for declaring cloud and on-prem infrastructure as code.

Precisely. Provider-agnostic; you declare desired state and it computes a plan to reach it. State file tracks reality.

Thread

Concurrency

In plain English. A lightweight unit of execution sharing memory with others in a process.

Precisely. Good for I/O-bound work; the GIL serialises CPU-bound Python. Shared state needs locks to avoid races.

Tuple

Data Structures

In plain English. An ordered collection that can't be changed after creation.

Precisely. Immutable sequence; hashable if its elements are. Used for fixed records and as dict keys.

Two pointers

Interview

In plain English. Walking a sequence with two indices to solve it in one pass.

Precisely. O(n) technique for sorted arrays, pair-finding, and in-place partitioning; avoids extra passes.

Type hint

Typing

In plain English. Optional annotations that say what type a variable or function expects.

Precisely. PEP 484 syntax (x: int, -> str); ignored at runtime but checked by tools like mypy. Improves tooling and readability.

U

Unit test

Testing

In plain English. A test of one small piece of code in isolation.

Precisely. Fast, deterministic, dependency-free; the base of the test pyramid. Mocks replace external systems.

uv

Tooling

In plain English. A fast, all-in-one tool for managing Python versions, environments, and packages.

Precisely. Rust-based (Astral); replaces pip/venv/pip-tools/pyenv workflows with one fast resolver and installer. Lockfile-driven.

V

Virtual environment

Tooling

In plain English. An isolated Python with its own packages, separate from the system.

Precisely. Created via venv or uv; prevents dependency conflicts between projects. Activated per shell.