What to prioritize
A quick snapshot of what tends to come up, and how.
Core round topics
- JS, Python, AWS
- Your projects + some SQL
- SQL & system optimisation
- System design — base level, communicate clearly
- Live coding → async/await in JS and Python
- LeetCode easy ones
Frequently emphasized
- Usual JS / Node.js questions
- Python: decorators & generators — learn these cold
- Same concepts in JS too
- SQL + lots of infra questions
- Previous-experience-based questions
1JavaScript & Node.js
0/21▶Usual JS/Node questions, plus async/await, are common live-coding material. This tends to be a strong area for full-stack candidates — aim for zero hesitation.
Core language
this is resolved at call time; contrast with arrows (which have no this).Object.assign/spread limits, and when you need a deep clone.Async — guaranteed live coding
status/value/reason result shape.sleep is a one-liner once this clicks.Node.js specifics
next(); then the error-handling guide (4-arg signature) linked at the bottom.pipe(); backpressure = the consumer controlling the producer's pace.2Python
0/21▶Decorators and generators are commonly asked in Python rounds — know these cold. Async/await in Python is common for live coding too.
Decorators — frequently asked
f.__name__ with and without.Generators — frequently asked
sys.getsizeof; quote those numbers and you sound senior.iter() + next() under the hood.Async Python — live coding
return_exceptions=True: it's the Python twin of Promise.allSettled.Usual Python questions
acc=None) is two lines.3SQL — general + optimisation
0/25▶General SQL plus SQL optimisation are both commonly asked, often as separate rounds. Below: a general fundamentals block — the screening-level questions that come before the optimisation ones.
★ General SQL fundamentals
NULL = NULL is not true; COUNT(col) skips NULLs but COUNT(*) doesn't.Query classics — likely live
Optimisation — high priority
4AWS & infrastructure
0/16▶Infrastructure questions come up often in full-stack rounds. Docker, EC2, Terraform, and CI/CD tooling (like GitHub Actions) are all fair game if they're on your resume.
AWS core
Docker & deployment
Caching & Redis
5System design & optimisation
0/16▶At a "base level," system design rounds are usually testing whether you can structure your thinking out loud — not whether you can design Twitter at scale. A clear framework wins this round.
The 6-step framework (memorize it)
Likely prompts — practice out loud
System optimisation (its own round)
6Live coding — LeetCode easy
0/13▶Live coding at the easy tier is common in full-stack rounds. The bar is clean code + thinking out loud, not tricks. Solve each in ≤15 min, narrating as you go. Pick ONE language for DSA (your strongest) and stick to it.
The essential ten
arr.flat(Infinity).Interview mechanics
7Your projects & experience
0/16▶Your own projects and previous experience come up in almost every round. Every line on your resume is a potential question. Each item below has a draft answer — a 90-second script. Highlighted [placeholders] are the parts only you can fill in — rewrite them in your own words, out loud.
Role 1 (your most recent job)
Draft answer
"At [company], I work on [product area], which handles roughly [scale] a month. I own [your actual slice: onboarding? a core flow? a dashboard?]."
What breaks at that volume — pick the ones that are true and give one example each: upstream/partner APIs failing or timing out mid-flow (so every step needs graceful degradation and retries), duplicate submissions (so writes must be idempotent), and many programs/tenants sharing one platform (so config, theming and API versions must isolate them).
Land it with a number — "For example, [one concrete thing you built or fixed], which [measurable result — e.g. cut failed requests by X%]."
Draft answer
"We rebuilt [system] from v1 to v2. The driver was [the real reason: tech debt? performance? scaling to new use cases faster?]."
The hard part — "These were live systems, so we migrated incrementally — old and new ran side by side and users/programs moved over one at a time" (if that's how it went, name it: the strangler-fig pattern). The pain was keeping feature parity while the old system kept receiving fixes.
Your role + result — "I built [your part: core components? routing/theming architecture? migration of specific pieces?]. Result: [metric — load time down X%, launch time from X weeks to Y]."
Draft answer
"With multiple products/programs sharing UI, every one needed its own branding on the same flows — that's why we built a design system rather than copy-pasting UI."
Structure — "A token layer (colors, type, spacing per program) under a shared component library — roughly atoms → molecules → organisms — plus usage docs." Adjust to what you actually built.
Adoption & versioning — the follow-ups they'll ask. Be ready with: how you got teams to use it ([migrated one high-visibility screen first? made default templates use it?]) and how you shipped changes without breaking consumers ([semver? deprecation warnings? changelog?]).
Impact — "Spinning up UI for a new program went from [X] to [Y]."
Draft answer
Pipeline in one breath — "A small SDK captures events — page views, clicks, funnel steps — and sends them to our collector API, which stores them in [your store]. Dashboards query aggregates on top."
A/B mechanics — the detail that impresses: "Variant assignment is deterministic — hash of user ID + experiment ID — so a user always sees the same variant without us storing assignments. We log an exposure event and compare conversion between variants."
Why custom? — they WILL ask why not an off-the-shelf tool: [cost? keeping user data in-house for compliance? flexibility?]. Then one experiment you ran and what it changed: [example + result].
Keep this story distinct from any other analytics project you mention.
Draft answer
"API-driven means the backend drives the UI: the frontend renders screens, fields and flows from API responses rather than hardcoding them — so [what it enabled: config changes without a frontend redeploy? faster launches?]."
Your part — "[the rendering layer? schema/response handling? validation and error states?]."
Tradeoff question to expect — "What's the downside?" Answer: flexibility costs you type safety and makes testing harder; you mitigate with [schema validation, contract tests, storybook states — whatever you did].
Draft answer
"Working in [domain] meant security constraints shaped everything: we never touch raw sensitive data on the frontend — [tokenization / processor-hosted fields, if true] — no PII in logs or analytics, strict environment separation, and audit trails."
The bridge line (memorize this) — "That experience is actually part of why this role appeals to me: I've seen firsthand that security is as much about people and process as code."
If asked deeper: name OWASP Top 10 categories you actively handled (injection via parameterized queries, XSS via output encoding/CSP, broken auth via [your auth setup]).
Side projects
Draft answer
Architecture in 30s — "A scheduled job runs [e.g. daily], computes the day's work, and pushes send-jobs into a queue. Workers pop jobs and process them with backoff for rate limits. It serves [scale]."
Why this tool — "Lightweight, already in our stack, and its data structures fit: [e.g. a list as the work queue, or a sorted set scored by send-time for scheduling], TTLs for cleanup."
Crash mid-send (they'll ask) — "Sends are idempotent: each job has a key. A worker checks-and-sets the key before processing, so a retry never double-sends." Say what you actually did; if it wasn't this, the honest version + "here's what I'd add" is just as strong.
At 10x scale — "I'd move to a real broker — SQS or RabbitMQ — for durability, acks and dead-letter queues, which a simpler queue doesn't give you."
Draft answer
One-breath pitch — "[Project] is a tool I'm building: [what it does end to end]."
Own a real tradeoff — pick one deliberate design choice and explain why: "I chose [e.g. hourly aggregation over real-time] because [it makes queries cheap and the system dramatically simpler]. It's a deliberate tradeoff, and I'd revisit it if a use case demanded otherwise."
Honesty structure — "Today, [what genuinely works] is running; [what's planned] is next. If I started over I'd [one real lesson]." Interviewers trust "in progress" projects described this precisely.
Draft answer
Lead with ownership, not the stack list: "It was a team project — I personally built [your exact pieces], while teammates owned [e.g. a different app/service]."
Then one integration sentence: "My part talked to theirs via [REST API / shared DB / contract], and the thing we had to align on was [auth? data shapes?]."
Rule: never say "we" about code you didn't write — a senior interviewer probes exactly there.
Draft answer
First, decide the truth: real-time via [websockets / server-sent events / polling] — then say it plainly and be able to compare: websockets = bidirectional persistent connection; SSE = one-way server push over HTTP; polling = client asks on an interval.
Then decode any vague resume phrasing ("optimized data flow") into one concrete sentence — [e.g. "restructured state management so screens stopped over-fetching" or "cached X, cutting requests by Y"].
Behavioral + "why this company"
Draft answer
Three beats, ~45 seconds total:
1 · Domain — "At [previous company], [relevant constraint] shaped everything I built, and it taught me [a lesson] — which connects directly to what this company works on. That's concrete to me, not abstract."
2 · Product — name something specific from their site: [a specific product or feature you found while browsing]. One named product beats ten adjectives.
3 · Fit — "The role is [stack], which is precisely how I've worked for [X] years — so I can contribute quickly while growing into anything new."
Draft answer
Fill this skeleton with a real incident — [strongest candidates from your work: a payment/critical flow failing in production, a bad deploy, a data bug in a pipeline]:
S — one sentence of stakes: "[System] broke in production, affecting [who/how many]."
T — "I owned finding and fixing it [under what pressure]."
A — your debugging method is what they're grading: reproduced it, checked logs/monitoring, isolated the layer (frontend? API? DB?), found [root cause], shipped [fix].
R — resolution + prevention: "Restored in [time], then added [a test / an alert / a runbook] so it can't recur silently." The prevention step is what makes the story senior.
Draft answer
Pick a real disagreement — [a tech choice: build vs buy? a migration approach? a design-system API debate?] — and shape it:
S/T — "A teammate and I disagreed on [what]; the decision mattered because [stakes]."
A — the winning shape: you argued with data, not volume — "I [built a quick prototype / benchmarked both / wrote up tradeoffs] and we reviewed it together."
R — either outcome is a good story: "The data supported my approach and we shipped it" OR "the team chose the other path — I committed fully, and [what you learned]." Disagree-and-commit told sincerely is a strength, not a loss.
Draft answer
Pick a crunch — [a launch date? a partner deadline?] — and shape it:
S/T — "We had [time] to ship [what], and the full scope wasn't going to fit."
A — the graded skills are prioritization and communication: "I split scope by user impact — [core flow] was non-negotiable, [nice-to-have] could follow — and flagged the cut early to [stakeholder] rather than missing silently."
R — "Shipped the core on time; delivered [the cut piece] in the following [week/sprint]." Cutting scope loudly and early is the senior move — say it in those words.
Draft answer
One rehearsed, forward-looking sentence — for example:
"[Current company] gave me unusual end-to-end ownership — [1-2 concrete things] — and I've grown a lot there. I'm now looking for [bigger scale / a domain I care about / more growth], and this role is exactly that. I'm running toward something, not away from anything."
Rules: never criticize your current/past employer, keep it under 30 seconds, and don't volunteer more unless asked.
Draft answer
Three ready to use — adapt to whoever is interviewing you:
1 — "How is the full-stack team structured — do engineers own features end to end, from frontend through infra?"
2 — "What does the day-to-day stack look like for this team, and which cloud services do you lean on?"
3 — "What would a strong first 90 days look like in this role?"
Bonus (shows domain interest): tailor a fourth question to something specific about the company's product or engineering culture.