MODULE 1

45-Min Coding Round Structure

Time budget. Skipping any phase = lower score.

Time Budget

PhaseTimeOutput
1. Clarify3–5 minRestated problem, 2–3 examples, constraints
2. Approach5–8 minBrute force → optimal; complexity stated
3. Code15–20 minClean implementation, narrating
4. Test5–8 minWalk through happy path + edges
5. Q&A3–5 minDiscuss extensions, candidate questions

Signals Interviewer Scores

  • Problem-solving: did candidate reach optimal independently?
  • Coding: clean, idiomatic, no bugs.
  • Communication: think-aloud, asks vs. assumes.
  • Verification: caught own bugs, tested edge cases.
  • Speed: completed in time without rushing.
MODULE 2

Communication Framework

Think aloud → narrate → verify. Silence = unscorable.

Narration Phrases

  • "Let me restate to make sure I understand: [problem]."
  • "My initial thought is [brute force]. Let me check the complexity."
  • "That's O(n²). Can we do better? Maybe [hint at structure]."
  • "I'll use [data structure] because [reason]. Trade-off: [cost]."
  • "Let me code the main loop, then handle edges."
  • "Tracing: input X → state at line N is Y → output Z."
  • "Edge cases: empty, single, duplicates, negatives, overflow."

Collaborative Posture

  • Treat interviewer as pair-partner, not adversary.
  • Ask permission to skip: "Should I implement helper X or assume it's given?"
  • Acknowledge hints: "Good point — let me reconsider."
  • Don't argue if interviewer disagrees; explore their view.
MODULE 3

Clarifying Questions

Front-loaded. Wrong assumptions waste 30 min.

Checklist

  • Input shape: type, range, sorted?, can be empty?, can have duplicates / negatives / unicode?
  • Output: format, single answer or all, modify in place?
  • Constraints: n size, time/space limits.
  • Ambiguity: how to break ties, undefined cases.
  • API surface: can I assume helper X exists? stdlib OK?
  • Examples: walk through the given one. Construct one of your own.

For System Design

  • Functional requirements: top 3 features only. Cut nice-to-haves.
  • Scale: DAU, requests/sec, data size, growth.
  • SLA: latency, availability targets.
  • Reads vs writes ratio.
  • Consistency requirements: strong vs eventual.
  • Tenancy: single user, multi-tenant, geo.
MODULE 4

Time Management & Recovery

When to push, when to pivot, when to ask.

Stuck Recovery

  1. Pause & restate the subproblem aloud.
  2. Try simpler input (n=1, n=2). Look for pattern.
  3. List candidate techniques (DP? Greedy? Graph?). Cross out infeasible.
  4. If still stuck after 3 min: "Let me ask — am I on the right track with [approach]?"
  5. Accept hint gracefully. Explicitly integrate: "OK so with [hint] I can now..."

When to Abandon Approach

  • Approach won't fit complexity target → switch fast.
  • Edge cases require special-cases stacking up → wrong abstraction.
  • Implementation requires obscure data structure → simpler exists.
  • Sunk-cost fallacy is real. State explicitly: "I'm going to switch to [Y] because [reason]."
MODULE 5

Common Mistakes

High-frequency anti-patterns interviewers flag.

Top 15

  1. Coding before clarifying.
  2. Silent thinking > 30 sec.
  3. Jumping to optimal without stating brute force.
  4. Not stating complexity until asked.
  5. Not testing before declaring done.
  6. Off-by-one in loop bounds.
  7. Mutating input then iterating it.
  8. Ignoring edge cases (empty, n=1, duplicates).
  9. Using global state in recursion.
  10. Defensive code that hides bugs (try/except swallow).
  11. Premature abstraction (helper for one-line op).
  12. Variable names: x, y, tmp.
  13. Copy-paste blocks instead of loops.
  14. Not handling interviewer's hint as a hint.
  15. Ending with "I think it works" instead of trace.
MODULE 6

60-Min System Design Round

Drive the conversation. Don't wait for prompts.

Flow

PhaseTimeOutput
Requirements5 minFunctional + non-functional, 3 features only
Capacity5 minQPS read/write, storage, bandwidth
API design5 min4–6 endpoints; req/resp shape
HLD10 minClients → LB → services → data stores → queues
Data model5 minTables / schemas; access patterns drive design
Deep dive15 min1–2 components: caching, sharding, queueing
Bottlenecks5 minHot keys, fanout, write amplification, geo
Wrap5 minTrade-offs, what'd you change at 10×
Q&A5 minCandidate questions

