Sample report

Sample data for a fictional student, from a scripted interview. The report was written by the same pipeline that writes yours.

Behavioral interview

Software Engineering, regular level, four stories, Oct 20, 2026

Hire

If you read nothing else

At the Regular bar in this interview.

  • Strength: Quantified impact: zero short nights in 42 runs versus about eight, and alerts from about 40 a day to about 6.

    Zero short nights in the six weeks I was still there. That's forty-two nightly runs.Your words, 7:57
  • Strength: You corrected your own inconsistent number ('one in six' versus 8 in 42) and stood behind the measured figure.

    I don't have the exact number. It felt a lot faster.Your words, 22:39
  • Gap: Rebuild the disagreement story with specifics.

    we had a disagreement about, like, caching ... I didn't think we needed it yetYour words, 19:13

One moment from your delivery

You hesitated

When asked “Earlier you said about one night in six. Eight short nights in...” (Q1), you hesitated: you took 5.6 s to start (your usual 3.0 s); a 3.2 s pause mid-answer; 2 restarted sentences.

  • Time to start 5.6 s vs your usual 3.0 s
  • Longest pause 3.2 s
  • Restarted sentences 2
Um, you're right, those don't match.Your words, 8:30

Try: Start with a one-line headline ('My approach is X because Y') and think aloud from there instead of in silence.

Your next task, 15 min

Rebuild the disagreement story with specifics

Record yourself answering the caching disagreement in 90 seconds: Marco's position, your position, what you did, the result with a number, and what you'd change. Listen back once and cut every 'we'.

What happened

You answered all four questions with real stories: the Brightwater import race, the unowned alert channel, the Redis disagreement in your capstone, and Priya's 'all solution, no problem' feedback. The debugging and alert stories landed with specific numbers and staged rollouts; the disagreement story stayed vague, with no real exploration of your teammate's reasoning and no before/after figure. Main takeaway: your work stories are strong, your conflict story needs the same detail and a concrete lesson.

At the bar

Your debugging, ownership and feedback stories already sit at the new-grad bar with real numbers and honest reflection; the disagreement story is below it because you never engaged with your teammate's reasoning or the result.

You answered all 4 planned questions.

After that

More ways to practice, in order of impact.

  1. 1

    Put a number on every result: Take three stories you tell often and add one number to each result: before and after, a count, or a percentage. 15 minutes; where you have no number, write what you would measure next time.

  2. 2

    Turn lessons into changed behaviour: For one lesson, write the next concrete action you took: what you said or did differently in the following week. 10 minutes; if nothing changed yet, say that honestly and name the trigger you would use.

Scorecard

Each skill from the rubric, scored 1 to 5, with the moments it was based on.

  • In the first two stories you separated your work from your lead's cleanly and with detail; do the same in every story. When you notice yourself saying 'we', stop and say what your hands did.

    The lock became a heartbeat: the worker renews it every thirty secondsYour words, 7:05
    we set it up together, kind of. Marco did the Redis partYour words, 21:37

    What good looks like: Keep the precision from your import story but apply it to conflict: name exactly what you said, what you changed in the API, and what you reviewed, instead of 'we set it up together'.

    To reach 5: concrete, clear personal contribution with numbers.

    Re-tell the caching story listing your own actions in order, one per sentence, no 'we' until your part is fully stated.

  • Your technical stories have tight context, action, result and a lesson. Give the disagreement story the same skeleton: the decision, both positions, what you did, the outcome with a number, what you changed.

    The team runs a nightly import: vendors drop files, around forty files a nightYour words, 2:15
    on eight of the last forty-two nights, the vendor import silently lost between two and four percent of rowsYour words, 27:05

    What good looks like: Your first story had symptom, narrowing, root cause, fix and result. The next anchor is that shape every time, including conflict: each side's position, what it rested on, the decision, the outcome and the lesson.

    To reach 5: tight context, action, result and what they learned.

    Write the caching story in five labelled lines: situation, your position, Marco's position, decision, then result and lesson.

  • You have great numbers when you measured them; go find the ones you did not. For the caching page, ask Marco for the measurement and quote it next time.

    Zero short nights in the six weeks I was still there. That's forty-two nightly runs.Your words, 7:57
    I don't have the exact number. It felt a lot faster.Your words, 22:39

    What good looks like: The alert-reduction and short-night numbers are at the bar. Up one level means the same for the caching work: a before and after latency figure you looked at yourself and can explain.

    To reach 5: measurable outcome and why it mattered.

    Before the next session, find one real latency or response-time number from your capstone and practise stating it in one sentence.

  • You are honest about mistakes and showed one real behavior change with evidence. Close the loop on the second piece of feedback: name one design discussion where you pushed back with data, or say what you will do next.

    Now when something is intermittent, I instrument first and guess second.Your words, 12:16
    I agree with it, but I don't think I've really changed that yet.Your words, 29:34

    What good looks like: You corrected your own one-in-six figure unprompted and named a change you made. Up one level: the same honesty about the disagreement, plus one concrete thing you did differently with Marco afterwards.

    To reach 5: honest about mistakes and shows changed behavior.

    Turn 'communicate better' into one specific behaviour, such as asking Marco's reasoning before replying, and say when you last did it.

  • You bring people along well when you prepare a proposal, but in the disagreement you dismissed a teammate without looking at Marco's evidence. Next time, ask for the data first and take the conversation out of the group chat.

    I didn't really. We argued about it in the group chat for a whileYour words, 20:41
    she asked me to write the explanation for the account managers, in plain language, no lock or heartbeatYour words, 11:28

    What good looks like: Your staged rollout plan and plain-language write-up show you can bring people along. Up one level means the same in a disagreement: restate the other side's argument fairly, ask about the data behind it, and describe a decision you both accepted.

    To reach 5: handles disagreement constructively, brings people along.

    Prepare one conflict story where you can state the other person's position in two sentences and say what you asked them.

Also went well

  • The debugging story: reproduced the race deliberately in staging, three of three runs, and separated your work from Priya's honestly.

