Intro

After my burnout last year, I decided to build a more structured approach for Technical Interview Prep tip.
So I gathered my resources, collected my obligations and engagements in life, reviewed my schedule and had a chat with good old Claude.
Here’s what it came up with: Web Dashboard version by Claude

nutanix_sprint_updated.html // ghosted, didn’t even get an interview

So realistically I can only squeeze this much per week

Topic Visual Breakdown

“The biggest mental shift that helps: treat it like a compression problem, not a coverage problem. You cannot learn everything, and you’re not supposed to”

12-Week Technical Interview Prep Plan

Schedule: Sunday 2:30–4:30pm (2 hrs) · Thursday evening (1 hr) · Saturday morning (1.5 hrs)
Linked notes:
LeetCode Patterns · Data Structures and Algorithms Overview and Fundamentals · Distributed System Design Basics · System Intermediates - API Gateways, Load Balancers, Reverse Proxies · Graphs · Graph and Tree Algorithms · Binary Trees · Lessons Learned from Leetcode

Phase 1 — Foundation (Weeks 1–4)

Goal: Build the vocabulary before grinding problems. Implement from scratch, trace by hand, understand why before optimizing.

Week 1

Sunday · 2 hrs — Arrays & Linked Lists

  • Implement a dynamic array: append, insert, delete
  • Implement a singly linked list: append, insert, delete, reverse
  • 2–3 easy LeetCode problems on arrays/linked lists
  • Resources: Coding Interview University · NeetCode

Thursday · 1 hr — Binary Trees Intro

  • Read Trees > Binary Trees & Binary Trees notes
  • Draw a BST by hand, trace insert and search operations
  • No coding yet — build the mental model first
  • Resources: Your Obsidian notes

Saturday · 1.5 hrs — Bubble & Selection Sort

  • Implement bubble sort and selection sort
  • Compare time/space complexity of each
  • Watch a visual explainer, do 1 easy LeetCode sort problem
  • Resources: Visualgo.net

Week 2

Sunday · 2 hrs — Tree Traversals

  • Implement pre-order, in-order, post-order — recursive first, then iterative
  • Trace each by hand before coding, try implementing
  • 2 LeetCode tree traversal problems
  • Resources: GeeksforGeeks traversals · Binary Trees

Thursday · 1 hr — BST Operations

Saturday · 1.5 hrs — Insertion & Merge Sort

  • Implement insertion sort
  • Implement merge sort — focus on the divide-and-conquer logic, it underpins many interview problems
  • Resources: Visualgo.net

Week 3

Sunday · 2 hrs — DFS & BFSnan

  • Implement DFS and BFS on a tree, then on a graph
  • Trace both by hand on paper before coding
  • 2 easy LeetCode problems — one DFS, one BFS
  • Resources: GeeksforGeeks traversals and NeetCode

Thursday · 1 hr — Graphs: Directed & Undirected // As of 16/04/2026 I'm here

  • Review Graphs note
  • Implement an adjacency list and an adjacency matrix
  • Know when to use each, sparse graphs favour lists, dense graphs favour matrices

Saturday · 1.5 hrs — Quick Sort & Heapsort

  • Implement quicksort with Lomuto or Hoare partition
  • Heapsort concept — heaps are covered properly next week, just understand the flow today
  • Resources: Visualgo.net

Week 4

Sunday · 2 hrs — Heaps & Priority Queues

Thursday · 1 hr — Greedy Algos: Dijkstra’s

  • Trace Dijkstra’s by hand on a small weighted graph
  • Understand the priority queue’s role in it
  • Note: Prim’s and Kruskal’s are Week 5 Thursday
  • Resources: Graph and Tree Algorithms

Saturday · 1.5 hrs — Bitwise Ops, Endianness & Fibonacci

  • Misc. checklist items: AND / OR / XOR / bit shifts, endianness concept, Fibonacci (iterative then memoized)
  • Low-pressure review session — these are unlikely to be the core of an interview but good to have
  • Resources: Your Misc. notes

