Library / 12-Week Preparation

Primary 12-Week Plan

15 min read

Prepare for strong L4 coding performance while developing L5-level design and leadership evidence. Use Python for DSA, and plan around 18 hours per week. Your backend experience gives you relevant design material; the preparation challenge is making your reasoning, ownership, and judgment visible under interview time pressure.

I’ll use a senior-interviewer coaching lens. The level distinctions and readiness targets below are practical preparation guidance, not Google’s confidential scoring rubric.

1. Level calibration and interview expectations#

Five years of experience makes L5 worth discussing with your recruiter, but years alone do not establish senior-level scope. Google’s public Senior SWE postings include examples requiring five years of development experience alongside design and product-delivery experience. That establishes eligibility for those postings, not an interview-level guarantee. Google Senior SWE posting

For planning purposes, prepare for the following structure. Exact rounds vary by role, location, and recruiting process.

ComponentPreparation assumptionWhat to demonstrate
Recruiter conversationLevel, role fit, background, logisticsClear account of your scope and interests
Technical screening, if still requiredOne or more coding assessments/interviewsProblem solving, implementation, complexity, communication
Main-loop codingBudget for approximately 3 coding interviewsConsistent performance on unfamiliar problems and follow-ups
System designPrepare for a dedicated round for L5; confirm whether included for L4Requirements, architecture, data modeling, tradeoffs, failure handling
Googleyness and leadershipPrepare for a dedicated behavioral interview or questions integrated into other roundsCollaboration, judgment, ownership, learning

Use 45-minute practice rounds, adjusting to your confirmed schedule. Do not assume that every L4 interview omits design or that behavioral evaluation always has a separate slot.

Your first recruiter clarification should cover: target level, round types and durations, coding language/runtime, whether code can execute, and the design tool. Google provides a Google Drawings guide for some virtual design interviews, but your invitation should determine your setup. Google candidate guide

The useful L4/L5 distinction is the scope of problems you can independently own:

DimensionStrong L4 evidenceStrong L5 evidence
CodingIndependently develops, implements, and tests an efficient solutionEqually strong fundamentals; handles ambiguity and changing constraints with clear judgment
DesignDesigns a coherent service or component and explains its choicesDrives an ambiguous system design, identifies the hardest constraints, and explores consequences deeply
OwnershipDelivers substantial work within an established directionHelps define direction and carries a project through delivery and operation
CollaborationWorks effectively with peers and partner teamsResolves cross-team dependencies and influences decisions without formal authority
LeadershipSupports teammates and improves executionRaises others’ effectiveness through mentoring, standards, or technical direction
ImpactExplains what they built and why it matteredConnects decisions to outcomes, alternatives, and broader team effects

My calibration recommendation: pursue L5 if you can substantiate at least two projects where you shaped the design, coordinated contributors or partner teams, and owned operational results. Otherwise, L4 may fit your demonstrated scope better. Do not treat L5 preparation as simply solving harder algorithms.

Choose Python for DSA. You already use it professionally, and its concise syntax should preserve time for reasoning and testing.

ConsiderationPythonJava
Implementation speedConcise maps, sets, loops, and sortingMore typing and type declarations
Useful standard toolsdeque, Counter, defaultdict, heapq, bisectArrayDeque, HashMap, HashSet, PriorityQueue, TreeMap
Main risksHidden copying, recursion depth, aliasing, heap tie comparisonsComparator bugs, integer overflow, verbosity
Best reason to choose itYou can think and implement fluentlyYour actual algorithmic fluency is materially stronger

During week one, solve two comparable unfamiliar problems in each language. Compare correctness, completion time, and debugging effort; then lock your choice for the remaining weeks.

For Python, practise queue operations with deque, heap operations, sorting keys, and explicit iterative traversals. Know which operations copy data or cost linear time. Confirm runtime support before relying on newer library APIs. Python collections, Python heap documentation

2. Your 12-week roadmap#

