What matters to you right now?

Ace your tech interview on the first try

WOW42 is an AI coach for tech interviews. It spots the gaps in your theory and hands-on skills, then helps you fill them.

or sign in with

30 min · voice or text · no credit card7 days unlimited · no credit card

Job readinesssample
Senior Java Backendjob posting · 12 requirements
interview readiness64%
  • Collections and HashMapready
  • Concurrency: JMM and locksin progress
  • Kafka: exactly-oncegap
  • Failures under loadgap
  • 8 more requirements
Next step
Kafka: exactly-oncetheory + practice →
Scroll to see how it worksScroll to see how it works

How ready are you
for this interview?

Drop in the job posting and your CV. The interviewer will prep the questions and a game plan for your mock interview.

Tell me about the highest-load service at your last job. What was the bottleneck?

0:14A payment gateway, around 3K RPS. The database was the bottleneck, so we added a Redis cache.

How did you invalidate the cache when a payment status changed? Any consistency issues?

senior-java-backend.pdfjob posting · 64 KB
12 requirements from the posting. We’ll ask about the checked ones
Java: concurrency and the JMMKafkaHigh loadSystem designSpring BootPostgreSQLRedisMicroservicesObservability+3
CV.pdf10 facts · 75 KB
use it

The interviewer will ask about 1–2 stories from your experience. We only keep the professional facts, no name or contacts.

Practice live coding
with interviewer feedback

Write code on the clock and talk through your choices. The AI interviewer asks follow-ups, runs your code against tests and shows what to tighten up in both the code and your reasoning.

Live coding · Java12:40

Return the indices of the two numbers that add up to target

1int[] twoSum(int[] nums, int target) {
2    Map<Integer, Integer> seen = new HashMap<>();
3    for (int i = 0; i < nums.length; i++) {
4        Integer j = seen.get(target - nums[i]);
5        if (j != null) return new int[]{j, i};
6        seen.put(nums[i], i);
7    }
8    return new int[]{0, 0};
9}
Tests 3/4
  • ✓[2,7,11,15], 9 → [0, 1]
  • ✓[3,2,4], 6 → [1, 2]
  • ✓[3,3], 6 → [0, 1]
  • ✕[1,2], 10 → expected: no pair · got [0, 0]
correctnessO(n) complexityedge casesreadability

What happens if there’s no pair? How would the caller tell that apart from a valid [0, 0]?

Every answer gets broken down in your report

The report shows your confirmed level, what’s standing between you and your goal, and where each answer lost points. It’s reviewed by a multi-agent system trained on thousands of interviews and real interview questions.

Report · interview #1 · Java
Confirmed levelMiddle
GoalSenior
JuniorMidSenior
To reach senior
  • Concurrency: the JMM and choosing lockstheory
  • Failures and edge cases under loadcoding
  • Kafka: exactly-once and idempotencytheory
Sample breakdown

“I’ll turn on enable.idempotence: the producer won’t duplicate a message on retry, so we already have exactly-once».

  • ✕Where you lost points: an idempotent producer only protects the write into Kafka. If the consumer writes to a database, duplicates still show up after a rebalance.
  • ★What a senior answer sounds like: “An idempotent producer is only half of it. Then either Kafka transactions with read_committed, or an idempotent write on the consumer side: a dedup key in the database.”

See your progress
on a skill map

After the interview, you’ll know which questions you nailed and where you fell short. WOW42 maps it all out and shows what to work on first.

weak spotsolid answerlink

Fix only
the gaps that matter

Prep with a personal plan built around your mistakes. Study only what you need, then check yourself: the AI quizzes you and shows what you still can’t explain in your own words.

  1. Collections and HashMap

    got it
  2. Concurrency: the JMM and choosing locks

    25 min
  3. HTTP and REST

    got it
  4. Kafka: exactly-once and idempotency

    40 min
  5. Docker

    got it
  6. Failures and edge cases under load

    30 min
  7. Interview

    ready

total: ~1.5 hours instead of re-studying everything

A second interview proves the gap is closed

One step closer to Senior
58→86

Every attempt is scored on the same criteria, so you can see what’s improved and what still needs work.

closedstill in progress

Pick a topic
or start with an interview