Phase 2 — Patterns & Practice (Weeks 5–8)

Goal: Apply the foundation to interview-style problem patterns. Learn the shape of problems, not just individual solutions.

Week 5

Sunday · 2 hrs — Sliding Window & Two Pointers

  • Read the pattern description, then solve: 1 easy + 2 medium problems
  • Use seanprashad’s site filtered by pattern
  • Resources: LeetCode Patterns · Grind 75

Thursday · 1 hr — Prim’s & Kruskal’s

  • Minimum spanning trees — trace both by hand
  • Know the difference: Kruskal’s is edge-based, Prim’s is vertex-based
  • Low-pressure review session
  • Resources: Graph and Tree Algorithms

Saturday · 1.5 hrs — System Design Intro

Week 6

Sunday · 2 hrs — Binary Search & Fast/Slow Pointers

  • Binary search on arrays and on “answer space” (search on result, not array)
  • Fast/slow pointer pattern — Floyd’s cycle detection
  • 3 problems (mix of easy and medium)
  • Resources: LeetCode Patterns · NeetCode

Thursday · 1 hr — Caching & Load Balancing

Saturday · 1.5 hrs — DB Design Tradeoffs

  • SQL vs NoSQL, normalization basics, indexing
  • Skim Alex Xu book ch. 1–2
  • Know when to reach for each type in a system design answer
  • Resources: System Design Interview (Alex Xu)

Week 7

Sunday · 2 hrs — BFS/DFS Patterns on Graphs

  • Islands problems, topological sort, cycle detection
  • 3 medium problems — these recur constantly in interviews
  • Resources: Blind 75 · NeetCode

Thursday · 1 hr — A Algorithm*

  • Understand heuristic search vs Dijkstra’s — what does the heuristic buy you?
  • Trace on a small grid
  • Less common in interviews but good for depth; check off your checklist item
  • Resources: Graph and Tree Algorithms

Saturday · 1.5 hrs — CI/CD Pipeline Basics

  • What a pipeline does, stages: build → test → deploy
  • Docker fundamentals: images, containers, why it matters for deployment
  • Watch one short YouTube explainer, take notes in Obsidian
  • Resources: YouTube “CI/CD pipeline explained” or “Docker for beginners”

Week 8

Sunday · 2 hrs — Dynamic Programming Intro

  • Your DP Misc. checklist item — tackle it properly now
  • Path: Fibonacci → coin change → climbing stairs
  • Memoization (top-down) first, then bottom-up tabulation
  • Resources: Grokking the Coding Interview · NeetCode

Thursday · 1 hr — API Gateways & Distributed Basics

  • Review Distributed System Design Basics
  • Rate limiting, consistency vs availability, CAP theorem at a conceptual level
  • Resources: Your distributed systems note

Saturday · 1.5 hrs — Review & Consolidate

  • Look at your LeetCode history — identify your 2 weakest topics from Phase 2
  • Re-do 1 problem each, timed
  • Update your Obsidian notes with what clicked this phase
  • Resources: Your notes · LeetCode Patterns

Phase 3 — Targeting & Simulation (Weeks 9–12)

Goal: Sharpen per role, simulate real interview conditions, build confidence under pressure.

Week 9

Sunday · 2 hrs — DP Continued + Trees Review

  • Longest common subsequence, 0/1 knapsack
  • 1 tree problem to keep it fresh — mix of medium problems
  • Resources: Blind 75 · Grind 75

Thursday · 1 hr — Role Mapping

  • Identify 2–3 target role types (frontend, backend, fullstack, etc.)
  • For each: primary interview language, key DS emphasis, likely system design question type
  • Log a role-targeting note in Obsidian
  • Resources: Tech Interview Handbook

**Saturday · 1.5 hrs — Mock Interview 1

  • Pick 1 unseen medium problem
  • Set a 35-minute timer, talk out loud the entire time
  • After: write down what broke down — approach, syntax, communication?
  • Resources: NeetCode

