Engineering Knowledge Base
A practical, continuously growing knowledge base for software engineers β built for faster learning, better technical decisions, and focused interview preparation.
How to use this site: Pick a learning path below, follow the sections in order, and connect each concept to a real implementation or design scenario. Use the sidebar to navigate between topics.
πΊοΈ Learning Paths Overviewβ
| Path | What It Covers | Best For |
|---|---|---|
| πΌ Interview Preparation | System design, Java, behavioral, patterns | Upcoming interviews |
| π DSA Coding Training | 20-week structured algorithm training | LeetCode & coding rounds |
| π Engineering Books | Key takeaways from essential books | Deep, long-term growth |
| βοΈ Cloud Certifications | AWS DVA-C02 exam prep | Cloud developer cert |
πΌ Interview Preparation Roadmapβ
A structured path for engineers targeting backend, system design, and Java/Spring interviews.
Phase 1 β Foundationsβ
| # | Topic | Key Concepts | Link |
|---|---|---|---|
| 1 | Java Fundamentals | Types, OOP, generics, exceptions, memory model | β Java Overview |
| 2 | OOP Principles | Encapsulation, inheritance, polymorphism, interfaces | β Java OOP |
| 3 | Java Collections | List, Map, Set, Queue, complexity trade-offs | β Collections |
| 4 | Concurrency | Threads, locks, executors, CompletableFuture | β Concurrency |
| 5 | JVM Internals | Memory areas, GC, class loading, JIT | β JVM |
| 6 | SOLID Principles | Single responsibility through dependency inversion | β SOLID |
| 7 | Design Patterns | Creational, structural, behavioral patterns | β Design Patterns |
Phase 2 β System Designβ
| # | Topic | Key Concepts | Link |
|---|---|---|---|
| 1 | Interview Framework | How to approach a system design question | β Framework |
| 2 | Architecture Fundamentals | Monolith vs microservices, trade-off model | β Architecture |
| 3 | Distributed Systems | CAP theorem, consistency, partitioning | β Distributed Systems |
| 4 | Consistent Hashing | Rings, virtual nodes, replication | β Consistent Hashing |
| 5 | Caching Strategies | Cache-aside, write-through, eviction policies | β Caching |
| 6 | Message Queues | Kafka, SQS, async patterns, ordering guarantees | β Message Queues |
| 7 | API Design | REST, versioning, rate limiting, idempotency | β API Design |
| 8 | Load Balancing | Strategies, health checks, failover | β Load Balancing |
| 9 | Scaling Reads | Read replicas, CDN, sharding patterns | β Scaling Reads |
| 10 | Scaling Writes | CQRS, event sourcing, write-behind | β Scaling Writes |
| 11 | Observability | Metrics, tracing, logging, alerting | β Observability |
| 12 | Security Patterns | Auth, zero trust, secrets management | β Security Patterns |
| 13 | Microservices Patterns | Saga, circuit breaker, service mesh | β Microservices |
| 14 | Common Interview Questions | URL shortener, Twitter, payment system | β Interview Questions |
Phase 3 β Domain Depthβ
| Domain | Key Topics | Link |
|---|---|---|
| Database | ACID, indexes, transactions, replication, NoSQL vs SQL | β Database |
| Kafka | Topics, partitions, consumer groups, Kafka Streams | β Kafka |
| Redis | Data structures, pub/sub, caching, Lua scripting | β Redis |
| Networking | TCP/IP, DNS, TLS, HTTP/2, gRPC | β Networking |
| Security | Auth flows, JWT, OAuth2, encryption, OWASP | β Security |
| DevOps | Docker, Kubernetes, CI/CD pipelines | β DevOps |
| Git | Branching, rebase, cherry-pick, worktrees | β Git |
Interview Self-Checkβ
Before your interview, confirm you can answer:
- Explain your design with at least one alternative considered
- What breaks first at 10Γ traffic?
- How do you detect and recover from failures?
- How does your solution behave under partial failure or network partition?
Good answers connect three layers: Concept (what it is) β Design choice (when to use it, trade-offs) β Operations (how it behaves at scale or under failure).
- Definition-only answers without trade-off reasoning
- Ignoring scale assumptions (QPS, payload size, latency targets)
- Treating consistency, reliability, and cost as independent concerns
- Forgetting operational details: monitoring, alerting, rollback strategy
π DSA Coding Training 20-Week Roadmapβ
A structured 20-week curriculum for mastering coding interview patterns. Each week focuses on one core pattern with progressive difficulty.
| Week | Pattern | Key Topics | Weekly Guide |
|---|---|---|---|
| 1 | Arrays & Prefix Sums | Two-sum, subarray sums, running totals | β Week 1 |
| 2 | Two Pointers & Sliding Window | Container with most water, substring problems | β Week 2 |
| 3 | Linked Lists & Pointers | Reversal, cycle detection, merge | β Week 3 |
| 4 | Hash Tables & Sets | Frequency counting, anagrams, grouping | β Week 4 |
| 5 | Stacks, Queues & Monotonic | Valid parentheses, next greater element | β Week 5 |
| 6 | Binary Trees & BST | DFS/BFS traversal, LCA, BST operations | β Week 6 |
| 7 | Graph Foundations | BFS, DFS, adjacency list, connected components | β Week 7 |
| 8 | Advanced Graphs | Topological sort, cycle detection, Dijkstra | β Week 8 |
| 9 | Binary Search | Search space reduction, rotated arrays | β Week 9 |
| 10 | Recursion & Backtracking | Permutations, combinations, N-Queens | β Week 10 |
| 11 | Intervals & Sweep Line | Merge intervals, meeting rooms | β Week 11 |
| 12 | Heaps & Greedy | K-largest elements, task scheduling | β Week 12 |
| 13 | Dynamic Programming 1D | Fibonacci variants, house robber, DP on strings | β Week 13 |
| 14 | Dynamic Programming 2D | Grid DP, edit distance, LCS | β Week 14 |
| 15 | Advanced Sliding Window | Variable-size windows, multi-condition problems | β Week 15 |
| 16 | Tries & Prefix Trees | Word search, autocomplete, prefix matching | β Week 16 |
| 17 | Shortest Paths & MST | Dijkstra, Bellman-Ford, Prim, Kruskal | β Week 17 |
| 18 | Disjoint Set Union | Union-find, Kruskal, dynamic connectivity | β Week 18 |
| 19 | Bit Manipulation & Math | XOR tricks, power of two, prime sieve | β Week 19 |
| 20 | Comprehensive Review | Mock interviews, system + coding integration | β Week 20 |
New to DSA training? Read the 20-Week Roadmap Introduction for the full curriculum structure, weekly study plan, and tips for maximizing retention.
DSA Pattern Quick Referenceβ
| Pattern | Use When | Typical Complexity |
|---|---|---|
| Sliding Window | Fixed/variable window over array/string | O(n) |
| Two Pointers | Sorted array, in-place manipulation | O(n) |
| Binary Search | Sorted/monotonic search space | O(log n) |
| BFS | Shortest path in unweighted graph, level traversal | O(V+E) |
| DFS + Backtrack | Permutations, combinations, constraint satisfaction | O(n!) |
| DP 1D | Overlapping subproblems, 1D state | O(n) |
| DP 2D | Grid problems, string comparison | O(mΓn) |
| Heap | K-th element, streaming median | O(n log k) |
| Union-Find | Dynamic connectivity, cycle detection in graphs | O(Ξ±(n)) β O(1) |
| Trie | Prefix matching, word search | O(L) per operation |
π Engineering Booksβ
Distilled notes and key takeaways from essential software engineering books.
Interview Preparation Trackβ
| Book | Author | Focus | Notes |
|---|---|---|---|
| Cracking the Coding Interview | Gayle McDowell | Data structures, algorithms, system design, OOP, concurrency | β Notes |
| System Design Interview Vol.1 | Alex Xu | 4-step framework + 10 real system designs (URL shortener, Twitter, etc.) | β Notes |
| System Design Interview Vol.2 | Alex Xu & Sahn Lam | Advanced designs: payments, maps, stock exchange | β Notes |
Software Craft Trackβ
| Book | Author | Focus | Notes |
|---|---|---|---|
| Effective Java | Joshua Bloch | 90 best practices: generics, lambdas, APIs, concurrency, serialization | β Notes |
| Clean Code | Robert C. Martin | Naming, functions, comments, formatting, error handling | β Notes |
| Building Microservices | Sam Newman | Service decomposition, resilience, integration, deployment | Coming soon |
Deep Foundations Trackβ
| Book | Author | Focus | Notes |
|---|---|---|---|
| Designing Data-Intensive Applications (DDIA) | Martin Kleppmann | Storage, replication, partitioning, transactions, distributed systems | β Notes |
| Clean Architecture | Robert C. Martin | Architecture principles, dependency rules, component isolation | β Notes |
For interviews: Cracking the Coding Interview β System Design Interview Vol.1 β Vol.2
For engineering depth: Effective Java β Clean Code β Building Microservices β DDIA
βοΈ Cloud Certifications AWS DVA-C02β
Targeted preparation for the AWS Certified Developer β Associate (DVA-C02) exam.
Exam Overviewβ
| Domain | Weight | Key Services |
|---|---|---|
| Domain 1: Development with AWS Services | 32% | Lambda, DynamoDB, S3, API Gateway, SQS/SNS |
| Domain 2: Security | 26% | IAM, Cognito, Secrets Manager, KMS, STS |
| Domain 3: Deployment | 24% | CodePipeline, CodeDeploy, Elastic Beanstalk, CloudFormation |
| Domain 4: Troubleshooting & Optimization | 18% | CloudWatch, X-Ray, performance tuning |
Study Pathβ
| # | Topic | Key Concepts | Link |
|---|---|---|---|
| 1 | DVA-C02 Roadmap | Full exam roadmap and study strategy | β Roadmap |
| 2 | AWS Overview | Core services, regions, shared responsibility | β Overview |
| 3 | Lambda | Invocation models, cold start, layers, destinations, DLQ | β Lambda |
| 4 | DynamoDB | Keys, GSI/LSI, streams, DAX, single-table design | β DynamoDB |
| 5 | API Gateway | REST vs HTTP API, authorizers, throttling, caching | β API Gateway |
| 6 | S3 | Storage classes, lifecycle, encryption, presigned URLs | β S3 |
| 7 | IAM | Roles, policies, STS, least privilege patterns | β IAM |
| 8 | Messaging | SQS, SNS, EventBridge, Kinesis β choosing the right service | β Messaging |
| 9 | CloudFormation & SAM | IaC, stack management, SAM for serverless | β CloudFormation |
| 10 | Containers | ECS, ECR, Fargate, App Runner | β Containers |
| 11 | RDS & Aurora | Multi-AZ, read replicas, Aurora Serverless | β RDS & Aurora |
| 12 | ElastiCache | Redis vs Memcached, cache strategies | β ElastiCache |
| 13 | Monitoring | CloudWatch, CloudTrail, X-Ray, Logs Insights | β Monitoring |
| 14 | Security | KMS, Secrets Manager, WAF, Shield | β Security |
| 15 | Serverless Patterns | Event-driven, fan-out, saga patterns | β Patterns |
| 16 | Exam Tips & Traps | Last-minute key facts and common traps | β Exam Tips |
| 17 | Mock Exam | Full practice exam with explanations | β Mock Exam |
- Lambda β invocation types, cold start optimization, reserved concurrency
- DynamoDB β single-table design, GSI/LSI trade-offs, strongly vs eventually consistent reads
- SQS β visibility timeout, DLQ, long polling, FIFO vs Standard
- IAM β policy evaluation order, role assumption, resource-based vs identity-based policies
- CloudFormation β rollback triggers, change sets, stack drift, cross-stack references
Who This Is Forβ
- Backend engineers preparing for system design and coding interviews
- Developers studying for the AWS DVA-C02 certification
- Engineers onboarding to new backend or distributed systems domains
- Anyone building a structured, long-term engineering knowledge base