Skip to content

Taking hints and getting unstuck: name the piece, shrink the problem, and use a hint at once

Say which piece has you stuck and what you tried, shrink the problem until it runs, and turn a hint into your next step.

Predict first

Before you read: predict

Pair round on ExamHall's proctor client (ExamHall is invented). Fifteen minutes in, her reconnect loop brings one tab back after a dropped socket. The interviewer asks what happens when the proctor server restarts with 300 tabs open. For three minutes she has tried two delay formulas in her head, in silence, and neither stops the tabs reconnecting together.

Going by Meta's interview guide and Hello Interview's introduction (both read 2026-10-15), what does she do next?

Pick one

The 30-second version

When you are stuck, say so, name the piece, and say what you tried. Then make the problem smaller until something runs, and ask one question about that piece. A hint is part of the round, not a verdict on it: use it in your next step, and say what it changed.

Say which piece has you stuck and what you tried, shrink the problem until it runs, and turn a hint into your next step.

How it works

Step 1 of 12

Name the piece. Say which part has you stuck. Getting stuck on one piece and not moving forward is a failure S2 lists. [S2]
In the kitchen
  • “I'm stuck on the third throw; I tried higher, and faster” → the piece and what you tried (steps 1, 2)

Analogy: A juggling class, three balls and a coach

Maya has juggled two balls for a week. With three, the second and third balls meet in the air every time, and she keeps restarting in silence. Then she tells the coach: “I'm stuck on the third throw. I tried throwing higher, and faster.” She goes back to two balls in one hand to watch the timing. She asks one question: “Should the next ball go up when the last one peaks?” The coach says, “Watch the peak, not your hands.” She tries it on her next throw, and says: “So I wait for the peak; now they cross instead of meeting.”

In the juggling class In the pair round
“I'm stuck on the third throw; I tried higher, and faster” the piece and what you tried (steps 1, 2)
two balls in one hand a smaller problem first (steps 3–5)
“Should the next ball go up when the last one peaks?” one question about your piece (step 6)
“Watch the peak”, tried on the next throw a hint used at once (step 9)
“Now they cross instead of meeting” what the hint changed (step 10)

Breaks down when: a coach's job is to teach, so a hint is always on offer, while an interviewer is also scoring the round and may wait for you to ask. Wrong inference: "the interviewer will step in whenever I stall."

In real terms: at the first stall, one sentence: the piece, what you tried, the smaller thing you will get running, and your one question.

What the sources support, and what they don't. S1 is Meta's Software Engineer Full Loop Interview Guide; S2 is Hello Interview's "System Design in a Hurry" introduction; both read 2026-10-15 and valid as of 2026-10-15. S1's feedback line comes from its design-interview section, and S2's failure lists describe design rounds: applying them to a pair round is this lesson's reading. Neither says how long to stay stuck before speaking; steps 6 and 9 are this lesson's advice.

Picture it

on a cream page, a single straight line runs left to right. At its left end the line is knotted into a tangled scribble, held by a cyan-headed pin; a lime dot and a pale strip sit just after the tangle, where the line runs straight again, and a lavender stone near the right end has two short marks on it.
An illustration to help it stick. The mechanism is in the sections above.

Try it

Answer first, then check. Nothing is saved.

Question 1 of 8

Pair round at a streaming company: mostWatched(views) returns the title viewed most often in a list of view events. Her version counts each title by scanning the whole list again, and she has said she is stuck on making it faster. The interviewer says: “What if you kept a running count per title as you go?” She takes it at once.

Going by Meta's guide (read 2026-10-15), which line does she say as she switches?

Pick one

Question 2 of 8

Pair round at a streaming company. watchedMinutes(sessions) returns how many minutes a viewer watched; sessions are [start, end) minute pairs and may overlap. Her version:

It passes the interviewer's first example but not the second, and after four minutes she cannot see why. She tells the interviewer she is stuck and gives the smallest input she has found where it goes wrong.

