Preparing for Google STEP: My Practice Plan
I’m building a no-paywall, low-stress path into software by targeting the Google STEP Internship (and keeping apprenticeships open as a parallel track). This plan trades endless “grind” for systems I can repeat on busy gym days, with exact videos, links, and habits that actually stick.
My rule of thumb: Try → Hint → (short) video → close the video and re-implement from memory. Cap new problems at 25 minutes, and redo anything I needed help on at 48 hours and again at 7 days. I also practice in a doc/notes editor 1×/week (no running code) to simulate interview environments and force clear dry-runs.
My STEP Prep Roadmap
Instead of grinding forever, I’m following a 2-day kickstart and a lightweight weekly loop that strengthens resume, GitHub, and interview stories at the same time.
✅ Foundations
- Method (5–10 min skim): How to Use NeetCode Effectively — the exact learning loop I’m using.
- Problem spine: NeetCode 150 list (or Grind75/Sean Prashad; links below). I’ll pick 2 new + 1 redo per day.
- Templates I must be able to type from memory: Sliding Window, Binary Search (incl. on-answer), Monotonic Stack (next greater), BFS/DFS, and a small Memoized DP function.
🎬 Exact 2-Day Kickstart (videos + reps)
Press play, then do 1–2 reps immediately after each anchor.
Day 1 (≈3–4h)
- Method anchor (20m): How I would learn LeetCode if I could start over (NeetCode) — locks in the try→hint→video→re-implement loop.
- Binary Search (45–60m):
Binary Search — LeetCode 704 (NeetCode)
. Reps: LC 704 (classic) + a “BS on answer” problem (e.g., Koko 875).
Hints: maintainanswer ∈ [lo, hi]
, write a monotoniccheck(mid)
, avoid infinite loops. - Sliding Window (60–70m):
Watch the first 2 videos in the
Sliding Window playlist (NeetCode)
. Reps: LC 3 “no-repeat substring” + LC 904 (or LC 209).
Hints: expand while valid;while invalid: shrink
; track counts; beware off-by-one onleft
.
Day 2 (≈3–4h)
- Monotonic Stack (40–50m): Learn “next greater” using indices via
NeetCode solutions playlist
(see “Daily Temperatures”). Reps: LC 739 + a variant (e.g., Next Greater Element).
Hint: you write results when you pop, not when you push. - Graphs — BFS (60–75m):
William Fiset — BFS Shortest Path
. Reps: LC 200 (islands, BFS or DFS) + LC 994 (multi-source BFS).
Hint: mark visited on push; think in layers. - DP intuition (45–60m):
Top 5 DP Patterns (NeetCode)
. Reps: LC 70 (memo + tab) + LC 198 (or LC 322 for a stretch).
Hint: always write: State → Transition → Base → Memo/Tab order. - Mock block (35–45m): Solve one medium (e.g., LC 207 or LC 424) in a notes doc: 5m restate/examples → 20–25m code (talk) → 10m dry-run → 5m Big-O/alternatives.
🔄 Weekly Loop (6 weeks, 5 days/week)
- Mon–Fri (90–120m): 2 new problems (25m cap each) + 1 redo (15–20m) + a 5m post-mortem note.
- One mock (45m): every week in a doc (no running code), to train narration and dry-runs.
- One template run: re-type a window/BS/BFS/stack/DP skeleton from memory.
🧠 Patterns To Own (STEP-level)
- Arrays/Strings, Hash Map/Set tricks, Two Pointers & Sliding Window
- Binary Search (classic + on-answer)
- Monotonic Stack (next greater / “Daily Temps” style)
- BFS/DFS (grids + topo)
- Intro DP (stairs, coin change, house robber, LIS/LCS lite)
🗒️ Hints & Insights I’m Following
- 25-minute rule: if I stall, I peek a hint, then a short video, then close it and re-implement.
- 48h & 7d redos: this is where retention happens.
- Doc-mode practice: many interviews don’t allow running code; I dry-run by hand weekly.
- Impact → how bullets: on resume/LinkedIn, start with a metric, then how I did it.
- Low-energy menu: 30–45m = 1 new (25m cap) or 1 redo + notes. No zero days.
📚 Links I Tap During the Sprint
- NeetCode — How to Use NeetCode Effectively
- NeetCode 150 list
- NeetCode — Sliding Window playlist
- NeetCode — Binary Search (LC 704)
- NeetCode — Top 5 DP Patterns (video)
- William Fiset — BFS Shortest Path
- Grind75 (customizable free plan)
- Sean Prashad — LeetCode Patterns
🧩 Minimal Project/Portfolio (Optional & Beginner-Friendly)
- learning-dsa repo: README with why I’m practicing, patterns, and a weekly goal. Add a LeetCode badge to my profile README:

- Streamlit Sprint Timer (30–45m): a one-file app that shows a 45-min timer + checkboxes: restate → plan → code → dry-run → Big-O.
- BFS Grid Visualizer (60–90m): tiny CLI or Streamlit toy; proves I’m applying DS&A, not doing ops.
🗣️ Behavioral (STAR) — My 4 Short Stories (90–120s each)
- Tough customer → calm plan → fix → metric → one learning I reused.
- Ambiguous ask → questions → minimal viable solution → one learning.
- Process improvement (checklist/runbook) → fewer repeats/TTR → learning.
- Learning fast (new tool in a week) → outcome → learning.
Why This Matters
My goal isn’t just to “pass interviews.” It’s to train like I’m already in STEP: building, collaborating, documenting, and solving in real contexts. That way when I apply, I’m not just a student grinding problems — I’m someone who ships, learns, and communicates.
Takeaway
The edge isn’t secret questions; it’s systems. This roadmap gives me a repeatable loop: daily caps, spaced redos, doc-mode practice, and targeted videos. I’ll keep both doors open (STEP and apprenticeships), tell the truth on applications, and make steady progress — even on low-energy days.