Learning Tracks
Structured Learning Paths
Go from debugging basics to senior-level performance analysis. Each track is a curated sequence of real production cases.
01
Pick a Track
Choose based on your current role and interview target. Start with Database if unsure.
02
Work Through Cases
Each track has 4-18 cases ordered by difficulty. Complete them in order.
03
Submit Hypotheses
Don't just read — write down your diagnosis before seeing the solution.
04
Review & Repeat
Compare your analysis with expert solutions. Note what you missed.
🗄️
Database Performance
From slow queries to connection pooling
📚 14 cases⏱ 6 hoursJunior → Senior
Modules
Understanding query execution plans
Index strategy for high-traffic tables
Connection pool sizing and tuning
Deadlock detection and resolution
Replication lag analysis
Caching layer design (Redis)
PostgreSQLMySQLRedisMongoDBEXPLAINHikariCP
⚙️
Application Profiling
Heap dumps, thread analysis, and GC tuning
📚 18 cases⏱ 9 hoursMiddle → Senior
Modules
JVM memory model and heap regions
Reading and interpreting heap dumps
GC log analysis (G1, ZGC, Shenandoah)
Thread pool design patterns
Async I/O and event loop blocking
CPU profiling with async-profiler
JVMJavaNode.jsPythonVisualVMasync-profiler
🏗️
Infrastructure Bottlenecks
Network, disk, and load balancer analysis
📚 9 cases⏱ 5 hoursJunior → Middle
Modules
Linux performance tools (top, iostat, netstat)
Nginx and HAProxy configuration
Kubernetes resource management
Disk I/O analysis and optimization
Network latency troubleshooting
Auto-scaling trigger analysis
LinuxNginxKubernetesAWSiostattcpdump
📊
Observability & Monitoring
Metrics, alerts, and SLO engineering
📚 6 cases⏱ 3 hoursMiddle
Modules
Prometheus metrics model and PromQL
Grafana dashboard design
Alert rule tuning and fatigue reduction
SLO/SLA definition and tracking
Error budget policy
Distributed tracing basics
PrometheusGrafanaDatadogSLOOpenTelemetry