Rules

  • Never just name-drop tech. State why Kafka vs SQS, Postgres vs Dynamo.
  • Numbers always. "Let's say 100M DAU, 10 RPS each = 1B writes/day = 12k WPS peak."
  • Draw flow before storage. Storage choice falls out of access pattern.
  • Acknowledge trade-offs. No silver bullets.
  • Drive the depth — tell interviewer what you'd dive into next.
MODULE 7

Behavioral Pacing

3-min stories. Rhythm: 60s setup, 90s action, 30s result.

Pacing

  • If story past 4 min, you've lost interviewer. Self-monitor with mental clock.
  • Pause for follow-up — interviewer will drill where they want depth.
  • Don't pre-empt every angle; leave hooks for them to pull.
  • Always end with explicit lesson: "What I'd do differently is..."

Follow-up Patterns

Follow-upTranslationResponse
"What was your specific role?"You said "we" too muchRestate as "I did X. Team did Y."
"Why did you choose A over B?"Probing decision qualityTrade-offs, constraints, data
"What would you do differently?"Looking for self-reflectionConcrete change, not "communicate more"
"Tell me more about the conflict"Wants drama + resolutionSpecific disagreement, your data, outcome
"How did you measure success?"Wants metricPre/post number with timeframe
MODULE 8

Loop Logistics

Days before + day of + after.

Week Before

  • Confirm tech stack expectations with recruiter.
  • Block prep: 4–6 hr/day.
  • 2 mock coding rounds (Pramp / interviewing.io / friend).
  • 1 mock system design.
  • 1 mock behavioral.
  • Re-read company eng blog (2 recent posts).
  • Prep 3 questions per round.

Day Of

  • Sleep 8 hr night before. Don't cram.
  • Light meal pre-loop. Caffeine if normal for you.
  • 15 min before: mental warmup — solve one easy problem out loud.
  • Have water + paper + pen.
  • Quiet, well-lit room. Camera at eye level.
  • Test mic + screen-share before start.
  • Between rounds: stand, water, reset. Don't dwell on perceived flubs.

After

  • Within 24 hr: thank-you note to recruiter (not interviewers directly unless invited).
  • Self-debrief: write down questions, what went well/poorly.
  • If rejected: ask recruiter for feedback. Some give specifics.
MODULE 9

Negotiation

Post-offer. Most leverage you'll ever have at this company.

Rules

  • Never share current comp until offer in hand. "I'm looking for competitive total comp."
  • Never accept on the call. "Thanks — let me review with my partner / take 24–48 hr."
  • Always ask for a written offer document before negotiating.
  • Negotiate on total comp (base + bonus + equity + sign-on), not just base.
  • Use competing offers as leverage. If none, market data (levels.fyi).
  • Ask for ranges, not points: "Is there flexibility on equity?"
  • Recruiter is not your enemy — they want to close. Help them help you.

Levers

LeverFlexibilityNotes
Base salaryLow–mediumTied to band; rarely large jumps
Sign-on bonusHighOne-time; matches lost equity
Equity / RSUMedium–highOften largest bump
Performance bonusLowUsually fixed % of base
Level / titleLowBig lever if borderline; ask for re-leveling
Start date / WFH / locationHighFree for company, valuable for you
Refresh equity / promo timelineMediumGet in writing
MODULE 10

Cheat Sheet

Day-of script + recovery phrases + decision rules.

Round Opening

  • Greet, brief intro (≤ 30 sec)
  • Read problem out loud
  • Restate in your own words
  • Ask 2–3 clarifying questions
  • Confirm assumptions explicitly
  • Walk through given examples

Coding Hygiene

  • Meaningful names (≥ 3 chars)
  • One thing per function
  • Handle empty / single / overflow
  • No deeply nested logic
  • Type hints / signatures
  • Test 1 happy + 2 edge cases

Recovery Phrases

  • Stuck: "Let me think aloud..."
  • Wrong path: "Switching approach because..."
  • Ask hint: "Am I on the right track with X?"
  • Bug found: "Caught a bug at line N — fixing"
  • Time short: "Let me skip helper, focus on core"

Closing

  • State final complexity (time + space)
  • Mention extensions you'd add
  • Acknowledge trade-offs
  • Ask 1–2 prepared questions
  • Thank interviewer by name

Mock Calibration

  • Record yourself; rewatch
  • Score: clarify / approach / code / test / comm
  • Target 4/5 across all five
  • 3 weak areas → drill next mock
  • 2× / week for 3 weeks pre-loop

Decision Rules

  • Stuck > 3 min → ask hint
  • 5 min left + bug → state + move on
  • Brute force first if optimal not obvious
  • Edge case unclear → ask, don't guess
  • Interviewer disagrees → explore, don't argue