The baseline is 208 preparation hours: 18 hours in weeks 1–11 and a 10-hour taper in week 12.

PhaseCoding/weekDesign/weekBehavioral/weekTracking/logisticsTotal
Weeks 1–4: foundations and patterns11 h4 h2 h1 h18 h
Weeks 5–8: advanced reasoning and design9 h6 h2 h1 h18 h
Weeks 9–11: interviews and repair9 h5 h3 h1 h18 h
Week 12: taper4 h3 h2 h1 h10 h

Mocks and their debriefs are included in the relevant category. Reading also comes out of that category’s budget.

Target 80 distinct Medium/Hard problems, plus 40–50 selected re-solves. These are workload guides; the milestones determine progress.

WeekCoding goalsDesign and behavioral goalsCompletion milestone
18 new: baseline assessments; arrays, hashing, two pointers; language comparisonExplain one actual backend service end to end. Inventory 8 potential stories. Confirm interview format.Baseline scorecard, chosen language, and three specific weaknesses
28 new: sliding windows, prefix sums, binary search, intervalsAPIs, access patterns, indexes, transactions, rough capacity estimates. Draft ambiguity and disagreement stories.Explain the invariant behind each pattern; justify one schema and index choice
38 new: trees, BSTs, recursion, BFS/DFS, basic backtrackingCaching, replication, consistency. Reconstruct one production incident and its recovery.Implement tree and graph traversals from blank; distinguish a cache failure from a database failure
48 new: graphs, heaps, mixed review; 1 coding mockFirst complete design: rate limiter. Prepare four STAR stories.Solve 3 of 4 fresh, representative Mediums within 40 minutes each, including testing
58 new: topological sort, union-find, shortest pathsSharding, hot partitions, rebalancing, consistent hashing. Design a crawler.Explain when to use BFS, Dijkstra, topological sort, or union-find
68 new: 1D/2D DP, subsequences, knapsack-style state choices; 1 coding mockQueues, retries, idempotency, backpressure. Design an event analytics pipeline. Draft failure and pushback stories.Derive DP state, recurrence, and base cases before coding; explain duplicate-event handling
78 new: tries, pruning, monotonic stacks, harder intervalsDesign autocomplete; 1 design mock. Practise an LLD component. Draft mentorship story.Produce a complete 45-minute design with one substantial technical deep dive
88 new: mixed graph/DP problems; 1 coding + 1 design mockDesign file storage/sync. Review isolation, failover, concurrency. Complete eight story cards.Meet the phase-two readiness gate below
96 new: unfamiliar mixed problems; 1 coding mock1 behavioral mock. Revisit weakest design and rehearse two project deep dives.Handle follow-up questions without reverting to a memorized explanation
106 new: target the two weakest patterns; 2 coding mocks1 design mock; rehearse disagreements, tradeoffs, and quantified outcomesComplete a three-round practice block with breaks, then identify only the top two repairs
114 new: transfer exercises from recurring mistakes; 2 coding mocks1 design + 1 behavioral mock; simulate the confirmed loop as closely as practicalMeet the final readiness gate; finish major remediation
12No new problems required: familiar representative problems and light recallTwo short design walkthroughs, story refresh, equipment check, sleep consistencyEnter the interview rested, with a repeatable process

That gives you 8 coding, 4 design, and 2 behavioral mocks. Most can be with a capable peer; use experienced external interviewers for calibration where practical.

Phase-two gate, end of week eight:#

  • Solve at least 4 of 5 fresh, representative Mediums within 35–40 minutes without substantive hints.
  • Explain correctness and complexity, including auxiliary space.
  • Complete two coherent designs with explicit data models, failure handling, and justified tradeoffs.
  • Tell eight truthful stories without reading a script.

Final readiness gate, end of week eleven:#

  • Across your last five coding mocks, at least four show a sound approach, implementation, and testing with no major rescue.
  • Your last two design mocks reach both an end-to-end architecture and a meaningful deep dive.
  • Behavioral answers clearly distinguish your decisions from the team’s work and withstand probing.

