Skip to content
MetaStack
study-methodscheduling

A software interview study plan by topic

A software interview study plan that splits hours between coding and design, for a two-week notice and for a three-month search.

A software interview study plan that treats the loop as one pile of "practice" will starve design. Coding interview preparation has a visible scoreboard. You finish a problem or you do not. Design has a spoken rubric and no green check. Given a free evening, most people open the scoreboard. Two weeks later they can write a solution they cannot host. This post is about why that happens, how to split the hours on purpose, a plan that fits a two-week notice, a plan that fits a three-month search, and what MetaStack will cover for you versus what you still have to do somewhere else.

Why a single plan usually starves design

A combined plan looks reasonable on paper. "Two hours a night, mix of problems and system design." In practice the mix becomes ninety minutes of problems and a chapter of design notes if anything is left. The chapter is re-reading. The problems are active. The plan has already picked a winner.

Three properties of the work make that drift reliable.

Coding problems end. You submit, you pass or you fail, you stop. Design study does not end unless you give it a rubric. Sites will also feed you a next problem. Design has no default next prompt unless a scheduler has a due queue. Anxiety prefers the familiar skill, so people postpone the spoken hour until the week of the loop, which is when spacing has no room to work.

The fix is not motivation. The fix is a split you cannot negotiate at 9 p.m. Design gets a named slot, a named artefact, and a stop condition. Coding gets the rest of the study time, not the whole of it. If a night has only twenty minutes, that night is design if design is the thin side, because twenty minutes of due cards is a complete session and twenty minutes of a hard problem is a fragment.

Write the split on the same page as the rest of the plan. If it lives only in your head, the scoreboard will win.

Hours for coding, hours for design

Count hours you will actually keep, not hours you wish you had. A weekday night after a job is often forty-five minutes, not two hours. A weekend block might be two hours if nothing else claims it. Build from those numbers.

A split that holds up for most loops is one third design, two thirds coding, by time, not by feelings of progress. Design is a smaller surface if you already work with services, and a larger one if you do not. Move toward half and half if your last loop failed on design, or if the roles you want are staff-plus and the coding screen is not the gate.

Give design the first slot on days you do both. First slot is the one that happens. Second slot is the one that gets cut when dinner runs late. Coding can survive a cut better than design, because a short problem still has a close, and because the coding list will still be there tomorrow. A skipped design session is a skipped due date, and the queue grows.

A workable week at 45 minutes a weeknight and two hours on Saturday:

BlockMinutesWhat you doDone when
Mon, Wed, Fri45Design due queue, spoken, rubricThe queue is empty or the 45 is up
Tue, Thu45Coding problemsOne problem finished or time is up
Saturday90 to 120Coding set, then a design mock or a design card walked stage by stageTimer ends
Sunday20Inventory. Not a third study blockYou have marked holes, then you stop

That is about three hours of design and four of coding. It is not heroic. It is repeatable. If Saturday is gone, do not move the mock onto Friday night on top of the due queue. Drop the mock to the next weekend and keep the weekday cards.

Coding interview preparation belongs in the coding slots. Patterns, timed problems, language fluency, the thing you will do on a shared editor. It does not belong in the design slot as a warm-up. A warm-up that eats twenty of the forty-five minutes is how design starves again.

Design slots produce speech. If you cannot speak, type the key points you would have said, then compare. Do not fill a design slot with a video. A video is a rest day.

Settings that matter for the design hours: daily new-card limit of ten, mixed study, rubric mode on new and lapsed cards. You can raise the limit if introductions must finish faster. You should not raise it because the coding night felt unproductive.

A plan for a two-week notice

Two weeks is a triage. You will not finish a book and a problem list and a mock series. You will pick the screens you are about to sit and cut everything that does not serve them.

Day 0, one hour, on paper:

  1. List the loops you have in the next fourteen days. Note which screens are coding, which are design, which are both.
  2. Mark the thinner side. If you have not spoken a design in a year, design is thinner even if you "know" the topics.
  3. Cut the coding list to a small set of patterns you already half know. Cut the design list to the MetaStack bank plus one prompt you expect.
  4. Write the slot table for the next fourteen days, with actual calendar dates, and treat a missed slot as skipped, not as debt.