Topics sorted by level, from the basics to production systems. Not sure where to start? A 30-minute interview will show you.

Tracks and grading criteria are built by practicing engineers, each in their own field

AIThe Agent Loop: where the model ends and the agent begins

Where the model ends and the agent begins: tokens, context, the loop and the stop condition.

Medium≈ 3 h · 3 seglet’s start here
AITools, MCP and context: what makes or breaks an agent

Tools, the context window and memory — the three pillars of an agent.

Medium≈ 5 h · 9 seg
AIModel Choice and the Tool-Call Contract: stop picking by name

A model is chosen by four numbers, not by its name.

Easy≈ 3 h · 3 seg

Learn step by step
until it clicks

A track bundles related topics: theory, practice and an “explain it in your own words” check. Go at your own pace and skip what you already know.

theorypracticein your own words
AI · Medium≈ 3 h · 11 blocks
The Agent Loopwhere the model ends and the agent begins
LLM Basics
Agent Loop
Agent vs Pipeline
  1. Theory blocknow
  2. One-Linerlock it in, in your own words
  3. Spot the Hallucinationdrill · Agent vs Pipeline

Get the theory
short and visual

Tough topics are broken into short animated steps. At the end you explain it back in your own words, so it actually sticks.

Agent loopThe loop decides, not the model
question?
modeltool_callstep 2step 9…step 3
toolresult×214
stop?no≤ 5 steps
answerdone
↺ the tool result goes back into the model’s context
The model got the question and decided to call a tool.The tool ran — its result goes back into the context.The model sees the result and decides again: another step or an answer.No stop condition: the loop spins and tokens burn.With a step limit the agent stops and answers.
how a theory block worksWalkthrough→In your own words→Recall

Lock it in with practice
5–15 minutes each

Quick drills: step through an algorithm, piece together a solution, catch the AI making things up.

Algorithm Forge · visualization

BFS: which node leaves the queue next?

queueBC
B — the queue is FIFO: finish the level, then go deeper
Parsons · in tracks with code

