/

/

How to hire full stack developers

How to hire full stack developers

To hire full stack developers, test every layer: a real conversation, live coding, a real feature from database to button, a follow-up and system design.

Full stack developer loop5 rounds
Priya · Full stack developerShortlisted
  1. 1✓AI screening interviewA feature she shipped end to endAriaReport ready
  2. 2✓Live codingA shared pad, AI assist offAI interviewerReport ready
  3. 3✓Vibe codingTeam invites, from database to buttonNixReport ready
  4. 4✓Follow-upHer running app and databaseNixReport ready
  5. 5✓System designInvites for 50,000 teamsWhixReport ready
Your team decidesOne report per round, with the evidence

The full stack developer interview process

Five rounds, each with its own report. Every claim is captured and scored against your rubric.

Aria · Live interview
Aria

Tell me about a feature you shipped end to end.

Priya"Team invites. A React form, a Node API, and a Postgres table. The hard part was keeping invite links safe."
Aria

How did you keep them safe?

Priya"Signed tokens that expire in 48 hours, and each one works exactly once."

Round 1 · AI screening interview

The features they have shipped end to end

Aria starts with a real conversation about what they've actually shipped. Every claim is captured and scored against your rubric.

Nix · Vibe coding
TaskAdd team invites: an invite form, an API endpoint, and an invites table. Only admins can invite.
VS Code
Priya

The AI's draft forgot the admin check. She adds it, runs the tests and checks the invite in the browser and the database.

Claude Code
Daniel

Accepts everything and never looks at the data.

Same task. Same models. How they used the tool made the difference.

Round 3 · Vibe coding interview

A real feature, from database to button

Nix gives the candidate a real task and lets them use the AI coding tools and models you allow. The recording shows whether they review AI-written code, test it and check the data.

Whix · System design
Whix

Now scale invites to 50,000 teams sending in bulk.

50,000 teamsqueueemail workersemail provider
retry with backoff
pending
Whix

What happens when the email provider goes down?

Priya"Invites wait in the queue and retry with backoff. The app shows pending instead of failing."

Round 5 · System design interview

Designing the feature at scale

On a live whiteboard, Whix takes the candidate through the database, the queue, the email workers and what breaks.