Days 1 to 4 are introductions on the design side. Raise the new-card limit so 64 cards can be seen once before day 5. Fundamentals, Estimation, Classic designs. Speak. Rate with the rubric. Again is under 40 percent of the key points, Hard is 40 to 69, Good is 70 to 94, Easy is 95 and up. Do not add cards. Read only behind an Again on a topic you have never met.

Days 1 to 4 on the coding side are timed problems in the patterns you kept. One problem per slot, then stop. Review solutions after you have produced something, not instead of producing something.

Days 5 to 10 are reviews on the design side. No new cards unless a few remain unseen. This is the week the system design interview clock should be run once, on a weekend or on a weeknight you can extend to 45 minutes. Record it. Grade against the design card's stages, not against a feeling.

Days 5 to 10 on the coding side stay at one or two problems per slot. If a coding screen is tomorrow, that night is coding only. Do not "also do a few cards" after midnight.

Days 11 to 14 are maintenance. Due cards only. No new design material. No new coding patterns. Sleep before a loop is part of the plan. A cram the night before undoes the gaps that made the reviews useful.

If you have only one week, drill by weakness rather than by due date. Spacing needs time. Two weeks is not the time to write your own bank. Use the one that exists. The flashcards post is the grading method for those days.

Three months is enough to let FSRS do its job and enough to waste on a third course. The risk flips. Under two weeks you starve design by rushing. Over three months you starve it by sampling.

Month one is a steady split and a complete first pass of the design bank. Keep the weekday table from the hours section. Do not raise the new-card limit unless you like a heavy review week. Ten new a day finishes 64 cards in a week; the rest of the month is reviews and two solo mocks on different prompts. Coding slots rotate through a small pattern list twice, not through every list on the internet.

Month two is where people get bored and open a new resource. Do not. Use the saved design minutes on a partner mock if you have one, and on the Classic designs stages you still rate Hard.

Month three follows the screens if loops have started. A take-home is the take-home, not a night to keep a streak. If loops have not started, keep the split. Boredom is not a hole. The FSRS versus SM-2 write-up is the reason you do not reset the deck to feel busy. A lapse costs some stability, not the whole climb.

A three-month checklist you can copy:

  • Week 1: introduce the 64 cards. Coding patterns you already half know.
  • Weeks 2 to 4: reviews, one mock, one weekend coding set that feels like a screen.
  • Weeks 5 to 8: reviews, a second mock on a new prompt, partner if available. No new design book.
  • Weeks 9 to 12: same, with the slot weights following real loops. Export the JSON if you change machines.

Progress for design lives in IndexedDB. You do not need an account. GitHub sign-in is only for a server copy. Export if you care about the history.

What MetaStack covers and what it does not

MetaStack covers the spoken design side of the plan. It does not cover the coding side. That sentence should be on the plan so you do not wait for a feature that is not coming.

What it does cover:

  • 64 original cards in three decks: Fundamentals (39), Estimation (10), Classic designs (15).
  • A rubric of three to six key points on every card, mapped to Again, Hard, Good, and Easy.
  • Design prompts split into interview stages: requirements, estimates, API, data model, high-level design, deep dives, failure modes.
  • Scheduling with FSRS through ts-fsrs, target retention 0.9, maximum interval 180 days, fuzz off, default ten new cards a day.
  • Study that works without an account. State in the browser, export and import as JSON.

What it does not cover: coding interview preparation, behavioural loops, live partners, a cloud catalogue, or per-user FSRS weight fitting. The weights are the library defaults.

Use something else for the coding slots. Use a person for at least one mock after the solo recordings. Use the cards for the rest of the design hours.

If you want the next design artefact tonight, open mixed study on the study page or a single design prompt from the classic designs queue. Put the coding site in a different bookmark and do not open it during that slot. The plan only works if the split survives the evening.

Keep reading