These are coaching targets, not Google pass thresholds.

If you miss a gate, replace the next week’s new problems with focused repair. Do not respond by adding hours indiscriminately.

A sustainable 18-hour weekly template for the first phase:

DaySession
Monday, 2 h90 min coding; 30 min retrieval practice
Tuesday, 2 h60 min coding; 60 min design
Wednesday, 2 h90 min coding; 30 min behavioral
Thursday, 2 h60 min coding; 60 min design
Friday, 2 h60 min coding; 30 min behavioral; 30 min tracking
Saturday, 4 h3 h coding/mock and debrief; 1 h design
Sunday, 4 h90 min coding review; 1 h design; 1 h behavioral; 30 min planning

In phase two, transfer two coding hours to design. In phase three, transfer one design hour to behavioral practice.

On 15-hour weeks, remove three hours of new-problem work while preserving mocks and review. On 20-hour weeks, spend the extra two hours repairing a measured weakness.

3. DSA: prepare by reasoning pattern#

There is no reliable public Google question-frequency distribution. The allocation below is my preparation weighting: substantial graphs and DP, with enough breadth to avoid major gaps. Google-authored preparation material emphasizes conceptual understanding, algorithm selection, graphs, and complexity. The linked guide is older, so use it for fundamentals rather than current interview logistics. Google SWE preparation guide

Pattern familyDistinct problemsWhat you should be able to explain
Arrays, hashing, two pointers, sliding windows, prefix sums12What information the maintained state summarizes
Trees and BSTs8What each recursive call returns; traversal and ancestor relationships
Graph BFS/DFS and shortest paths12How to model the graph; what “visited” means; why the traversal is valid
Topological sort and union-find8Dependency ordering versus connectivity; cycle handling
Dynamic programming14State sufficiency, recurrence, base cases, evaluation order
Binary search and heaps10Monotone predicates, search boundaries, top-k and merge invariants
Intervals, greedy methods, sweep lines6Endpoint conventions and why a local decision is safe
Tries and backtracking6Prefix representation, pruning, restoring state
Linked lists, stacks, queues, basic bit manipulation4Pointer/state discipline and boundary conditions
Total80

Use an 80% Medium / 20% Hard mix: 64 Mediums and 16 Hards.

  • Weeks 1–4: 28 Medium, 4 Hard.
  • Weeks 5–8: 24 Medium, 8 Hard.
  • Weeks 9–11: 12 Medium, 4 Hard.

Choose Hards that deepen reusable reasoning—such as minimum-window problems, word-ladder variants, tree serialization, or DP state design. Avoid making obscure tricks your primary study material.

For each problem, follow this learning cycle:

  1. Attempt independently: usually 30–40 minutes for a Medium; cap a Hard learning session around 60 minutes before seeking help.
  2. Locate the exact gap: modeling, invariant, algorithm choice, implementation, or testing.
  3. Study only what resolves that gap.
  4. Close the solution and reconstruct it.
  5. Revisit selected misses after roughly 2, 7, and 21 days. Prioritize consequential weaknesses rather than repeating everything.
  6. Change one constraint: weighted edges, streaming input, duplicates, limited memory, or dynamic updates.

Mark a solution as independent, hinted, or editorial-assisted. An accepted submission after reading the editorial is a learning event, not an independent solve.

For a typical 45-minute live coding round, practise this pacing:

TimeAction
0–4 minClarify input/output, constraints, duplicates, ordering, mutation, and one example
4–8 minState a baseline and its bottleneck; explain it without necessarily coding it
8–13 minPropose the improved approach, invariant, and complexity
13–30 minImplement readable code while explaining significant decisions
30–38 minTrace normal and adversarial cases; fix mistakes
38–45 minAddress follow-ups, tradeoffs, or remaining discussion

Adapt to the interviewer’s pacing; this is a rehearsal framework.

Useful language during the interview:

“The baseline repeats this work for every starting position. I can preserve that information in a map. The invariant is that…”

