The 4-Week Software Engineering Interview Prep Plan

Jordan Beland6 min read
interview-prep
coding
behavioral
system-design

When someone tells me they have a loop in a month and asks what to do, my honest first thought is usually "well, I hope you've already started." Loops are broad and demanding, and if you're out of practice, honest prep often takes more than 4 weeks. As an avid gardener, I can't help myself here: it's like planting a fruit tree. The best time to start was "a while ago," and the second best time is now.

So here's the plan. It assumes roughly 10-15 hrs/week. If you have less time, cut volume, not weeks. The shape matters more than the totals. Just know that below ~10 hrs/week you're realistically refreshing, not rebuilding, so set your expectations (and your timeline) accordingly.

One thing before the schedule: figure out your split. Rough weighting by level:

  • New grad / junior: mostly coding (~70%), the rest behavioral. System design is rare at this level.
  • Mid-level: about half coding, a quarter behavioral, a quarter system design.
  • Senior+: closer to a third each, and system design is usually the round that sets your level.

Whatever your split says, spend more time on your weak spot than feels comfortable. The most common prep mistake I see is people grinding their strength because it feels good.

Week 1: figure out where you actually are

  • Do 2-3 timed coding problems cold: 45 minutes, talking out loud, no hints. You're not trying to pass, you're trying to find out what breaks and where you're weak.
  • Write your story bank: 6 STAR stories covering conflict, failure, ambiguity, impact, leadership, and a tight deadline. Bullet points only; they're easier to remember, and scripts often come off as over-rehearsed and fall apart on the first follow-up question.
  • Mid/senior: do one full system design prompt cold, out loud, 35 minutes, and record it. Listening back is rough, but it tells you exactly what to fix. You'll likely be surprised how many fillers and buzzwords you try to fit into the conversation when you're out of practice.

Week 2: patterns and structure

  • Coding: work a pattern-based list (NeetCode 150 is the standard if you don't know where to start) instead of random problems, targeting whatever Week 1 exposed. Somewhere around 15-20 problems, always narrating out loud.
  • Behavioral: say each story out loud, timed. 90 seconds to 2.5 minutes. Cut anything that isn't a decision you made or a result.
  • System design: learn the skeleton (requirements, assumptions, back-of-envelope estimates, high-level design, deep dive, tradeoffs) and run 2 prompts with it.

Week 3: reps under real conditions

This is the week most people skip, and it's the one that decides the most. Studying and interviewing are different skills.

  • At least 2 full mock interviews under real conditions: timed, out loud, with something responding to you. A friend who's a working engineer is your best bet if you can confide in one. Otherwise: Pramp (free peer mocks, now hosted on Exponent), interviewing.io (paid, real interviewers), or our own AI mocks here at Preppable. I've seen plenty of friends and coworkers who are very talented engineers trip up and freeze in their first mock interview, so expect some of that and don't be too hard on yourself if it happens to you too.
  • Coding: 10-12 more problems, all timed now. Redo the ones you failed in Week 1. Take a spaced repetition approach.
  • Behavioral: get someone (or an AI) to interrupt you with follow-ups. Real interviewers probe, and usually in a different direction than you plan for; rehearsed monologues don't survive it, and even when they do, they come off as insincere. This goes back to the Week 1 point about having bullet points to draw from.

Week 4: taper

  • Stop adding new material around day 25. New problems this late mostly add anxiety. As long as you have your breadth of concepts covered, with focus on the weaknesses identified in Week 1, don't stress about squeezing in more here.
  • Redo problems you've already solved. Fluency on 60 problems beats having seen 200.
  • One last full mock, 2-3 days out, across all the disciplines you expect to hit for your level.
  • Write 3-4 real questions to ask them, per round. Company- or team-specific questions instead of generic ones are a good forcing function to do more research, and in my experience they help you bond with the interviewer.
  • Day before: skim your story bank, check your logistics, go to bed. Nobody has ever crammed their way past an onsite the night before. It might be hard to get a good night's sleep with nerves at an all-time high, but it does wonders for mental clarity come game day.

If you only take three things from this

  1. Practice out loud, always. Interviews grade how you narrate your thinking, and you can know the answer cold and still fail on that.
  2. Redo problems. Repetition builds the fluency that actually holds up under pressure. Spaced repetition is your friend.
  3. Do at least one real-conditions mock before the real one. Your first full loop shouldn't be the one that counts.

That third point is the one people cut first and regret most. If you want to practice out loud on demand, with something that actually responds and probes your answers, that's what we're building at Preppable. But an honest engineer friend and a phone recording cover a lot of it for free, so the only wrong move is skipping the out-loud reps entirely.