Что для тебя сейчас важно?

Пройди техническое интервью с первого раза

WOW42 — это ИИ-тренажёр для подготовки к техническим интервью. Поможет выявить и подтянуть пробелы в теоретических и практических заданиях.

или войти через

30 минут · голосом или текстом · без картынеделя без лимита · без карты

Готовность к вакансиипример
Senior Java Backendвакансия · 12 требований
готовность к собеседованию64%
  • Коллекции и HashMapготов
  • Конкурентность: JMM и блокировкизакрываешь
  • Kafka: exactly-onceпробел
  • Отказы под нагрузкойпробел
  • ещё 8 требований
Следующий шаг
Kafka: exactly-onceтеория + тренажёр →
Листай, чтобы увидеть, как проходит интервьюЛистай, чтобы увидеть, как это работает

Узнай, насколько ты готов
к этому собеседованию

Загрузи вакансию и CV, интервьюер подготовит вопросы и сценарий для пробного интервью.

Расскажи про самый нагруженный сервис на прошлой работе. Что было узким местом?

0:14Платёжный шлюз, около 3 тысяч RPS. Упирались в базу — добавили кеш в Redis.

А как инвалидировали кеш, когда менялся статус платежа? Рассинхрона не было?

senior-java-backend.pdfвакансия · 64 KB
Из вакансии собрали 12 требований. Спросим по отмеченным
Java: многопоточность и JMMKafkaВысокие нагрузкиSystem designSpring BootPostgreSQLRedisМикросервисыНаблюдаемость+3
CV.pdf10 фактов · 75 KB
в интервью

Интервьюер спросит про 1–2 истории из опыта. Сохраняем только профессиональные факты, без имени и контактов.

Тренируй лайвкодинг
с оценкой интервьюера

Практикуйся писать код под таймер и объяснять свои решения. ИИ-интервьюер задаст уточняющие вопросы, проверит код тестами и покажет, что улучшить в решении и ходе рассуждений.

Лайвкодинг · Java12:40

Верни индексы двух чисел, которые в сумме дают 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}
Тесты 3/4
  • ✓[2,7,11,15], 9 → [0, 1]
  • ✓[3,2,4], 6 → [1, 2]
  • ✓[3,3], 6 → [0, 1]
  • ✕[1,2], 10 → ожидалось: нет пары · получено [0, 0]
корректностьсложность O(n)граничные случаичитаемость

А если пары нет? Как вызывающий код поймёт, что [0, 0] — это не ответ?

Каждый ответ разобран в отчёте

В отчёте видно, какой у тебя уровень сейчас, чего не хватает до цели и где именно ты потерял баллы. Разбирает мультиагентная система, обученная на тысячах интервью и реальных вопросах с собеседований.

Отчёт · интервью 1 · Java
Подтверждённый уровеньMiddle
ЦельSenior
JuniorMiddleSenior
Чтобы дорасти до senior
  • Конкурентность: JMM и выбор блокировоктеория
  • Отказы и граничные случаи под нагрузкойкод
  • Kafka: exactly-once и идемпотентностьтеория
Пример разбора

«Включу enable.idempotence: продюсер не задублирует сообщение при ретрае, значит exactly-once уже есть».

  • ✕Где потерял баллы: идемпотентный продюсер защищает только запись в Kafka. Если consumer пишет в БД, после ребаланса дубли всё равно появятся.
  • ★Как ответил бы senior: «Идемпотентный продюсер — только половина. Дальше либо транзакции Kafka с read_committed, либо идемпотентная запись на стороне consumer: ключ дедупликации в БД».

Твой прогресс
на карте навыков

После интервью ты знаешь, на какие вопросы ответил хорошо, а где не хватило знаний. WOW42 соберёт результаты в карту навыков и покажет, что подтянуть и с чего начать.

слабое местоверный ответсвязь

Закрывай только
важные пробелы

Готовься по персональному плану, составленному на основе твоих ошибок. Разбирай нужные темы и проверяй понимание: ИИ задаст вопросы и покажет, что ещё не получается объяснить своими словами.

  1. Коллекции и HashMap

    знаешь
  2. Конкурентность: JMM и выбор блокировок

    25 мин
  3. HTTP и REST

    знаешь
  4. Kafka: exactly-once и идемпотентность

    40 мин
  5. Docker

    знаешь
  6. Отказы и граничные случаи под нагрузкой

    30 мин
  7. Собеседование

    готов

по плану ≈ 1,5 часа вместо того, чтобы повторять всё подряд

Повторное интервью покажет, что пробел закрыт

Шаг к Senior подтверждён
58→86

Каждая попытка оценивается по одним и тем же критериям — так ты видишь, что уже получается лучше, а что ещё стоит подтянуть.

закрытоещё в работе

Выбери тему
или начни с интервью