Test empty or minimum input, duplicates, boundaries, disconnected/cyclic cases where relevant, and one adversarial shape. If stuck, state the precise uncertainty and work a small example rather than going silent.

4. System design: turn your experience into evidence#

Your strongest preparation move is to reconstruct two real projects. For each, write one page covering requirements, traffic/data scale, architecture, your decisions, rejected alternatives, an operational problem, and measured results.

Use your database experience as follows:

TechnologyInterview valueDepth to prepare
PostgreSQLTransactional source of truth; relational modeling and invariantsComposite indexes, query plans, isolation, locking, replica lag, pagination, migrations
BigtableHigh-throughput key/range access with deliberate key designRow keys, hotspots, access-pattern tradeoffs, single-row atomicity, replication/routing choices
BigQueryAnalytical processing and separation of analytical workloads from servingPartitioning, clustering, ingestion freshness, scan cost, aggregation, backfills

For PostgreSQL, explain an actual concurrency scenario—such as two requests attempting the same reservation—and which database mechanism preserves correctness. Know that isolation levels permit different anomalies. PostgreSQL isolation documentation

For Bigtable, explain why a timestamp-leading row key can hotspot, and how spreading writes can increase read fan-out. Its transactions are scoped to a single row. Be precise about consistency: single-cluster and replicated routing configurations have different implications. Bigtable schema design, Bigtable replication

For BigQuery, explain why an analytical warehouse belongs in an event-analysis path, and evaluate latency requirements before placing it behind an interactive serving API. BigQuery overview

A particularly useful practice scenario is a transactional service whose events feed analytics: PostgreSQL stores business state, an outbox/CDC mechanism publishes changes, consumers handle duplicates and replay, and BigQuery supports analysis. Introduce Bigtable only when a concrete serving access pattern justifies it.

Master these distributed-system topics through scenarios:

  • Scale: average/peak QPS, storage growth, bandwidth, concurrency, p95/p99 latency.
  • Partitioning: range versus hash sharding, consistent hashing, hot keys, rebalancing.
  • Replication: lag, leader failure, quorum intuition, read-your-writes.
  • Consistency: linearizability versus serializability, eventual consistency, conflict handling; explain CAP specifically during a network partition.
  • Caching: cache-aside, invalidation, TTLs, stampedes, eviction, hot objects.
  • Asynchronous processing: ordering scope, at-least-once delivery, idempotency, retries with jitter, dead-letter handling, backpressure.
  • Reliability: SLOs, timeouts, load shedding, disaster recovery, observability, safe rollouts.
  • Concurrency and coordination: locks, leases, fencing tokens, races, deadlocks.
  • API and data lifecycle: authentication, authorization, pagination, schema evolution, deletion and retention.

Practise these five canonical designs, each at least twice:

ProblemMain learning objectivesFollow-up to rehearse
Distributed rate limiterToken buckets, atomic updates, per-user/tenant stateMulti-region limits; fail-open versus fail-closed
Web crawlerFrontier queues, deduplication, scheduling, partitioningWorker crashes, retries, per-host politeness
Event analytics platformDurable ingestion, stream/batch paths, aggregationDuplicate and late events; replay without corrupting results
Search autocompletePrefix retrieval, ranking, caching, offline buildsHot prefixes, freshness, personalization
File storage and syncMetadata versus blobs, chunking, versioningConcurrent edits, resumable upload, permissions

These are practice vehicles, not predictions of Google questions.

For LLD, reserve 30–45 minutes of your design budget weekly from week three. Practise a rate-limiter interface, bounded worker queue, or cache component. Cover API contracts, state transitions, concurrency, errors, and testability. Your Django/Spring experience should help, but avoid spending the session on framework wiring.

Use this 45-minute design structure:

5 min requirements → 5 min scale and APIs → 10 min data model and architecture → 15 min deep dive → 7 min failures/tradeoffs → 3 min recap.

For L5, practise choosing the deep dive yourself and explaining why it is the system’s main risk.

