System Design
Design reliable backend systems through data, traffic, async work, and failure trade-offs.
A practical curriculum for backend developers
Seventy-seven focused lessons connect Java, API design, authentication, security, algorithms, and system design—then turn the ideas into deliberate practice.
Your learning plan
Choose a course, follow the lessons in order, and check your understanding as you go.
The knowledge atlas
Follow a full course or enter through the problem you are solving today. Shared lessons count across every relevant path.
Design reliable backend systems through data, traffic, async work, and failure trade-offs.
Choose Java collections by access pattern, correctness constraints, and performance behavior.
Build clear API contracts that remain predictable through errors, retries, and change.
Understand identity, tokens, sessions, OAuth, and browser security boundaries.
Protect APIs, credentials, sessions, integrations, and operational trust boundaries.
Build practical complexity judgment for search, arrays, heaps, and backend code reviews.
Continue exploring
Backend Jul 2, 2026 5 min read
Learn API abuse prevention for backend systems, including rate limits, authentication signals, quotas, bot patterns, logging, errors, and gateways.
Backend Jul 2, 2026 5 min read
Use this backend cookie security checklist for HttpOnly, Secure, SameSite, CSRF, session rotation, prefixes, expiration, domains, and testing.
Backend Jul 2, 2026 6 min read
Learn API authentication best practices, including tokens, API keys, OAuth, mTLS, sessions, gateways, rotation, scopes, errors, and logging.
Local-first workbench
Format, inspect, compare, and transform backend data without sending inputs to a server.
Available tool
Encode text to Base64 and decode Base64 back to readable text locally in your browser.
Open toolAvailable tool
Look up common Big-O complexities for Java collections, algorithms, and backend patterns with a fast browser-based reference table.
Open toolAvailable tool
Explain standard five-field cron expressions and preview upcoming run times locally in your browser.
Open tool