Also to improve

  • The disagreement story: you could not state Marco's position, gave no number, and the lesson stayed at 'communicate better'.
  • Follow-through: the routing PR was left open with no owner, and the push-back feedback from your final review is still unacted on.
  • Initiative without warning: your own ticket slipped three days because you did not tell Priya in advance.

Red flags

  • Dismissing a teammate's proposal as 'premature optimization' without looking at the evidence behind it, and never revisiting it afterwards.
  • Leaving work in an open pull request at the end of an internship instead of handing it to a named person.

Question by question

Open a question to see which key points you covered, in your own words, and what a stronger answer sounds like.

  1. Your answer: You described the Brightwater nightly import silently losing two to four percent of rows about one night in five: you diffed row counts per vendor file, added logging, caught two workers on the same file, reproduced the race in staging, and shipped a heartbeat lock plus an upsert behind a per-vendor flag.

    Key points

    • Compared good and bad nights, then instrumented (Covered)

      the first thing I did was get a good night and a bad night side by sideYour words, 3:19
    • Reproduced the race deliberately to confirm the cause (Covered)

      I tried to reproduce it on purpose ... I ran it three times and it happened every timeYour words, 5:09
    • Fixed the cause and wrote up the root cause (Covered)

      The lock became a heartbeat: the worker renews it every thirty secondsYour words, 7:05

    Follow-up questions

    • How you confirmed the cause rather than one bad night Handled wellYou described a synthetic large file plus an injected delay, three runs out of three.
    • Reconciling 'one in six' with eight short nights in forty-two Handled wellYou corrected yourself and stood behind the measured eight in forty-two.
    • Which parts were yours and which were your lead's Handled wellYou separated your investigation and heartbeat design from Priya's push for two layers.

    A stronger answer

    At Brightwater the nightly vendor import finished green but the dashboards came out two to four percent low, about one night in five. I started by putting a good night and a bad night side by side and diffing row counts per vendor file, which showed the missing rows were always from the two biggest vendors. Then I added logging around the batch writer and waited four nights until two workers picked up the same file six minutes apart. The cause was a five-minute stale lock: the big files took longer than that, so a second worker took the lock and its delete-then-insert wiped rows the first worker had written. I confirmed it by reproducing the race in staging with a large synthetic file and an injected delay, three times out of three. The fix was a heartbeat lock renewed every thirty seconds plus an upsert keyed by the vendor row id, rolled out per vendor behind a flag, and we had zero short nights in the forty-two runs before I left. Next time I'd instrument on day one instead of spending two days on a checksum theory.

    Common mistakes on this question

    • Spending days on a plausible theory before adding any instrumentation.
    • Presenting a fix without evidence that it removes the cause, not just the symptom.
  2. Your answer: You took over an unowned data quality alert channel at Brightwater: you grouped two weeks of alerts, found three checks causing most of the noise, proposed fixes to the owners, and cut alerts from about forty a day to about six, at the cost of three days on your own ticket.

    Key points

    • Stepped in on something nobody owned (Covered)

      Nobody owned the channel, it was just there ... I started looking at itYour words, 12:54
    • Clear, bounded scope in a one-page proposal (Covered)

      I wrote a one page proposal: fix the thresholds on those three, add a weekend rule, and route the rest by ownerYour words, 14:15
    • Measured outcome: forty alerts a day down to six (Covered)

      it went from about forty a day to about six a day, averaged over the next three weeksYour words, 15:14
    • Named the cost to your own work only when asked (Partly)

      My own ticket, the lock fix, slipped by about three days ... She was fine with the alerts work but not with hearing about it in standupYour words, 16:26

      Say the trade-off out loud before you spend the time: tell your lead what will slip and get a yes, instead of explaining the slip in standup.

    Follow-up questions

    • What the side project cost your regular work Partly handledThe three-day slip and the missing heads-up came out only after the question.
    • Whether check owners pushed back Handled wellYou described the weekday-morning compromise and credited it to the owner.
    • Whether the routing work actually landed Handled wellYou were honest that one pull request was still open when you left.

    A stronger answer

    In my fourth week at Brightwater I noticed the data quality alert channel got about forty alerts a day and everyone had muted it, so real alerts were getting lost. I exported two weeks of alerts, about five hundred and sixty, grouped them by check, and found three checks caused about eighty percent of the noise. I wrote a one page proposal to fix those thresholds, add a weekend rule and route the rest by owner, and showed it to my lead before touching anyone else's checks. After the changes it went from about forty a day to about six, and a missing vendor file was caught the same morning instead of two days later. It cost me about three days and my own lock ticket slipped by three days. What I'd do differently is tell my lead before I start and time-box it to two days, rather than explaining the slip in standup.

    Common mistakes on this question

    • Taking on side work without telling your lead, so your own ticket slips silently.
    • Reporting effort and activity instead of a before-and-after number.
  3. Your answer: You described a capstone disagreement with Marco about adding Redis: you argued it was premature, the discussion ran long in the group chat, and the team ended up caching one page. You could not state Marco's reasoning, did not look at the measurement, and your own part was mainly a review.

    Stayed general

    No concrete number.

    I don't have the exact number. It felt a lot faster.Your words, 22:39

    Try: Get the before-and-after page timing from Marco's measurement and quote it, even roughly.

    Key points

    • A concrete disagreement about caching the catalog (Covered)

      we had a disagreement about, like, caching ... I didn't think we needed it yetYour words, 19:13
    • Argued a principle instead of evidence (Missed)

      Ask what the other person has actually seen, then settle it with a measurement rather than a slogan like premature optimization.

    • A resolution happened, but you didn't drive it (Partly)

      we kind of agreed to try it on one page and seeYour words, 20:41

      Say who proposed the compromise and what you did to move the decision forward, so the resolution is visibly yours.

    • Relationship still fine afterwards (Covered)

      Fine, I think. We still work together on the project.Your words, 24:23
    • Honest about dismissing Marco's view (Covered)

      I dismissed it without looking ... didn't ask what he'd seenYour words, 23:49

    Follow-up questions

    • What you did to understand Marco's point of view Not handledYou said you didn't really, and that it was argued in the group chat.
    • What your specific part was Partly handledYour part came out as reviewing plus a small API change, after two answers in 'we'.
    • How much faster it got, with numbers Not handledYou had no number and hadn't looked at Marco's measurement.
    • What 'communicate better' would look like concretely Partly handledYou got to talking instead of the group chat and asking why earlier, then stopped.

    A stronger answer

    In my capstone my teammate Marco wanted to put Redis in front of everything from the start, and I thought that was premature because we had no users yet. Instead of arguing the principle in the group chat, I'd ask Marco which page was expected to be slow and how many sections it loads. Then I'd agree a cheap test — cache the catalog page only, measure it before and after, and decide from the numbers. I'd still say I don't want Redis everywhere until something is actually slow, but I'd say it once, with the measurement in front of us. On the work itself I'd take a real share rather than just reviewing: I changed the catalog endpoint to return the whole list at once, and I'd own the before-and-after timing so I could speak to the result. Afterwards I'd check in with Marco so the disagreement ended as a decision, not a thread.

    Common mistakes on this question

    • Arguing a principle like 'premature optimization' instead of asking what the other person observed.
    • Telling the story in 'we' so your own contribution and decisions disappear.
  4. Your answer: You described Priya's comment 'all solution, no problem' on your first design doc: you were defensive at first, then rewrote it problem first and it was approved in one meeting. You now start every doc with a problem paragraph.

    Key points

    • Specific, real feedback on a design doc (Covered)

      came back from Priya with one comment at the top: all solution, no problemYour words, 24:53
    • Defensive at first, then acted on it (Partly)

      I was a bit defensive, to be honest ... And she said, nobody reads the ticketYour words, 25:44

      Show the moment you moved from defending the draft to acting on the comment, and what convinced you.

    • A lasting change: problem paragraph first (Covered)

      Now every doc I write starts with a problem paragraph: what broke, how often, and what it costsYour words, 27:46

    Follow-up questions

    • What you actually did with the comment Handled wellYou described the rewrite: timeline, rows, client impact, then the fix and what you rejected.
    • How you know the change made a difference Partly handledYou offered a grade and one approval, then said you don't have a clean way to measure it.
    • Feedback you agreed with but didn't act on Handled wellYou named Priya's note about pushing back more and admitted you haven't changed it yet.

    A stronger answer

    My first design doc for the lock change came back from Priya with one comment at the top: all solution, no problem. I had three pages on the heartbeat and one line on why it mattered. My first reaction was defensive — I thought the fix was the interesting part — but Priya was right that nobody reads the ticket. I rewrote it problem first: on eight of the last forty-two nights the import silently lost two to four percent of rows from the two largest vendors, two client reports used those numbers, and the cause was a lock expiring mid-load. That version was approved in one meeting instead of two. Since then every doc I write starts with a problem paragraph — what broke, how often, what it costs — including my capstone report and the alerts proposal. The part I haven't acted on yet is Priya's other note, to push back more when a senior engineer disagrees.

    Common mistakes on this question

    • Saying the feedback was useful without naming the specific behavior that changed.
    • Claiming impact you can't evidence instead of saying plainly how you'd measure it.