5. Googleyness and leadership: build eight reusable stories#

Prepare these five themes. They are useful coaching categories, not an official ranked list.

ThemeEvidence to surfacePossible story from your background
AmbiguityYou clarified an uncertain goal and made progress with incomplete informationAn underspecified backend capability or migration
Cross-functional disagreementYou understood competing incentives and reached a workable decisionProduct freshness expectations versus pipeline cost
Constructive pushbackYou challenged a proposal with evidence and offered an alternativeAn unsafe deadline, unnecessary rewrite, or risky rollout
Failure and learningYou owned your contribution, recovered, and changed the systemIncident, incorrect estimate, or failed migration
Mentorship and team impactYou helped others become more effective independentlyOnboarding, reviews, incident coaching, engineering standards

Choose eight distinct episodes: two major deliveries, one ambiguity story, one disagreement, one pushback, one failure, one mentorship example, and one initiative beyond assigned work. Stories can cover several themes, but avoid answering every question with the same project.

Use STAR plus reflection:

  • Situation, 20–30 seconds: context and stakes.
  • Task, 15–20 seconds: your responsibility.
  • Action, 60–90 seconds: your decisions, alternatives, and collaboration.
  • Result, 20–30 seconds: outcome, with defensible metrics where available.
  • Reflection, 15–20 seconds: what you would repeat or change.

Give a two- to three-minute initial answer, then leave room for probing.

Each story card should contain:

Theme | Stakes | My role | Alternatives | My actions | Result | Lesson | Likely follow-ups

Prepare for: “Why that option?”, “What did you personally do?”, “Who disagreed?”, “How did you measure impact?”, and “What would have happened without your intervention?”

Use approximate figures only when you can explain the estimate. Avoid inventing precision. For L5, especially highlight how your work improved other people’s decisions or execution.

6. Keep the resource stack small#

ResourceHow to use it
LeetCode Top Interview 150Source problems from the pattern allocation; you do not need to finish the entire list
Hello Interview: System Design in a HurryLearn a delivery structure, then attempt prompts before viewing walkthroughs
Designing Data-Intensive ApplicationsRead selectively on storage, replication, partitioning, transactions, and distributed-system failures
Google SRE booksSelected reading on SLOs, overload, monitoring, and incident response
IGotAnOffer mock interviewsOptional external calibration; choose someone with relevant SWE interviewing experience and request written feedback

Use peers for most mocks. If paying for help, prioritize one early calibration session and one later validation session over accumulating more courses.

Finally, working code alone does not demonstrate the full interview skill set. These are the five failure modes I would actively coach against; they are not a published ranking of hiring-committee rejection reasons:

  1. Solving the wrong problem. Unchecked assumptions produce correct code for different requirements.
    Repair: restate the contract and verify a small example before committing.

  2. Making reasoning invisible. The interviewer sees code but cannot assess why the approach works.
    Repair: explain the invariant, complexity, and decisive tradeoff.

  3. Showing brittle understanding. A memorized solution collapses under a small follow-up.
    Repair: change constraints during practice and derive the modified approach.

  4. Skipping validation. The main example works, but boundaries, state transitions, or complexity claims fail scrutiny.
    Repair: reserve explicit time for tracing and adversarial cases.

  5. Leaving the target-level evidence unclear. Good coding cannot establish ownership, architectural judgment, or collaborative leadership by itself.
    Repair: prepare concrete design decisions and stories showing your individual contribution, alternatives, and outcomes.

Start this week: confirm the loop, complete the coding baseline, choose your language, reconstruct one production system, and list eight real stories. Your first checkpoint is evidence of where you need practice—not a problem-count streak.

On this page

Keyboard shortcuts

/ or ⌘K
Search everything
j / k
Next / previous section
t
Table of contents
b
Bookmark the current section
?
Show this help

Try “select_for_update”, “Union-Find”, “@Transactional” or “STAR”.

↑ ↓ to move · ↵ to open · esc to close