Assemble the solution from blocks

  1. for (int step = 0; step < MAX; step++) {
  2. var r = llm.call(context);
  3. if (!r.hasToolCall()) return r.text();
  4. context.add(run(r.toolCall()));
Spot the Hallucination

Find where the AI made it up

Agents are handy because the model itself remembers the whole history between API calls, so you don’t need to pass the context.
the model keeps no state between calls
One-Liner · in one line

How is an agent different from a model call?

The agent picks its next step from the tool result — and repeats until the stop condition fires
accurate — now add who pays for that freedom
Theory block · recall

No hints: what does the model never do on its own?

It keeps no state between calls and carries no guardrails in its weights — the loop around it adds those
correct

Ask the mentor
it remembers where you left off

It’s built into every drill and lesson, knows your plan and explains things with your own examples.

I don’t get the difference: pipelines have branches too
MentorYesterday you described the loop correctly. The difference is who picks the next step: in a pipeline you do, upfront; in an agent the model does, based on the tool result.
Keep going

See your progress
topic by topic

The Agent Loop completed
concept mastery · before → after the track
The agent loop
30 → 82%
Context and tokens
41 → 74%
Agent or pipeline
18 → 66%

Based on your answers in drills and lessons, so you can see what’s stuck and what needs another pass.

beforegrowthnext track

Give it 30 minutesTake a free week
and see your gaps todayand close your first gaps

free week
  1. today · 30 minQuick interview

    your first weak spots and levelshows which topics to start with

  2. day 1Full interviewFirst track

    the full skill map and a planmatched to your growth areas

  3. days 2–6Unlimited practiceEverything unlimited

    drills, theory and the mentor on your gapsevery track, drill and the mentor

  4. day 7Follow-up interviewFull interview

    check the gaps are closedcompare with the first on the same scale

No card needed. After the week, you decide whether to subscribe. Nothing is charged automatically.

Not job hunting? See how to level up →Prepping for an interview? See how the interview works →

Java · Go · Junior → Senior

What matters to you right now?

Ace your tech interview on the first try

An AI coach spots the gaps in your theory and hands-on skills, then helps you fill them.

12 Senior Java Backend requirements64%
readyin progressgapahead
01

Drop in the job posting and your CV — the interview follows them

senior-java-backend.pdfjob posting · 64 KB
12 requirements from the posting. We’ll ask about the checked ones
Java: concurrency and the JMMKafkaHigh loadSystem designSpring BootPostgreSQL+6
CV.pdf10 facts · 75 KB
use it

The interviewer will ask about 1–2 stories from your experience. We only keep the professional facts, no name or contacts.

02

The interviewer asks and digs deeper

Interviewer
from your CV · payment gateway, 3K RPS
Tell me about the highest-load service at your last job. What was the bottleneck?
0:14A payment gateway, around 3K RPS. The database was the bottleneck, so we added a Redis cache.
follow-upHow did you invalidate the cache when a payment status changed? Any consistency issues?
Answer by voice or text
03

Practice live coding with interviewer feedback

Live coding · Java12:40

Return the indices of the two numbers that add up to target

int[] twoSum(int[] nums, int target) {
    Map<Integer, Integer> seen = new HashMap<>();
    for (int i = 0; i < nums.length; i++) {
        Integer j = seen.get(target - nums[i]);
        if (j != null) return new int[]{j, i};
        seen.put(nums[i], i);
    }
    return new int[]{0, 0};
}
Tests 3/4
  • ✕[1,2], 10 → expected: no pair · got [0, 0]

What happens if there’s no pair? How would the caller tell that apart from a valid [0, 0]?

04

Every answer gets broken down in your report

Report · question 7Middle level
The cost of a checked exception along the call chain
What was in the answer

Tied the choice to whether the calling code can react to the timeout and named the condition that would flip it, but counted the cost only in the getRate call.

What a Middle-level answer adds

A checked exception is paid for in every method between getRate and the fallback point: a facade over several components collects all their failures in its signature.

How the interviewer sees it

The first answer was confident, but a follow-up of the same level got no answer. This is where interviewers dig.

See your progress on a skill map

weak spotsolid answerlink

Fix only the gaps that matter

Prep with a personal plan built around your skills and your mistakes.

  1. Collections and HashMapgot it
  2. Concurrency: the JMM and choosing locks25 min
  3. Kafka: exactly-once and idempotency40 min
  4. Failures and edge cases under load30 min
  5. Plan total~1.5 hours

A second interview proves the gap is closed

One step closer to Senior
58→86
closedstill in progress
01

Pick a topic — learn step by step

AI · Mediumlet’s start here
The Agent Loop

Where the model ends and the agent begins

≈ 3 h · 11 blocks
  1. LLM Basicsdone
  2. Agent Loopdone
  3. Agent vs Pipelinenow
  4. One-Linerin your own words
  5. Spot the Hallucinationdrill
02

Get the theory short and visual

Theory block · Agent loopstep 1
The loop decides, not the modeltool_callresultyesnoquestionmodelstop?toolanswer≤ 5 steps×214

The model got the question and decided to call a tool.

Walkthrough → In your own words → Recall
03

Lock it in with practice 5–15 minutes each

Drill · Spot the Hallucination5 min
Find where the AI made it up
AI answer

Agents are handy because the model itself remembers the whole history between API calls, so you don’t need to pass the context.

you found it

The model keeps no state between calls — the loop passes the history in.

more drills
Step-by-step algorithmBuild from blocksIn one lineRecall with no hints
04

Ask the mentor — it remembers where you left off

Mentor
I don’t get the difference: pipelines have branches too
Yesterday you described the loop correctly. The difference is who picks the next step: in a pipeline you do, upfront; in an agent the model does, based on the tool result.
Practice · Spot the Hallucination · 5 minAgent or pipeline: find where the AI got it wrong →
When is a pipeline safer?Who decides when to stop?

Your map grows with every topic

AIJavaKafkaSystem designdone

See your progress topic by topic

The Agent Loop completed
  • The agent loop30 → 82%
  • Context and tokens41 → 74%
  • Agent or pipeline18 → 66%
beforegrowthnext track

Take a free week

  1. today · 30 minQuick interview
  2. day 1Full interviewFirst track
  3. days 2–6Unlimited practiceEverything unlimited
  4. day 7Follow-up interviewFull interview

No card, no automatic charges ·

WOW42 Upskill