BackendDrills resources
Free engineering guides: Java, APIs, security and design
15 free guides, organized from fundamentals to design and optional specializations. Each includes an original example, a practice task and primary documentation. Read without an account.
Start with fundamentals and data
Spring transactions · 6 min
Trace Spring transaction proxy boundaries, reproduce a missing rollback, and verify the fix with an integration test.
Prerequisite: Basic Spring beans and SQL transactions
Database connections · 6 min
Separate connection acquisition wait from connection hold time, inspect pool saturation, and test a bounded recovery plan.
Prerequisite: Basic HTTP requests and database connections
Java 8 features · 7 min
Reason about single-use pipelines, collector merge rules and observable behavior before reaching for parallel streams.
Prerequisite: Basic Java collections and lambdas
SQL and data integrity · 7 min
Use conflicting transactions to distinguish atomic updates, row locks and isolation guarantees.
Prerequisite: Basic SELECT, UPDATE and transaction boundaries
Specify contracts and prove them
HTTP and API contracts · 7 min
Design a retry contract that separates a lost response from a failed operation.
Prerequisite: HTTP requests and durable writes
Testing and change review · 7 min
Design database, concurrency and lost-response tests with observable acceptance criteria.
Prerequisite: The behavior or invariant you want to verify
Cybersecurity · 6 min
Build a two-user permission matrix covering direct IDs, cached responses, updates and background work.
Prerequisite: Authenticated requests and resource ownership
Understand execution and operations
Messaging and replay · 7 min
Understand the consumer failure window, design an atomic deduplication boundary, and verify safe replay of Kafka events.
Prerequisite: Transactions, operation identity and retries
Java 21 concurrency · 6 min
Use Java 21 JFR evidence to distinguish carrier pinning from downstream capacity limits, with an explicit Java 24 version boundary.
Prerequisite: Executor basics and resource budgets
Cloud and delivery · 7 min
Separate startup, liveness, readiness and graceful termination, then test in-flight work during a rollout.
Prerequisite: Service requests, background tasks and deployment replicas
Make design decisions
Software design and patterns · 6 min
Choose Strategy and Adapter boundaries from a concrete change requirement, then test ownership and semantics.
Prerequisite: Code responsibilities and unit testing
System design and architecture · 8 min
Build a reviewable architecture decision from workload assumptions, fan-out, data ownership and a recovery experiment.
Prerequisite: API, database and failure-handling fundamentals
Choose an optional specialization
AI and application security · 7 min
Treat retrieved documents as untrusted data, enforce tenant access and tool permissions in code, and test containment of RAG prompt injection.
Prerequisite: Authorization, API contracts and failure-path testing
Web and client integration · 6 min
Keep old responses from replacing current state, and distinguish aborted requests from confirmed write outcomes.
Prerequisite: HTTP and basic JavaScript promises
Data engineering · 7 min
Separate arrival order from source order, handle deletions and compare derived state with an authoritative source.
Prerequisite: Transactions and at-least-once event delivery
Practice without purchasing
All readings are free. The connection-pool, transaction-boundary and event-replay drills have complete free decisions and reviews. Other selected drills require the full edition, $28 one-time.