AI interviewer · Live coding
TaskWrite dedupeInvites. Keep the latest invite per email for each team, and drop the expired ones.
dedupeInvites
1function dedupeInvites(invites, now) {
2  const keep = new Map()
3  for (const i of invites) {
4    if (i.expiresAt < now) continue
5    const k = i.teamId + i.email, c = keep.get(k)
6    if (!c || i.sentAt > c.sentAt) keep.set(k, i)
7    else if (i.sentAt == c.sentAt && i.id > c.id)
8      keep.set(k, i)
AI interviewerOne test is failing. What if two invites have the same timestamp?Priya"Then I keep the one with the higher ID, so the result is always the same."

Round 2 · Live coding interview

A live coding interview with AI assist off

The candidate solves a problem in a shared coding pad while an AI interviewer asks about speed and edge cases in real time. Tests run in the console, and every edit and run is part of the report.

Nix · Follow-up
invites
1team      email
2
3
NixI clicked send twice. Why is there only one invite?Priya"There's a unique index on team and email, and the API returns the existing invite instead of making a new one."NixWhat does someone who isn't an admin see?Priya"A disabled button with a reason. And the API still rejects them, so the screen isn't the only check."

Round 4 · Follow-up interview

A follow-up on the running app

Nix opens the candidate's code next to the running app and the database, uses the app, and asks about specific lines and database choices. Candidates who shipped code they don't understand stand out quickly.

Aria · Live interview
Aria

Tell me about a feature you shipped end to end.

Priya"Team invites. A React form, a Node API, and a Postgres table. The hard part was keeping invite links safe."
Aria

How did you keep them safe?

Priya"Signed tokens that expire in 48 hours, and each one works exactly once."

Round 1 · AI screening interview

The features they have shipped end to end

Aria starts with a real conversation about what they've actually shipped. Every claim is captured and scored against your rubric.

AI interviewer · Live coding
TaskWrite dedupeInvites. Keep the latest invite per email for each team, and drop the expired ones.
dedupeInvites
1function dedupeInvites(invites, now) {
2  const keep = new Map()
3  for (const i of invites) {
4    if (i.expiresAt < now) continue
5    const k = i.teamId + i.email, c = keep.get(k)
6    if (!c || i.sentAt > c.sentAt) keep.set(k, i)
7    else if (i.sentAt == c.sentAt && i.id > c.id)
8      keep.set(k, i)
AI interviewerOne test is failing. What if two invites have the same timestamp?Priya"Then I keep the one with the higher ID, so the result is always the same."

Round 2 · Live coding interview

A live coding interview with AI assist off

The candidate solves a problem in a shared coding pad while an AI interviewer asks about speed and edge cases in real time. Tests run in the console, and every edit and run is part of the report.

Nix · Vibe coding
TaskAdd team invites: an invite form, an API endpoint, and an invites table. Only admins can invite.
VS Code
Priya

The AI's draft forgot the admin check. She adds it, runs the tests and checks the invite in the browser and the database.

Claude Code
Daniel

Accepts everything and never looks at the data.

Same task. Same models. How they used the tool made the difference.

Round 3 · Vibe coding interview

A real feature, from database to button

Nix gives the candidate a real task and lets them use the AI coding tools and models you allow. The recording shows whether they review AI-written code, test it and check the data.

Nix · Follow-up
invites
1team      email
2
3
NixI clicked send twice. Why is there only one invite?Priya"There's a unique index on team and email, and the API returns the existing invite instead of making a new one."NixWhat does someone who isn't an admin see?Priya"A disabled button with a reason. And the API still rejects them, so the screen isn't the only check."

Round 4 · Follow-up interview

A follow-up on the running app

Nix opens the candidate's code next to the running app and the database, uses the app, and asks about specific lines and database choices. Candidates who shipped code they don't understand stand out quickly.

Whix · System design
Whix

Now scale invites to 50,000 teams sending in bulk.

50,000 teamsqueueemail workersemail provider
retry with backoff
pending
Whix

What happens when the email provider goes down?

Priya"Invites wait in the queue and retry with backoff. The app shows pending instead of failing."

Round 5 · System design interview

Designing the feature at scale

On a live whiteboard, Whix takes the candidate through the database, the queue, the email workers and what breaks.

Aria · Live interview
Aria

Tell me about a feature you shipped end to end.

Priya"Team invites. A React form, a Node API, and a Postgres table. The hard part was keeping invite links safe."
Aria

How did you keep them safe?

Priya"Signed tokens that expire in 48 hours, and each one works exactly once."

Round 1 · AI screening interview

The features they have shipped end to end

Aria starts with a real conversation about what they've actually shipped. Every claim is captured and scored against your rubric.

AI interviewer · Live coding
TaskWrite dedupeInvites. Keep the latest invite per email for each team, and drop the expired ones.
dedupeInvites
1function dedupeInvites(invites, now) {
2  const keep = new Map()
3  for (const i of invites) {
4    if (i.expiresAt < now) continue
5    const k = i.teamId + i.email, c = keep.get(k)
6    if (!c || i.sentAt > c.sentAt) keep.set(k, i)
7    else if (i.sentAt == c.sentAt && i.id > c.id)
8      keep.set(k, i)
AI interviewerOne test is failing. What if two invites have the same timestamp?Priya"Then I keep the one with the higher ID, so the result is always the same."

Round 2 · Live coding interview

A live coding interview with AI assist off

The candidate solves a problem in a shared coding pad while an AI interviewer asks about speed and edge cases in real time. Tests run in the console, and every edit and run is part of the report.

Nix · Vibe coding
TaskAdd team invites: an invite form, an API endpoint, and an invites table. Only admins can invite.
VS Code
Priya

The AI's draft forgot the admin check. She adds it, runs the tests and checks the invite in the browser and the database.

Claude Code
Daniel

Accepts everything and never looks at the data.

Same task. Same models. How they used the tool made the difference.

Round 3 · Vibe coding interview

A real feature, from database to button

Nix gives the candidate a real task and lets them use the AI coding tools and models you allow. The recording shows whether they review AI-written code, test it and check the data.

Nix · Follow-up
invites
1team      email
2
3
NixI clicked send twice. Why is there only one invite?Priya"There's a unique index on team and email, and the API returns the existing invite instead of making a new one."NixWhat does someone who isn't an admin see?Priya"A disabled button with a reason. And the API still rejects them, so the screen isn't the only check."

Round 4 · Follow-up interview

A follow-up on the running app

Nix opens the candidate's code next to the running app and the database, uses the app, and asks about specific lines and database choices. Candidates who shipped code they don't understand stand out quickly.

Whix · System design
Whix

Now scale invites to 50,000 teams sending in bulk.

50,000 teamsqueueemail workersemail provider
retry with backoff
pending
Whix

What happens when the email provider goes down?

Priya"Invites wait in the queue and retry with backoff. The app shows pending instead of failing."

Round 5 · System design interview

Designing the feature at scale

On a live whiteboard, Whix takes the candidate through the database, the queue, the email workers and what breaks.

Full stack developer skills to assess

Score every candidate on the same six skills, rated against evidence from the rounds.

  • Coding fundamentals
  • Frontend
  • API design
  • Database design
  • Reviewing AI code
  • System design
Scorecard · Full stack developerRisk: Low
Coding fundamentalsVery strong
FrontendStrong
API designVery strong
Database designVery strong
Reviewing AI codeVery strong
System designStrong
Criteria met6 of 6

Full stack developer interview questions

Use these full stack interview questions in your own loop, or let Hello Recruiter ask them, follow up on the answers and score them.

1

Tell me about a feature you shipped end to end.

2

How do you keep invite links safe?

3

Write dedupeInvites. Keep the latest invite per email for each team, and drop the expired ones.

4

One test is failing. What if two invites have the same timestamp?

5

Add team invites: an invite form, an API endpoint and an invites table. Only admins can invite.

5

I clicked send twice. Why is there only one invite?

5

What does someone who isn't an admin see?

5

Scale invites to 50,000 teams. What happens when the email provider goes down?

Integrity in every round

Bad Actor Detection flags pasted code, models outside the allowed list, second screens and voice mismatches, with timestamps.

Fundamentals first

Live coding runs with AI assist off. Vibe coding lets candidates use the tools and models you allow.

We evaluate. You decide.

Hello Recruiter evaluates and organizes the evidence. Your hiring team decides who moves forward.

Frequently asked questions

Still have a question?

See the loop on your own roles.

How do you hire and interview full stack developers?

By testing every layer: a live coding problem for fundamentals, a real feature that touches the UI, the API and the database, a follow-up where the interviewer uses the running app and asks about specific lines of code and database choices, and a system design round. Each round produces its own report.

What is a vibe coding interview?

A vibe coding interview is a technical interview where the candidate builds a real feature with the AI coding tools they already use, such as VS Code, Cursor or Claude Code, and is evaluated on how they direct, review and verify AI-written code, not only on whether the code runs. On Hello Recruiter, Nix runs these interviews and records every prompt, edit and test run.

How is live coding different from vibe coding?

Live coding tests fundamentals with AI help turned off: a shared coding pad, an AI interviewer asking questions while the candidate types, and tests that run in the console. Vibe coding tests how the candidate ships a real feature with AI tools allowed, within the models, tools and budget the recruiter sets.

How does Hello Recruiter detect cheating in technical interviews?

Every round is monitored for integrity signals such as code pasted from outside the workspace, calls to AI models outside the allowed list, answers read from a second screen, and a voice that doesn't match earlier rounds. Each signal is timestamped in the candidate's integrity report.

What does the recruiter get after each round?

A report for every round: an AI score out of 100, evaluation criteria marked Met, Not met or Not yet evaluated, skills rated Very strong, Strong, Weak or Very weak, a risk level, and any fraud signals with timestamps. Hello Recruiter evaluates; the hiring team decides.

More hiring guides

How to hire frontend developers

Test what users see: speed and accessibility.

Live codingVibe codingFollow-up

How to hire forward deployed engineers

Test discovery, the build and the deployment.

Discovery callVibe codingDeployment design

All hiring guides

Every role in the series

See all guides

Run this loop on your next full stack developer hire

Precision hiring, with the evidence behind every pick.