Each story split into what you did and what the team did, what was missing, and the one to rework first.

Your strongest story

Story 4

The first draft needed two review meetings and still had open questions. The rewrite was approved in one.Your words, 26:30

5 of 5 story parts in your own words, no number, 97% 'I' versus 'we'

The story to rework first

Story 3

We ended up caching the course catalog page, and it got a lot faster, so I think everyone was happy with that.Your words, 22:23

5 of 5 story parts in your own words, no number, 61% 'I' versus 'we'

1Tell me about the hardest technical problem you debugged or solved. Walk me through how you approached it.

Story outline, situation to lesson
Ssituationthe import finished green, no errors, but the dashboard numbers came out a few percent low
TtaskThe engineer who had been looking at it was moving to another team, so my lead asked me to own it in my third week.
AactionIn staging I made a synthetic vendor file about the size of the biggest real one ... I ran it three times and it happened every time.
RresultZero short nights in the six weeks I was still there. That's forty-two nightly runs.
LlessonNow when something is intermittent, I instrument first and guess second.

Follow-ups on this story

  • How you confirmed the cause rather than one bad night You described a synthetic large file plus an injected delay, three runs out of three.
  • Reconciling 'one in six' with eight short nights in forty-two You corrected yourself and stood behind the measured eight in forty-two.
  • Which parts were yours and which were your lead's You separated your investigation and heartbeat design from Priya's push for two layers.

2Tell me about a time you took ownership of something that was not strictly your job.

Story outline, situation to lesson
Ssituationit was getting around forty alerts a day, and nobody read it. People had muted it.
TtaskI asked two engineers if anyone was fixing it, and both said, yeah, someone should. So it was clearly nobody's.
AactionI exported two weeks of alerts, about five hundred and sixty, into a spreadsheet, and grouped them by the check that fired.
RresultAfter the changes it went from about forty a day to about six a day, averaged over the next three weeks.
LlessonI'd tell my lead before I start, not after, and I'd give it a time box, like two days

Follow-ups on this story

  • What the side project cost your regular work The three-day slip and the missing heads-up came out only after the question.
  • Whether check owners pushed back You described the weekday-morning compromise and credited it to the owner.
  • Whether the routing work actually landed You were honest that one pull request was still open when you left.

3Tell me about a time you disagreed with a teammate or stakeholder about a technical decision. What happened?

Story outline, situation to lesson
Ssituationin my capstone, the course-planning app, there are four of us, and, uh, we had a disagreement about, like, caching
TtaskThat it was too early. Like, we didn't have users yet, so I thought it was, um, premature.
AactionReviewing it, mainly. And I changed the API so the catalog endpoint returned the whole list at once, which made it easier to cache.
RresultWe ended up caching the course catalog page, and it got a lot faster, so I think everyone was happy with that.
Llessonprobably talking instead of the group chat. And, yeah, maybe asking him why earlier.

Follow-ups on this story

  • What you did to understand Marco's point of view You said you didn't really, and that it was argued in the group chat.
  • What your specific part was Your part came out as reviewing plus a small API change, after two answers in 'we'.
  • How much faster it got, with numbers You had no number and hadn't looked at Marco's measurement.
  • What 'communicate better' would look like concretely You got to talking instead of the group chat and asking why earlier, then stopped.