Which statement is true of the code above?

Code for this question
// minutes.mjsexport function watchedMinutes(sessions) {  if (sessions.length === 0) return 0;  const s = [...sessions].sort((a, b) => a[0] - b[0]);  let total = 0;  let [start, end] = s[0];  for (const [a, b] of s.slice(1)) {    if (a <= end) end = b;    else { total += end - start; [start, end] = [a, b]; }  }  return total + end - start;}
Pick one

Question 3 of 8

Minute 20 of a 45-minute round at a streaming company. nextEpisode(history, catalogue) must skip finished episodes, keep to the viewer's audio language, and prefer the series she watched last. For eight minutes she has grown one loop that handles all three rules at once; it now carries five flags, four of them for the series she watched last, and still fails the interviewer's example.

Going by Meta's guide and Hello Interview's introduction (both read 2026-10-15), what does she do?

Pick one

Question 4 of 8

hasRewatch(titles) returns whether any title appears twice in a viewer's history. Her version:

The interviewer asks: “What if the list were sorted?” Once a list is sorted, equal titles sit next to each other. She changes her loop to use that, and says what it changed for the interviewer's example, a sorted list of 12 titles with no title twice.

Counting each comparison of two titles, which line does she say?

Code for this question
// rewatch.mjsexport function hasRewatch(titles) {  for (let i = 0; i < titles.length; i++)    for (let j = i + 1; j < titles.length; j++)      if (titles[i] === titles[j]) return true;  return false;}
Pick one

Question 5 of 8

peakViewers(sessions) returns the most viewers watching in any one minute, sessions being [start, end) whole-minute pairs; write it the plain way, minute by minute. firstDifference(fast) compares a faster fast(sessions) with your peakViewers on every list of up to two sessions with minutes 0 to 3, and returns the first list where they differ, or null.

In 15 minutes, from a blank file kata.mjs, write and export both functions.

Question 6 of 8

A friend who builds video-streaming apps has her first pair round next week.

She says: “If I take a hint, I've failed that round, so I'll go quiet and grind it out.” In three to five sentences, write what you tell her.

Question 7 of 8

Ticketing pair round. pickSeats(taken, k) returns the lowest-numbered k side-by-side free seats in a row of seats 1 to 10, never across the aisle between seats 5 and 6, or null when there are none. Stuck on the aisle, she says so and proposes leaving the aisle out for now; the interviewer agrees. Her version:

The interviewer's six tests: T1 taken none, 2 seats → 1–2; T2 taken 1–3, 3 seats → 6–8; T3 taken 2, 3 seats → 3–5; T4 taken 1–4 and 6, 2 seats → 7–8; T5 taken 1–3, 9 and 10, 4 seats → none; T6 taken 1–5, 5 seats → 6–10.

Which tests does her version still fail?

Code for this question
// seats.mjsexport function pickSeats(taken, k) {  let run = [];  for (let seat = 1; seat <= 10; seat++) {    if (taken.includes(seat)) { run = []; continue; }    run.push(seat);    if (run.length === k) return run;  }  return null;}
Pick one

Question 8 of 8

Payments-ledger pair round: reconcile(events) reads payments and refunds in arrival order and matches each refund to its payment by id, using a Map of the payments seen so far. One of the interviewer's tests fails: a refund arrives before its payment, and her code reports it as unmatched. She tried sorting the events by amount first, and the test still fails. She has been quiet for two minutes.

The interviewer asks: “Would a hint help?” Going by Meta's guide and Hello Interview's introduction (both read 2026-10-15), what does she answer?

Pick one

Go deeper

Pro tip

Before your next mock round, write the one stuck sentence you will use on a sticky note: “I'm stuck on ___. I tried ___, which breaks when ___. Can I get ___ running first?” Read it aloud the first time you have been silent for a minute.

Checked against the tools and docs as of 2026-10-15.