Live engineering interviews

Hire for judgment, not memorized algorithms.

AI can write the code. We test whether an engineer can read it, debug it, and reason about what happens in production, live, while you watch every decision.

Candidates never create an account. Send a link, start talking.

Question 3 of 614:32 left

Goroutines pile up when the upstream is slow

Memory grows and the goroutine count climbs into the hundreds of thousands. Click the lines that keep goroutines alive forever.

concurrencydebugginggo
1func fetchWithTimeout(ctx context.Context, url string) (string, error) {
2 ch := make(chan string)
3
4 go func() {
5 body, _ := slowFetch(url)
6 ch <- body
7 }()
8
9 select {
10 case body := <-ch:
11 return body, nil
12 case <-time.After(2 * time.Second):
13 return "", errTimeout
14 }
15}

01How it works

From job requirements to interview evidence.

  1. 1 · Requirements

    The job defines what matters

    Post the role on your own jobs page. Its requirements become the competencies the interview has to cover.

  2. 2 · Claims

    The résumé says what they can do

    We read each application and propose an interview that tests those claims against the job, with a reason for every question.

  3. 3 · Evidence

    The interview shows what they actually do

    Run it live and judge each answer. The report shows what the interview established for each competency, with the questions and notes behind every judgment.

Claims decide what to test. They never count as evidence. We cover the path from application to interview evidence; we are not an applicant tracking system.

02Interviewer guide

Every question comes with an interviewer guide.

What the question is testing, what to hold back, which follow-ups to ask, what strong and weak answers sound like, and a rubric. Any engineer on your team can run a consistent, senior-quality interview.

Try a question with its guide

Interviewer guide

Objective

Diagnoses a cache stampede and fixes the cause rather than adding capacity.

Follow-up

DeepenThe service runs on 40 instances. How do you coalesce rebuilds across all of them?

Strong signal

Quantifies the burst of rebuilds at expiry.

Weak signal

Reaches for read replicas as the fix.

Rubric

  1. 0Capacity fix. Treats the spike as load to absorb.
  2. 2Names the pattern. Identifies a stampede; fix is single-process only.
  3. 4Fixes the cause. Coalescing and refresh that work across instances.

03Live interviews

Run it live. Keep the evidence.

  • Watch every decision

    See answers change as the candidate works, with a shared clock and a running score.

  • Answers that score themselves

    Pick the answer, select all that apply, click the line, or put steps in order. Deterministic scoring, with your override and a note.

  • Your AI policy

    Decide per interview whether candidates may use AI: prohibited, allowed or encouraged.

  • Activity as context

    Focus changes, pastes and idle time appear as plain counts. Context, never a verdict.

04The library

Real engineering situations, not trivia.

A curated library across frontend, backend, platform, security and AI, written about the bugs, reviews and tradeoffs engineers actually run into. Add your own questions alongside it.

  • Situations, not syntax. Production incidents, code reviews and design decisions. No language-lawyer puzzles.
  • Guidance included. Every question ships with its interviewer guide and rubric.
  • Stable once sent. An interview is frozen when you send it, so a candidate always sees what you planned.

Interviews that look like the job.

Sign in with Google or Microsoft and send your first interview in a few minutes.