4Tell me about the most useful critical feedback you have received at work. What did you do with it?

Story outline, situation to lesson
Ssituationmy first design doc for the lock change came back from Priya with one comment at the top: all solution, no problem
TtaskI rewrote it with the problem first. A short timeline of the incidents, eight short nights in six weeks
Aactionon eight of the last forty-two nights, the vendor import silently lost between two and four percent of rows from the two largest vendors
RresultThe first draft needed two review meetings and still had open questions. The rewrite was approved in one.
LlessonNow every doc I write starts with a problem paragraph: what broke, how often, and what it costs.

Follow-ups on this story

  • What you actually did with the comment You described the rewrite: timeline, rows, client impact, then the fix and what you rejected.
  • How you know the change made a difference You offered a grade and one approval, then said you don't have a clean way to measure it.
  • Feedback you agreed with but didn't act on You named Priya's note about pushing back more and admitted you haven't changed it yet.

Coaching

The few changes that matter most, with a way to practice each one.

  1. 1Collaboration and communication

    Rebuild the disagreement story with specifics

    This was the thinnest of your four answers: you could not state Marco's position and the compromise came from someone else, so there was little evidence of how you actually handle disagreement.

    How to practice: Write the caching story in four lines: Marco's position in one sentence, yours in one, what you did to test it, what changed. Say it aloud twice in 15 minutes without saying 'we'.

  2. 2Impact and results

    Put a number on every result

    Your import story had strong numbers, but the caching outcome stopped at 'it felt a lot faster' and you never looked at the measurement.

    I don't have the exact number. It felt a lot faster. Marco measured it, I think.Your words, 22:39

    How to practice: Take three stories you tell often and add one number to each result: before and after, a count, or a percentage. 15 minutes; where you have no number, write what you would measure next time.

  3. 3Self-awareness and learning

    Turn lessons into changed behaviour

    Your takeaway from the caching conflict stayed at 'communicate better', which does not show what you would actually do differently.

    How to practice: For one lesson, write the next concrete action you took: what you said or did differently in the following week. 10 minutes; if nothing changed yet, say that honestly and name the trigger you would use.

  • Um, that it would be slow? I think he said the catalog page was going to be slow because it, uh, loads all the sections.Your words, 20:05

    Marco's position was that the catalog page loads all the sections, so it would be slow for users and caching would fix it. I disagreed, but I should be able to state Marco's case in one sentence.

    Naming Marco's argument precisely shows you listened, even when you disagree.

  • Yeah, I'd probably communicate better. I think, I mean, it just took longer than it needed to.Your words, 23:00

    Next time I'd ask Marco what the page looked like before pushing back. We cached one page and it got faster, so Marco's read was right there, and asking first would have got us there sooner.

    A concrete next action is more convincing than 'communicate better'.

  1. Day 1Write the caching story in four lines and record it once.15 min
  2. Day 2Rest, or jot down what Marco's actual argument was.5 min
  3. Day 3Add one number to the result of each of your three main stories.15 min
  4. Day 4Rest.5 min
  5. Day 5Practise the 'I don't remember exactly, but...' script out loud twice.10 min
  6. Day 6Answer 'tell me about a disagreement' in 90 seconds with no 'we'.15 min
  7. Day 7Rest and skim your notes before the next mock interview.5 min

Pace, pauses, fillers and pitch, measured from your voice. Signals, not judgments.