Week 10

Sunday · 2 hrs — Pattern Review: Weakest Two

  • Check your LeetCode submission history — find your 2 least-confident patterns
  • Do 2 timed problems for each
  • Resources: LeetCode Patterns

**Thursday · 1 hr — System Design Practice 1

  • Pick one classic: URL shortener or key-value store
  • Sketch the design in 20 minutes, then compare to a reference solution
  • Note the gaps — what did you miss?
  • Resources: Alex Xu book · Grokking SDI

Saturday · 1.5 hrs — Language Switching Drill

  • Take 3 problems you’ve already solved confidently
  • Re-solve in your secondary language (TypeScript, Go, Rust, etc. per target role)
  • Focus on syntax gaps, not logic — the logic is already solid
  • Resources: Your solved problems

Week 11

Sunday · 2 hrs — Blind 75 Sweep

  • Work through the Blind 75 spreadsheet
  • Skip anything already solved confidently
  • Flag anything taking >40 min for one more pass
  • Resources: Blind 75

**Thursday · 1 hr — System Design Practice 2

  • Design a rate limiter or a news feed
  • Talk through it out loud using the framework: requirements → scale → components → tradeoffs
  • Resources: Alex Xu book

**Saturday · 1.5 hrs — Mock Interview 2

  • One medium + one easy, both timed
  • Focus on communication, not just correctness — narrate your reasoning the whole way
  • Resources: NeetCode · Pramp (free peer mock interviews)

Week 12

Sunday · 2 hrs — Grind 75 Full Pass

  • Your personal config: 10 weeks / 14 hrs
  • By now patterns are familiar — focus on speed and clean code, not figuring things out from scratch
  • Resources: Grind 75

Thursday · 1 hr — Confidence Audit

  • Go through your entire Obsidian prep checklist — check off what’s solid, flag what needs one more pass
  • Update Lessons Learned from Leetcode with your current state
  • Resources: Your Obsidian vault

**Saturday · 1.5 hrs — Mock Interview 3

  • Full simulation: 1 medium coding problem (35 min) + 5-minute system design sketch
  • Treat it like the real thing
  • Resources: Pramp · interviewing.io (free anonymous mock interviews)

Checklist Tracker

Graphs & Trees

  • BST — Trees > Binary Search in a Binary Tree and Binary TreesWeek 2
  • DFS and BFS → Week 3
  • DFS and BFS by hand + implement → Week 3
  • Linked Lists → Week 1
  • Tree traversal: pre, in, post → Week 2
  • Adjacency Matrix and Lists → Week 3
  • Greedy algos: Dijkstra’s → Week 4
  • Greedy algos: Prim’s and Kruskal’s → Week 5
  • Heaps → Week 4
  • Graphs: directed and undirected → Week 3
  • A* algorithm → Week 7

Sort Algorithms

  • Bubble sort → Week 1
  • Selection sort → Week 1
  • Insertion sort → Week 2
  • Merge sort → Week 2
  • Quick sort → Week 3
  • Heapsort → Week 3–4

Misc.

  • Dynamic programming → Week 8
  • Bitwise ops → Week 4
  • Endianness → Week 4
  • Fibonacci → Week 4

Problem Patterns (Phase 2)

  • Sliding window → Week 5
  • Two pointers → Week 5
  • Fast/slow pointers → Week 6
  • Binary search → Week 6
  • BFS/DFS on graphs → Week 7
  • Dynamic programming patterns → Week 8–9

System Design

  • Scale, latency, throughput vocabulary → Week 5
  • Caching and load balancing → Week 6
  • DB tradeoffs (SQL vs NoSQL) → Week 6
  • API gateways + distributed basics → Week 8
  • System design practice: URL shortener or key-value store → Week 10
  • System design practice: rate limiter or news feed → Week 11

CI/CD & Deployment

  • Pipeline stages (build → test → deploy) → Week 7
  • Docker fundamentals → Week 7

Resources Quick Reference