Каталог тем по уровням: от основ до систем в продакшене. Не знаешь, с чего начать? 30-минутное интервью покажет, что подтянуть.

Траектории и критерии проверки собирают практикующие инженеры, каждый в своей области

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

Где заканчивается модель и начинается агент: токены, контекст, цикл и стоп-условие.

Medium≈ 3 ч · 3 сегм.с неё и начнём
AITools, MCP and context: what makes or breaks an agent

Инструменты, окно контекста и память — три опоры агента.

Medium≈ 5 ч · 9 сегм.
AIModel Choice and the Tool-Call Contract: stop picking by name

Модель выбирают по четырём числам, а не по названию.

Easy≈ 3 ч · 3 сегм.

Учись шаг за шагом
пока тема не станет твоей

Траектория — это блок связанных тем: теория, практика и вопрос «объясни своими словами». Проходи в своём темпе, знакомое пропускай.

теорияпрактикасвоими словами
AI · Medium≈ 3 ч · 11 блоков
The Agent Loopwhere the model ends and the agent begins
LLM Basics
Agent Loop
Agent vs Pipeline
  1. Блок теориисейчас
  2. One-Linerзакрепление своими словами
  3. Spot the Hallucinationтренажёр · Agent vs Pipeline

Разбирай теорию
коротко и наглядно

Сложные темы разложены по шагам и анимированы. В конце объясняешь своими словами, так материал запоминается, а не пролистывается.

Agent loopРешает не модель, а цикл
вопрос?
модельtool_callшаг 2шаг 9…шаг 3
инструментрезультат×214
стоп?нет≤ 5 шагов
ответготово
↺ результат инструмента возвращается в контекст модели
Модель получила вопрос и решила вызвать инструмент.Инструмент отработал — результат возвращается в контекст.Модель видит результат и решает снова: ещё шаг или ответ.Нет стоп-условия: цикл крутится, токены горят.С лимитом шагов агент останавливается и отвечает.
как устроен блок теорииРазбор→Своими словами→Вспомни

Закрепляй на практике
по 5–15 минут

Короткие тренажёры: прогони алгоритм по шагам, собери решение из блоков, найди ошибку в ответе ИИ.

Algorithm Forge · визуализация

BFS: какая вершина выйдет из очереди следующей?

очередьBC
B — очередь FIFO: сначала весь уровень, потом глубже
Parsons · в траекториях с кодом

Собери решение из блоков

  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

Найди, где ИИ выдумал

Агент удобен тем, что модель сама помнит всю историю между вызовами API, поэтому контекст можно не передавать.
модель не хранит состояние между вызовами
One-Liner · одной строкой

Чем агент отличается от вызова модели?

Агент сам решает следующий шаг по результату инструмента — и повторяет, пока не сработает стоп-условие
точно — добавь, кто платит за свободу
Блок теории · вспомни

Без подсказок: что модель никогда не делает сама?

Не хранит состояние между вызовами и не несёт защитных правил в весах — это добавляет цикл вокруг неё
верно

Спрашивай ментора
он помнит, где ты остановился

Ментор встроен в каждый тренажёр и урок. Знает твой план и объясняет на твоём примере.

Не понимаю разницу: в пайплайне тоже есть ветки
МенторВчера ты верно описал цикл. Разница — кто выбирает следующий шаг: в пайплайне ты заранее, в агенте — модель по результату инструмента.
Дальше по теме

Твой прогресс
по каждой теме

The Agent Loop закрыта
освоение концептов · до → после траектории
Цикл агента
30 → 82%
Контекст и токены
41 → 74%
Агент или пайплайн
18 → 66%

Считаем по ответам в тренажёрах и уроках: видно, что уже держится, а что стоит повторить.

былоприростследующая траектория

Начни с 30 минут,Начни с бесплатной недели,
чтобы уже сегодня увидеть свои пробелычтобы закрыть первые пробелы

неделя бесплатно
  1. сегодня · 30 минЭкспресс-интервью

    первые слабые места и уровеньпокажет, с каких тем начать

  2. день 1Полное интервьюПервая траектория

    вся карта навыков и планпод твои зоны роста

  3. дни 2–6Подготовка без лимитаВсё без лимита

    тренажёры, теория и ментор по пробеламвсе траектории, тренажёры и ментор

  4. день 7Повторное интервьюПолное интервью

    проверь, что пробелы закрытысравни с первым по той же шкале

Карта не нужна. После недели сам решаешь, оформлять ли подписку. Автоматически ничего не спишется.

Не ищешь работу? Посмотри, как расти в грейде →Готовишься к собеседованию? Посмотри, как проходит интервью →

Java · Go · Junior → Senior

Что для тебя сейчас важно?

Пройди техническое интервью с первого раза

ИИ-тренажёр найдёт пробелы в теории и практике и поможет их закрыть.

12 требований Senior Java Backend64%
готовв работепробелвпереди
01