Moments worth a look

  • You hesitated

    When asked “Earlier you said about one night in six. Eight short nights in...” (Q1), you hesitated: you took 5.6 s to start (your usual 3.0 s); a 3.2 s pause mid-answer; 2 restarted sentences.

    • Time to start 5.6 s vs your usual 3.0 s
    • Longest pause 3.2 s
    • Restarted sentences 2
    Um, you're right, those don't match.Your words, 8:30

    Try: Start with a one-line headline ('My approach is X because Y') and think aloud from there instead of in silence.

  • Your delivery got bumpy and you sped up

    When asked “Tell me about a time you disagreed with a teammate about how...” (Q3), your delivery got bumpy and you sped up: 19 fillers per minute (your usual 2): 'um' (2), 'I mean' (1), 'hmm' (1); you sped up to 184 words per minute (your usual 148); 2 restarted sentences.

    • Fillers per minute 18.7 vs your usual 1.6 (“um”, “I mean”, “hmm”)
    • Words per minute 184 vs your usual 148
    • Restarted sentences 2
    Um, so in my capstone, the course-planning app, there are four of us, and, uh, we had aYour words, 19:13

    Try: Swap fillers for a short silent pause; say this answer once more out loud and listen for them.

  • You hesitated and used hedging phrases

    When asked “How do you know it worked? What tells you the change made...” (Q4), you hesitated and used hedging phrases: you took 6.9 s to start (your usual 3.0 s); a 3.4 s pause mid-answer; 3 hedges such as 'I guess'.

    • Time to start 6.9 s vs your usual 3.0 s
    • Longest pause 3.4 s
    • Hedging 3 (“I guess”, “I'm not sure”, “maybe”)
    But I'm not sure that's because of the structure.Your words, 28:14

    Try: Start with a one-line headline ('My approach is X because Y') and think aloud from there instead of in silence.

Voice signals

Measured in 49 of 51 answers with audio.

  • Your pitch went up at 18 of 319 measured phrase endings.

2 of 51 answers did not have enough clear audio to measure (background noise).

When a detail slips, say what you do remember and what you would check, rather than trailing off; you had six of these moments.

Pace, pauses and fillers

Measured across 53 answers: average speaking rate 146 wpm, 2.1 fillers per speaking minute, average time to start answering 3.2 s, longest mid-answer pause 3.4 s.

Pace
146words/min
Fillers
2.1per min
Longest pause
3.4s
Time to first word
3.2s
Average before you started answering
Speaking time
84%
Share of answer time spent speaking
Hedges
35
Phrases like "I think" or "maybe"

Answer by answer

Pause Strong Hesitation Rushing Trailing off Rambling

The answers with a marked moment. Notes on single answers use typical speaking ranges.

Question 1

  • 0s40s
    Length
    40s
    Pace
    126
    To first word
    5.6s
    Fillers
    2
    Hedges
    1
    Pauses
    1
    • Hesitation (0s to 16s): Start came after 5.6 s, with 2 fillers and 1 hedge phrase in the answer.

Question 3

  • 0s17s
    Length
    17s
    Pace
    195
    To first word
    2.9s
    Fillers
    2
    Hedges
    1
    Pauses
    0
    • Rushing (0s to 17s): Rate was 195 wpm with no pauses over 1.5 s.
  • 0s26s
    Length
    26s
    Pace
    120
    To first word
    5.8s
    Fillers
    2
    Hedges
    2
    Pauses
    1
    • Hesitation (0s to 16s): Start came after 5.8 s, with 2 fillers and 2 hedge phrases in the answer.
    • Trailing off (20s to 26s): Voice level over the last 6 s was about 8 dB lower than earlier in the answer.
  • 0s15s
    Length
    15s
    Pace
    136
    To first word
    3.7s
    Fillers
    0
    Hedges
    1
    Pauses
    0
    • Trailing off (12s to 15s): Voice level over the last 3 s was about 8 dB lower than earlier in the answer.
  • 0s22s
    Length
    22s
    Pace
    118
    To first word
    6.1s
    Fillers
    1
    Hedges
    3
    Pauses
    1
    • Hesitation (0s to 16s): Start came after 6.1 s, with 1 filler and 3 hedge phrases in the answer.
  • 0s27s
    Length
    27s
    Pace
    123
    To first word
    7.2s
    Fillers
    1
    Hedges
    3
    Pauses
    1
    • Hesitation (0s to 17s): Start came after 7.2 s, with 1 filler and 3 hedge phrases in the answer.
    • Trailing off (21s to 27s): Voice level over the last 6 s was about 7 dB lower than earlier in the answer.
  • 26 steady stretches noted.
  • 5 hesitation episodes noted.
  • 1 fast stretch noted.
  • 5 trailing-off endings noted.

Speech clarity

Optional coaching. It is separate from your interview scores and never changes them.

Illustrative example

  • Clarity

    Going well

    Your words came through clearly in the answers we checked.

  • Pacing

    Mostly there

    Your pace was mostly steady, with a few uneven stretches.

  • Rhythm and stress

    Mostly there

    Your rhythm was mostly natural. A little more emphasis on key words would help.

Words worth a second look

  • "latency" was less clear in 2 of your answers. Say it slowly on its own, then inside a sentence.

If you want to grow this

  • In each point, lean on the one word that matters most (the number, the decision, the trade-off).

Practise these in the Speaking lab.

These are estimates from a speech service. They are less steady on free speech than on read sentences, and background noise can move them. Use them as a hint, not a verdict. Based on 4 of your answers.

What Alex wrote down while listening.

  1. ClaimQuestion 13:19

    Narrowed it by diffing row counts per file, then logging: two workers on one big file.

  2. ClaimQuestion 14:18

    Five-minute stale lock plus delete-then-insert wiped rows written by the first worker.

  3. ClaimQuestion 15:09

    Reproduced the race in staging with a large synthetic file and an injected delay, 3 of 3 runs.

  4. ClaimQuestion 16:12

    Two days on a checksum theory; a longer timeout was rejected in review.

  5. ClaimQuestion 18:30

    Asked to reconcile 'one in six' with 8 of 42; settled on the measured 8 of 42.

  6. ClaimQuestion 19:20

    Separated own work from the lead's: lead proposed two layers of protection.

  7. GapQuestion 216:26

    Own ticket slipped three days without telling the lead in advance.

  8. GapQuestion 217:42

    Routing for other teams left in an open pull request at the end of the internship.

  9. GapQuestion 320:05

    Could not state the teammate's position clearly.

  10. GapQuestion 320:41

    Did not seek the teammate's reasons; argued in chat, then tried it on one page.

  11. GapQuestion 321:37

    Answered in 'we'; own part turned out to be a review and a small API change.

  12. GapQuestion 322:39

    Outcome without numbers: 'a lot faster', did not see the measurement.

  13. GapQuestion 323:00

    Lesson stays generic: 'communicate better'.

  14. GapQuestion 428:14

    No clear evidence the feedback changed outcomes beyond a grade and one approval.

  15. GapQuestion 429:34

    Feedback to push back in design discussions not yet acted on, by own account.

  16. GapQuestion 430:26

    Still had not looked at the teammate's measurement.

Three more notes.

More next steps

  • Ownership: Say the trade-off out loud before you spend the time: tell your lead what will slip and get a yes, instead of explaining the slip in standup.
  • Conflict: Ask what the other person has actually seen, then settle it with a measurement rather than a slogan like premature optimization.
  • When a detail slips, say what you do remember and what you would check, rather than trailing off; you had six of these moments.

105 turns, word for word.

  1. Alex0:02

    Hi, I'm Alex. This is the behavioral round, about thirty minutes. I'll ask about four situations you've actually been in, and for each one I'll dig into the details: what you did yourself, what happened, numbers where you have them. Real examples work better than what you would do in theory. I may cut in to move us along, that's just about time. At the end there's time for your questions. Before we start, what are you working on these days?

  2. You0:33

    Um, hi. So I'm in my last year at Lakeview State, computer science. Right now, um, most of my time goes into the capstone, you know, which is a course-planning app for students, and I'm also a TA for the intro data structures class, which is, uh, mostly grading linked lists at midnight. And last summer I interned at a company called Brightwater Analytics, on their data platform team.

  3. Alex1:01

    Okay. What does the TA job involve, day to day? How many students, and what part do you run yourself?

  4. You1:08

    I run one lab section a week, about thirty students, and I hold office hours on Thursdays. Honestly the office hours are the part I like, because you see exactly where people get stuck. Usually it's pointers, or recursion, or both at once.

  5. Alex1:28

    And the capstone. It's a team of students, so I'm curious about the split. What's your part in it, and what do the others own?

  6. You1:37

    I do most of the backend, the API and the database, and the part that checks whether a schedule is valid, prerequisites, time clashes, that kind of thing. There are four of us, two mostly on the frontend. We demo it to the department in December, so, um, it's getting real now.

  7. Alex2:01

    Thanks. Let's start. The first one is technical, and I'm interested in how you worked, not only the answer. Tell me about the hardest technical problem you debugged or solved. Walk me through how you approached it.

  8. You2:15

    Okay, so, the hardest one was at Brightwater. The team runs a nightly import: vendors drop files, around forty files a night, and a set of workers loads them into Postgres, and then the dashboards for the account managers read from those tables. The problem was that about one night in five, actually, it was closer to one in six when I counted later, the import finished green, no errors, but the dashboard numbers came out a few percent low. Like two to four percent of rows missing. And nobody could reproduce it in staging. The engineer who had been looking at it was moving to another team, so my lead asked me to own it in my third week.

  9. Alex3:09

    Okay. You had a symptom that showed up one night in several and never in staging. Where did you start, and how did you narrow it down?

  10. You3:19

    So the first thing I did was get a good night and a bad night side by side. I wrote a small script that compared row counts per vendor file between the source file and what ended up in the table. And on the bad nights the missing rows were always from the two biggest vendors, never the small ones. That told me it wasn't random. Then I added logging around the batch writer, which worker picked up which file and when, and waited for the next bad night. It took four days. And on that night two workers had picked up the same big file, about six minutes apart.

  11. Alex4:09

    Mm-hm. Two workers on the same file. The import had a lock, I assume. Why would two workers pick up the same file anyway?

  12. You4:18

    Our lock was a row in Postgres with a timestamp, and a worker treated the lock as stale after five minutes. The big files took longer than five minutes to load, so a second worker thought the first one had died, took the lock, and started the same file. And the load did delete-then-insert for the file's date range, so the second worker's delete removed rows the first worker had already written. Then the first one kept going, but with a gap. It only happened when the file was big enough, which is why staging, with small sample files, never showed it.

  13. Alex5:03

    How did you confirm that was the cause, and not just something that happened that night?

  14. You5:09

    Um, good question, because at first I only had the one night. So I tried to reproduce it on purpose. In staging I made a synthetic vendor file about the size of the biggest real one, and I added a sleep in the writer so the load took seven minutes instead of four. Then I started two workers. And the second one took the lock at the five minute mark and the table came out short, by roughly the rows the first one had written in its last batch. I ran it three times and it happened every time. With the sleep removed, it never happened. So that was the point where I was confident.

  15. Alex6:02

    Mm-hm. Before the fix, there were probably some wrong turns. What did you try that did not work, and how long did each one cost you?

  16. You6:12

    Uh, quite a lot, honestly. My first guess was that the vendors sent partial files, so I spent about two days adding checksum checks against the manifest they send. They all passed, which was annoying, but it ruled it out. Then, after I found the double pickup, my first fix was just raising the stale timeout to thirty minutes. And my lead, Priya, pointed out in the review that it only moves the problem to the next bigger file, and one vendor was growing like ten percent a month. So that didn't ship.

  17. Alex6:56

    Okay. Raising the timeout was rejected. So what did you put in place so it doesn't happen again, and why that over the alternatives?

  18. You7:05

    Two things. The lock became a heartbeat: the worker renews it every thirty seconds, and a lock only counts as stale after three missed heartbeats, so a slow worker keeps it as long as it's alive. And I changed the write from delete-then-insert to an upsert keyed by the vendor's row id, so even if two workers ever do load the same file, the second one can't delete anything. Plus a check at the end of the run that compares source and table row counts per file and pages if they differ by more than zero point one percent.

  19. Alex7:50

    What happened after it shipped? How did you know it was fixed and not just a quiet stretch?

  20. You7:57

    Zero short nights in the six weeks I was still there. That's forty-two nightly runs. Before the fix we'd had about eight short nights in the same length of window. And the row count check fired once, but that was a vendor actually sending a truncated file, so it was doing its job.

  21. Alex8:21

    Earlier you said about one night in six. Eight short nights in forty-two runs is closer to one in five. Which is it?

  22. You8:30

    Oh. Um, you're right, those don't match. The eight in forty-two is the win- the window I actually counted from the logs before the fix. The one in six, I mean, I think I was remembering a longer stretch, the whole quarter, but I didn't count that one properly. So the number I'd stand behind is eight in forty-two, about one in five.

  23. Alex9:11

    Okay. You keep mentioning your lead. Split it for me: which parts of this were yours, start to finish, and which were hers?

  24. You9:20

    The investigation was mine, the comparison script, the logging, finding the double pickup. The heartbeat design was mine too, but Priya pushed on the upsert part, she said fix the lock and also make the write safe, don't rely on one guard. So I'd say the idea of two layers came from her and I built both. I also wrote up the root cause on the team wiki and presented it at their Friday demo, which was, um, terrifying, but fine.

  25. Alex9:57

    How did you roll the change out? This was a nightly job other people depended on.

  26. You10:03

    Behind a flag, per vendor. I turned on the new lock and the upsert for the two small vendors first, for three nights, and compared the row counts with the old path. Then the two big ones. The upsert was slower, about fifteen percent longer for the biggest file, which we accepted, it still finished well before the dashboards refresh at six. And I kept the old code path for two weeks so we could flip back.

  27. Alex10:39

    Not technically, but for you personally, what was the hardest part of the whole thing?

  28. You10:45

    Honestly, the waiting. You add logging and then nothing happens for four nights, and you start to doubt your theory, and people ask in standup if there's news. I think I got a bit too quiet in that period. I didn't want to say I don't know yet every day. Priya told me later that saying I don't know yet, here's what I'm waiting for, is a perfectly good update.

  29. Alex11:20

    Two account managers had already sent wrong numbers to clients. Did anyone tell them what happened, and who did that?

  30. You11:28

    Priya did the client side, that wasn't something an intern would do. But she asked me to write the explanation for the account managers, in plain language, no lock or heartbeat. Which nights were affected, which dashboards, roughly how much the numbers were off, and that it was fixed. I wrote it, she edited maybe two sentences, and it went out from her. I also made a list of the eight affected dates so they could check whether anything they'd sent used them.

  31. Alex12:09

    If the same kind of intermittent problem landed on you next week, what would you do differently from the start?

  32. You12:16

    I'd add the logging on day one instead of day five. I spent two days on the checksum theory because it felt likely, but I had no data for it. Now when something is intermittent, I instrument first and guess second.

  33. Alex12:40

    Okay. Next one. It can be from the internship again, or the capstone, or something outside both. Tell me about a time you took on a part of a project that nobody had asked you to do.

  34. You12:54

    Hmm. Let me think. Okay, so, also at Brightwater. The team had a Slack channel for data quality alerts. Every check that failed posted there. And when I joined, it was getting around forty alerts a day, and nobody read it. People had muted it. Which meant when something real fired, like a missing file, it got lost. Nobody owned the channel, it was just there. So in my fourth week, while I was waiting for bad nights on the import, I started looking at it.

  35. Alex13:39

    It wasn't your channel and you were three weeks in, working on something else. Why did you step in?

  36. You13:47

    Partly selfish, I was watching the channel anyway for my import alerts, and I couldn't find mine in the noise. And partly because I asked two engineers if anyone was fixing it, and both said, yeah, someone should. So it was clearly nobody's.

  37. Alex14:08

    Walk me through what you actually did, step by step, from the first day you looked at it.

  38. You14:15

    I exported two weeks of alerts, about five hundred and sixty, into a spreadsheet, and grouped them by the check that fired. Three checks caused about eighty percent of them. One was a null-rate check on a column that is legitimately empty on weekends. One was a freshness check with a one hour threshold on a table that only updates every three hours. And one was a duplicate check that fired on every retry. I wrote a one page proposal: fix the thresholds on those three, add a weekend rule, and route the rest by owner. I showed it to Priya before touching anything, because those checks belonged to other people.

  39. Alex15:06

    Okay. Proposals are one thing. What was the impact once it was in place, in numbers if you have them?

  40. You15:14

    After the changes it went from about forty a day to about six a day, averaged over the next three weeks. And two people unmuted the channel, which, I mean, is not a metric, but I noticed. The real one was that a missing vendor file got caught the same morning, about a week later, which before would have been found by an account manager two days later.

  41. Alex15:45

    Of the three fixes, which one did most of the work?

  42. You15:49

    The weekend null rule, by far. That check alone was about half of all the alerts, it fired every Saturday and Sunday on every partition. The freshness threshold was maybe a quarter, and the duplicate check on retries was the smallest, but it was the most annoying one because it fired in bursts of ten at three in the morning.

  43. Alex16:19

    Three days is real time for an intern. What did it cost you or your regular work, and who noticed?

  44. You16:26

    It took about three days in total, spread out. My own ticket, the lock fix, slipped by about three days, and I hadn't, um, told Priya in advance that I was doing this, so when she asked about the lock in standup I had to say, uh, it's late because I was doing alerts. She was fine with the alerts work but not with hearing about it in standup. Fair enough.

  45. Alex16:58

    Those checks belonged to other engineers, some more senior than you. Did any of the check owners push back, and what did you do about it?

  46. You17:08

    One did. The person who owned the freshness check wanted to keep the one hour threshold because a downstream report depends on it. We ended up keeping one hour on weekdays mornings only, when the report runs, and three hours otherwise. I'd say that was a compromise he proposed, not me.

  47. Alex17:34

    You mentioned a third part, routing the rest of the alerts by owner. Did that actually happen, all of it?

  48. You17:42

    Partly. Um, I set up the routing for my team's checks, so they went to the right person's channel. For the other two teams I wrote the config and opened the pull requests, but one of them was still open when my internship ended. I don't know if it got merged. I should have handed it to someone by name instead of just leaving it in review.

  49. Alex18:16

    Would you take something like that on again, the same way?

  50. You18:20

    Yes, but I'd tell my lead before I start, not after, and I'd give it a time box, like two days, and say what I'm pushing back. The work itself I'd do the same. Starting from the data, the five hundred and sixty alerts, is what got people to agree. Nobody argues with a spreadsheet of their own alerts.

  51. Alex18:51

    Okay. Tell me about a time you disagreed with a teammate about how to build something. What happened?

  52. You18:58

    Sorry, could you repeat that? I was still half in the alerts story.

  53. Alex19:06

    Tell me about a time you disagreed with a teammate about how to build something. What happened?

  54. You19:13

    Hmm. Okay. Um, so in my capstone, the course-planning app, there are four of us, and, uh, we had a disagreement about, like, caching. My teammate, Marco, wanted to put Red- Redis in front of, you know, everything from the start, and I, I mean, I didn't think we needed it yet. So, um, yeah, we disagreed about that.

  55. Alex19:36

    Mm-hm. Before we get to how it ended, what was your specific position, and what was it based on?

  56. You19:43

    That it was too early. Like, we didn't have users yet, so I thought it was, um, premature. It would add complexity, and, you know, we had other things to do. I think I said something like, let's not optimize before we know it's slow.

  57. Alex20:01

    And his position? As he would have put it.

  58. You20:05

    Um, that it would be slow? I think he said the catalog page was going to be slow because it, uh, loads all the sections. I'm honestly not sure what his whole reasoning was.

  59. Alex20:32

    Okay. He thought the page would be slow and you thought it was premature. What did you do to understand his point of view?

  60. You20:41

    Um, honestly, I didn't really. We argued about it in the group chat for a while, it got a bit long, and then we kind of agreed to try it on one page and see.

  61. Alex21:08

    Trying it on one page is a specific compromise. Who suggested it, and how did the group get there?

  62. You21:15

    I think it was, um, our fourth teammate, Dana? Or, uh, maybe it came up in the meeting, you know, when we were all there. I don't remember exactly. It was kind of a group thing.

  63. Alex21:33

    And then what did you personally do on the caching work?

  64. You21:37

    Um, so, we set it up together, kind of. Marco did the Redis part, and we, like, we rev- we reviewed it, and, uh, we tested the page afterwards. I mean, I think I reviewed his pull request.

  65. Alex21:56

    What was your specific part?

  66. You21:58

    Reviewing it, mainly. And I changed the API so the catalog endpoint returned the whole list at once, which made it easier to cache. But that was a small change. Mostly it was his.

  67. Alex22:18

    Okay. How did it end, for the project and for the decision itself?

  68. You22:23

    We ended up caching the course catalog page, and it got a lot faster, so I think everyone was happy with that.

  69. Alex22:35

    How much faster? Do you have a number, before and after?

  70. You22:39

    I don't have the exact number. It felt a lot faster. Marco measured it, I think. Like, it went from noticeably slow to basically instant.

  71. Alex22:55

    Same situation, same teammate, starting tomorrow. Would you handle it differently now?

  72. You23:00

    Yeah, I'd probably communicate better. I think, I mean, it just took longer than it needed to.

  73. Alex23:12

    Communicate better can mean a lot of things. What would it look like, concretely, the first time the topic came up?

  74. You23:20

    Um... probably talking instead of the group chat. And, yeah, maybe asking him why earlier. I guess I was more focused on being right about it.

  75. Alex23:43

    If Marco were telling this story, what would he say you did wrong?

  76. You23:49

    Hmm. Probably that I dismissed it without looking. That I said premature optimization like it was a rule, and didn't ask what he'd seen. I don't know, maybe. We never really talked about it after.

  77. Alex24:16

    You're still on the same team for a few more months. How are things with Marco now?

  78. You24:23

    Fine, I think. We still work together on the project. It wasn't a big fight or anything, it was more like a long annoying thread. Yeah. It's fine.

  79. Alex24:38

    Last one. Pick something where the feedback actually stung a little, if you have one. Tell me about the most useful critical feedback you got on a project or a piece of coursework. What did you do with it?

  80. You24:53

    Um... let me think. Okay. During the internship, my first design doc for the lock change came back from Priya with one comment at the top: all solution, no problem. I had three pages on how the heartbeat works, the timing, the edge cases, and one line on why it mattered. Nobody reading it knew how often the import was short or what it cost the account managers.

  81. Alex25:36

    One comment at the top of a three page doc. How did you react when you first heard it, honestly?

  82. You25:44

    I was a bit defensive, to be honest. I thought the fix was the interesting part, and I'd spent a lot of time on it. I think I replied something like, the problem is in the ticket. And she said, nobody reads the ticket. Which, um, is true.

  83. You26:07

    And the thing is, the heartbeat part really was subtle, because you have to think about clock skew between workers, and, uh, what happens if the database itself is slow to answer the renewal, so I had this whole section on

  84. Alex26:23

    Let me stop you there. What did you do with her comment?

  85. You26:28

    Right, sorry.

  86. You26:30

    I rewrote it with the problem first. A short timeline of the incidents, eight short nights in six weeks, how many rows, and that two account managers had sent wrong numbers to a client because of it. Then the fix, then what I'd rejected, the longer timeout. The first draft needed two review meetings and still had open questions. The rewrite was approved in one.

  87. Alex27:00

    What did the first paragraph of the new version say, roughly?

  88. You27:05

    Something like: on eight of the last forty-two nights, the vendor import silently lost between two and four percent of rows from the two largest vendors. The dashboards showed the lower numbers and at least two client reports used them. The cause is a lock that expires while a large file is still loading. This doc proposes a fix that removes the cause and makes a double load harmless. Then everything else came after that.

  89. Alex27:42

    That's one document. What specifically changed afterwards, in how you work?

  90. You27:46

    Now every doc I write starts with a problem paragraph: what broke, how often, and what it costs. I did the same for my capstone report, and for the alerts proposal I mentioned, that one page started with five hundred and sixty alerts in two weeks.

  91. Alex28:08

    How do you know it worked? What tells you the change made a difference?

  92. You28:14

    Um, I guess... the capstone report got the best grade in our section? But I'm not sure that's because of the structure. The alerts proposal got approved without changes, so maybe that. I don't really have a clean way to measure it.

  93. Alex28:50

    You're a TA now, so you're on the other side of this too. Have you given feedback like that to someone else since, and how did it land?

  94. You29:00

    Actually, yes. As a TA I grade the project write-ups, and I started leaving the same kind of comment, what problem does this solve, before the comments about the code. A couple of students said it helped. Though I'm, uh, a bit nicer about it than all solution, no problem.

  95. Alex29:26

    Most people get some feedback they agree with and still don't act on. Was there anything like that from the internship?

  96. You29:34

    Um... yes, probably. In my final review Priya said I should push back more in design discussions, that I'd go quiet when a senior engineer disagreed, even when I had the data. I agree with it, but I don't think I've really changed that yet. In the capstone I'm the one with the most backend experience, so it hasn't been tested the same way.

  97. Alex30:14

    Before we finish, I want to go back to one thing. The caching disagreement: you said Marco measured the speed-up. Did his measurement change your view of who was right?

  98. You30:26

    Hmm. I think so. If it went from slow to instant then he was right about that page, at least. I still think Redis everywhere would have been too much. But I never really looked at his numbers, so I can't say for sure.

  99. Alex30:52

    Okay. That's all the questions I had. We have a few minutes left. Do you have any questions for me, about the role, the process, anything?

  100. You31:02

    Yes, two, if that's okay. First, for new grads on an engineering team, what does the first project usually look like? Is it something small and contained, or are you thrown into the main system?

  101. Alex31:19

    It varies by team. Often it's something contained enough to finish in a few weeks but touching the real system, so you learn the codebase, the review process and how things get deployed. Some teams start people on bugs or on-call shadowing first. I can't speak for a particular team; the hiring team can tell you what it looks like for a specific role. Anything else?

  102. You31:44

    Yeah. In behavioral rounds like this one, what makes a story land better? Like, is it more about the result or the process?

  103. Alex31:56

    In general, interviewers want both, but anchored in what you personally did: the situation in a sentence or two, your own decisions and why, what came of it, ideally with a number, and what you'd change. I can't say how this conversation went. Your report will cover that.

  104. You32:14

    Okay, fair. Thanks.

  105. Alex32:17

    That's time. Thanks for your time today. You'll get your report in a few minutes.

Mockich is a practice tool. Scores and delivery signals are guidance for your preparation, not a prediction of a real hiring decision.

Start another interview
Sample report · Mockich