Day 1 – C# Internals & Memory (Very High ROI)
⏰ Time Blocks
Morning (45 min)
Evening (90 min)
📌 Topics
Value vs Reference types (real behavior, not definitions)
Stack vs Heap (what actually goes where)
Garbage Collection (Gen 0/1/2, LOH)
IDisposable, using, finalizers
Struct pitfalls & immutability
🎯 Learning Objectives
Explain why GC pauses happen
Know when memory leaks occur in .NET
Justify struct vs class in interviews
🛠 Hands-On
Write code to:
o Allocate large objects → observe LOH
o Create memory leak via event subscription
o Fix leak using Dispose + weak events
Use dotMemory / PerfView (even basic usage is enough)
❓ Interview Questions
Why is struct dangerous when large?
What happens if Dispose() is not called?
Does using guarantee immediate cleanup?
Can GC collect objects with circular references?
Day 2 – [Link] Core Request Lifecycle (Must-Know)
⏰ Time Blocks
Morning (45 min)
Evening (90 min)
📌 Topics
Kestrel → Middleware → Routing → Filters → Controller
Middleware vs Filters (auth, exception, logging)
Model binding & validation pipeline
IActionResult vs concrete results
🎯 Learning Objectives
Debug any request behavior confidently
Decide where logic belongs (middleware/filter/controller)
🛠 Hands-On
Create custom:
o Exception handling middleware
o Action filter for logging request duration
Trace a request step-by-step with breakpoints
❓ Interview Questions
Middleware vs Action Filter?
Where should global exception handling live?
How does model validation work internally?
Why is middleware order critical?
Day 3 – Dependency Injection & SOLID (Interview Favorite)
⏰ Time Blocks
Morning (45 min)
Evening (90 min)
📌 Topics
DI lifetimes: Singleton, Scoped, Transient
Captive dependency problem
SOLID principles (backend-focused)
Anti-patterns: Service Locator, Fat Services
🎯 Learning Objectives
Detect bad architecture instantly
Explain why something breaks under load
🛠 Hands-On
Break an app using:
o Singleton depending on Scoped
Refactor:
o Fat service → smaller abstractions
Write unit tests proving DI correctness
❓ Interview Questions
Why DbContext must be Scoped?
When is Singleton safe?
Explain SOLID with real backend examples
What is the captive dependency issue?
Day 4 – Web API Design & REST (Senior Signal)
⏰ Time Blocks
Morning (45 min)
Evening (90 min)
📌 Topics
REST constraints (not just HTTP verbs)
Resource modeling
Idempotency
Status codes (beyond 200/500)
Versioning strategies
🎯 Learning Objectives
Design APIs that scale and evolve
Defend design decisions under questioning
🛠 Hands-On
Redesign an existing API:
o Fix routes
o Improve status codes
o Add pagination & filtering
Add proper error contracts (ProblemDetails)
❓ Interview Questions
PUT vs PATCH?
When is POST idempotent?
How do you version APIs?
Why not return exceptions directly?
Day 5 – Async/Await, Threading & Performance
⏰ Time Blocks
Morning (45 min)
Evening (90 min)
📌 Topics
async/await internals
ThreadPool vs async I/O
Deadlocks
[Link] misuse
Scalability vs performance
🎯 Learning Objectives
Explain why async improves scalability
Avoid classic async bugs in production
🛠 Hands-On
Create:
o Deadlock example
o Thread starvation scenario
Refactor sync controller → async end-to-end
❓ Interview Questions
Why async doesn’t create new threads?
When NOT to use async?
Difference between concurrency and parallelism?
Why async void is dangerous?
Day 6 – EF Core Fundamentals & Pitfalls
⏰ Time Blocks
Single Deep Session (3–4 hrs)
📌 Topics
Change tracking
AsNoTracking
N+1 problem
Lazy vs Eager vs Explicit loading
Transactions & concurrency
🎯 Learning Objectives
Prevent hidden performance disasters
Understand EF behavior under load
🛠 Hands-On
Profile queries:
o Introduce N+1 → fix it
Compare tracking vs no-tracking
Implement optimistic concurrency
❓ Interview Questions
Why EF Core is slow sometimes?
When to use raw SQL?
How does EF track changes?
How do you handle concurrency conflicts?
Day 7 – Exception Handling, Logging & Final Review
⏰ Time Blocks
Single Session (3 hrs)
📌 Topics
Global exception handling
Logging levels & correlation IDs
Structured logging
Retry & resilience basics
🎯 Learning Objectives
Build production-grade observability
Answer “how do you debug prod issues?”
🛠 Hands-On
Implement:
o Global exception middleware
o Correlation ID propagation
Add structured logs (Serilog-style)
❓ Interview Questions
What should NOT be logged?
How do you trace a request in microservices?
Difference between exception handling & error handling?