5 exercises — go beyond just knowing an acronym. For each one: (1) identify the full phrase, (2) explain what it means, (3) place it in professional context.
0 / 5 completed
Why three steps matter
Step 1 — Decode:"API" → "Application Programming Interface" — most engineers can do this
Step 2 — Explain:"A contract that allows two software components to communicate" — this is what interviews test
Step 3 — Context:"We use a REST API to expose our user service to the mobile app" — this shows real understanding
These exercises combine Steps 1 and 2. The explanations in the feedback will give you Step 3 examples.
1 / 5
SOLID
Which option correctly completes all three steps for the acronym SOLID? Step 1: full phrase → Step 2: what it means
SOLID stands for five object-oriented design principles, each named by its initial letter: S — Single Responsibility Principle (a class should have one reason to change); O — Open/Closed Principle (open for extension, closed for modification); L — Liskov Substitution Principle (subtypes must be substitutable for their base types); I — Interface Segregation Principle (no client should depend on interfaces it doesn't use); D — Dependency Inversion Principle (depend on abstractions, not concretions). Introduced by Robert C. Martin ("Uncle Bob") in the early 2000s. SOLID principles are language-agnostic but most commonly discussed in the context of Java, C#, Python, and TypeScript. An interviewer might ask: "Can you describe the SOLID principles?" — you need to be able to say all five.
2 / 5
ACID
Which option correctly completes all three steps for the acronym ACID? Step 1: full phrase → Step 2: what it means
ACID describes four properties that guarantee database transaction reliability: A — Atomicity (a transaction is all-or-nothing: either all operations succeed or none are committed); C — Consistency (a transaction brings the database from one valid state to another, never leaving it in a corrupt state); I — Isolation (concurrent transactions execute as if they were sequential — one transaction cannot see another's uncommitted changes); D — Durability (once committed, a transaction persists even if the system crashes). ACID is primarily associated with relational databases (PostgreSQL, MySQL, Oracle, SQL Server). NoSQL databases often sacrifice some ACID properties for performance — this trade-off is described by the CAP (Consistency, Availability, Partition-tolerance) theorem. Common interview phrase: "PostgreSQL provides full ACID compliance, which is why we chose it for the financial transaction service."
3 / 5
DRY
Which option correctly completes all three steps for the acronym DRY? Step 1: full phrase → Step 2: what it means
DRY — "Don't Repeat Yourself" — is one of the most fundamental software engineering principles, coined by Andy Hunt and Dave Thomas in The Pragmatic Programmer (1999). The full principle: "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system." In practice, this means: extract repeated logic into functions/methods, use constants instead of magic numbers, prefer single sources of truth. The violation is called WET — humorously "Write Everything Twice" or "We Enjoy Typing". Important nuance: DRY is about knowledge duplication, not just code duplication — it is sometimes misapplied to create premature abstractions. The complementary principle YAGNI ("You Ain't Gonna Need It") guards against over-abstraction. In a code review: "This logic is duplicated in three places — let's DRY this up and extract a shared helper."
4 / 5
MTTR
Which option correctly completes all three steps for the acronym MTTR? Step 1: full phrase → Step 2: what it means in an SRE/DevOps context
MTTR — Mean Time to Recovery (also called Mean Time to Restore or Mean Time to Repair) — is one of the four key DORA (DevOps Research and Assessment) metrics, alongside Deployment Frequency, Lead Time for Changes, and Change Failure Rate. It measures the average time between a failure occurring in production and the service being fully restored. Formula: MTTR = total downtime / number of incidents. A world-class MTTR is under 1 hour; elite teams achieve MTTR under 15 minutes through automated alerting, runbooks, and one-click rollbacks. Do not confuse MTTR with MTTF (Mean Time to Failure — how long a system runs before failing) or MTTD (Mean Time to Detect — how long before the team notices the failure). Combined: Incident → [MTTD] → Detected → [MTTR] → Resolved. In a post-mortem: "Our MTTR on this incident was 47 minutes — we should add a smoke test to cut detection time."
5 / 5
RBAC
Which option correctly completes all three steps for the acronym RBAC? Step 1: full phrase → Step 2: what it means in a security context
RBAC — Role-Based Access Control — is the standard access control model in most enterprise systems, cloud platforms, and APIs. Instead of granting permissions directly to each user (which becomes unmanageable at scale), you: (1) define roles (e.g., admin, editor, viewer), (2) assign permissions to roles, and (3) assign users to roles. When a user has multiple roles (e.g., both "editor" and "billing-admin"), they inherit the union of both roles' permissions. RBAC is the default model in Kubernetes (kubernetes RBAC — Role, ClusterRole, RoleBinding, ClusterRoleBinding), AWS IAM (policies attached to IAM roles), and most databases. It contrasts with ABAC (Attribute-Based Access Control — more fine-grained, considering contextual attributes like time of day or resource sensitivity) and DAC (Discretionary Access Control — resource owners control permissions). In a security review: "We should implement RBAC — right now every team member has full admin access, which violates the principle of least privilege."