Загрузи вакансию и CV — интервью пойдёт по ним

senior-java-backend.pdfвакансия · 64 KB
Из вакансии собрали 12 требований. Спросим по отмеченным
Java: многопоточность и JMMKafkaВысокие нагрузкиSystem designSpring BootPostgreSQL+6
CV.pdf10 фактов · 75 KB
в интервью

Интервьюер спросит про 1–2 истории из опыта. Сохраняем только профессиональные факты, без имени и контактов.

02

Интервьюер спрашивает и копает глубже

Интервьюер
из твоего CV · платёжный шлюз, 3K RPS
Расскажи про самый нагруженный сервис на прошлой работе. Что было узким местом?
0:14Платёжный шлюз, около 3 тысяч RPS. Упирались в базу — добавили кеш в Redis.
уточнениеА как инвалидировали кеш, когда менялся статус платежа? Рассинхрона не было?
Отвечай голосом или текстом
03

Тренируй лайвкодинг с оценкой интервьюера

Лайвкодинг · Java12:40

Верни индексы двух чисел, которые в сумме дают 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};
}
Тесты 3/4
  • ✕[1,2], 10 → ожидалось: нет пары · получено [0, 0]

А если пары нет? Как вызывающий код поймёт, что [0, 0] — это не ответ?

04

Каждый ответ разобран в отчёте

Отчёт · вопрос 7уровень Middle
Цена проверяемого исключения по всей цепочке вызовов
Что было в ответе

Привязал выбор к тому, может ли вызывающий код отреагировать на тайм-аут, и назвал условие, при котором выбор поменяется, но посчитал цену только в вызове getRate.

Что добавляет ответ уровня Middle

За проверяемое исключение платит каждый метод между getRate и местом, где возможен запасной вариант: фасад над несколькими компонентами собирает в сигнатуре все их сбои.

Как это видит интервьюер

Первый ответ был уверенным, но на уточнение того же уровня ответа не нашлось. Именно здесь интервьюеры копают глубже.

Твой прогресс на карте навыков

слабое местоверный ответсвязь

Закрывай только важные пробелы

Готовься по персональному плану, составленному на основе твоих навыков и ошибок.

  1. Коллекции и HashMapзнаешь
  2. Конкурентность: JMM и выбор блокировок25 мин
  3. Kafka: exactly-once и идемпотентность40 мин
  4. Отказы и граничные случаи под нагрузкой30 мин
  5. Всего по плану≈ 1,5 часа

Повторное интервью покажет, что пробел закрыт

Шаг к Senior подтверждён
58→86
закрытоещё в работе
01

Выбери тему — учись шаг за шагом

AI · Mediumс неё и начнём
The Agent Loop

Где заканчивается модель и начинается агент

≈ 3 ч · 11 блоков
  1. LLM Basicsпройдено
  2. Agent Loopпройдено
  3. Agent vs Pipelineсейчас
  4. One-Linerсвоими словами
  5. Spot the Hallucinationтренажёр
02

Разбирай теорию коротко и наглядно

Блок теории · Agent loopшаг 1
Решает не модель, а циклtool_callрезультатданетвопросмодельстоп?инструментответ≤ 5 шагов×214

Модель получила вопрос и решила вызвать инструмент.

Разбор → Своими словами → Вспомни
03

Закрепляй на практике по 5–15 минут

Тренажёр · Spot the Hallucination5 мин
Найди, где ИИ выдумал
ответ ИИ

Агент удобен тем, что модель сама помнит всю историю между вызовами API, поэтому контекст можно не передавать.

ты нашёл

Модель не хранит состояние между вызовами — историю передаёт цикл.

ещё в тренажёрах
Алгоритм по шагамСобери из блоковОдной строкойВспомни без подсказок
04

Спрашивай ментора — он помнит, где ты остановился

Ментор
Не понимаю разницу: в пайплайне тоже есть ветки
Вчера ты верно описал цикл. Разница — кто выбирает следующий шаг: в пайплайне ты заранее, в агенте — модель по результату инструмента.
Закрепи · Spot the Hallucination · 5 минАгент или пайплайн: найди, где ИИ ошибся →
Когда пайплайн надёжнее?Кто решает, когда стоп?

Твоя карта растёт с каждой темой

AIJavaKafkaSystem designпройдено

Твой прогресс по каждой теме

The Agent Loop закрыта
  • Цикл агента30 → 82%
  • Контекст и токены41 → 74%
  • Агент или пайплайн18 → 66%
былоприростследующая траектория

Начни с бесплатной недели

  1. сегодня · 30 минЭкспресс-интервью
  2. день 1Полное интервьюПервая траектория
  3. дни 2–6Подготовка без лимитаВсё без лимита
  4. день 7Повторное интервьюПолное интервью

Без карты и автосписаний ·

WOW42 Апскилл