Skip to content

A useful first step · no account needed

Try a skill. See how you think.

Free sorting animations, Python debugging exercises and an interview answer builder. Start without an account and choose a practical next step.

Today’s practice pick · 2026-10-21

Turn experience into a clear answer

Leave with one truthful interview story. About 5 minutes to get started.

Try today’s exercise ↗

Explore. Try. Explain.

Leave with something you understand.

Try the tool first, then go deeper with worked examples, explanations and practice questions.

A simple way to practise

  1. Start with a prediction. Say what you expect before revealing the next animation step, answer or code output.
  2. Read the explanation. Every tool has a full lesson, three worked examples, common mistakes and ten self-check questions below the interactive area.
  3. Change one thing. Try a new input or a detail from your own experience. Explain what changes and what stays true.
  4. Keep a small record. Write down one idea you understand and one question to revisit. Mark a plan session complete when you can explain its completion check.

Make the next step obvious

Your first seven practice sessions

Choose a goal. Each session gives you one task; take as long as you need.

I’m learning to code

  1. Trace a value — Read the variables guide and predict a value before running the example.
    Example and completion check

    Start with points = 3, then points = points + 2. Write the value after each line. Change the starting value to 0 and predict the result again before checking it.

    Ready to move on? You can explain why the second assignment reads the old value and stores a new one: the first run ends at 5.

  2. Spot a boundary mistake — Try the first two debugging exercises. Explain why the loop stops where it does.
    Example and completion check

    For the first gym exercise, list the indices of [2, 4, 6]: 0, 1 and 2. Compare those with the indices produced by the original loop. In the next exercise, distinguish text from a number.

    Ready to move on? You can identify the omitted final index and explain why converting valid numeric text differs from concatenating strings.

  3. Follow a decision — Use the Python course outline to find a conditions lesson and write your own example.
    Example and completion check

    Try a rule that accepts ages of 18 or above. Trace inputs 17, 18 and 19 through the condition. Write which branch runs and why the exact boundary matters.

    Ready to move on? Your rule includes 18, rejects 17 and has an explanation for each branch. Check the conditions lesson rather than guessing syntax.

  4. See values move — Step through one sorting pass and predict the next swap.
    Example and completion check

    Load [5, 1, 4, 2]. Before each Next step, predict whether the highlighted neighbours will swap. Write the list at the end of pass one.

    Ready to move on? You obtain [1, 4, 2, 5] and can explain why 5 is settled while 4 and 2 still need work.

  5. Test the edge cases — Make a three-case test plan: normal, empty and boundary input.
    Example and completion check

    Choose a function that totals a list. Write expected outputs for [2, 4], [] and [0]. Explain which requirement each test checks.

    Ready to move on? Your expected totals are 6, 0 and 0. You can distinguish an empty input from an input containing zero.

  6. Read unfamiliar code — Use a documentation example and explain one line you did not understand before.
    Example and completion check

    Pick one short documentation example. Identify its inputs, returned value and one unfamiliar operation. Change one input on paper and predict the effect before trying it locally.

    Ready to move on? You can explain the changed line without copying the documentation wording, and you know where to check an uncertain detail.

  7. Explain a small achievement — Build a truthful story about a program or exercise you completed this week.
    Example and completion check

    Choose an exercise you actually finished. Describe what was confusing, what you tried, how you checked the result and what you would do next. Copy or download the draft before leaving.

    Ready to move on? Your story names your own action and a real check. It does not claim a course exercise was professional work.

I want to understand DSA

  1. Follow one sorting pass — Predict each comparison and describe which value reaches its final position.
    Example and completion check

    Use [4, 1, 3, 2]. Predict the three comparisons and record the list after every swap. Read the worked trace if your prediction differs.

    Ready to move on? The first pass ends at [1, 3, 2, 4]. You can state the pass guarantee without claiming the entire list is sorted.

  2. Compare costs — Read the complexity guide and contrast linear and quadratic work.
    Example and completion check

    Compare a scan of n items with n(n - 1) / 2 pair comparisons. Use n = 4 and n = 8 to calculate concrete totals before discussing growth.

    Ready to move on? The scan counts are 4 and 8; the pair counts are 6 and 28. You can explain the difference between a concrete count and an asymptotic bound.

  3. Practise a data structure — Choose a stack or queue game. Watch the example before a scored attempt.
    Example and completion check

    For a queue, enqueue A then B, and predict the first dequeue. For a stack, push A then B, and predict the first pop. Use an unscored example before a game attempt.

    Ready to move on? The queue removes A first and the stack removes B first. Scored games pause for 15 minutes after three wrong attempts; lessons remain available.

  4. Debug a loop — Solve the boundary exercises and add an input that would catch the original bug.
    Example and completion check

    Trace the summing exercise with [2, 4, 6]. Explain which index is skipped, then choose a fix. Test a one-item list and an empty list too.

    Ready to move on? Your regression case catches the original missing-last-value bug, and you can explain why a matching sample alone is insufficient.

  5. Explore a pattern — Browse two pointers and sliding windows. Choose one lesson you are ready for.
    Example and completion check

    For a sorted list [1, 2, 4, 7] and target 8, consider pointers at both ends. Compare the sum, then explain which pointer would move if the sum were too small or too large.

    Ready to move on? You can explain why sorted order matters before applying two pointers. Open the course outline and choose the relevant lesson; course progress needs an account.

  6. Check your assumptions — Try repeated and negative values in the sorting visualizer. Explain what stays true.
    Example and completion check

    Sort [3, -1, 3, 0]. On paper, label the equal values 3A and 3B. Watch whether the strict greater-than comparison ever exchanges equal neighbours.

    Ready to move on? The result is [-1, 0, 3, 3], and the equal items keep their original relative order. You can separate value equality from item identity.

  7. Explain a trade-off — Summarise one approach, its complexity and an edge case in your own words.
    Example and completion check

    Write a short explanation of bubble sort covering its local rule, pass invariant, worst-case time and auxiliary space. Add the already-sorted case and one reason to prefer a built-in sort in ordinary code.

    Ready to move on? Your explanation gives O(n²) worst-case time and O(1) algorithm auxiliary space, while keeping animation snapshot storage separate.

I’m preparing for an interview

  1. Choose a real example — Draft a STAR story using a project, course or work experience you can explain honestly.
    Example and completion check

    Choose a specific event from work, study, volunteering or a personal project. Write four notes: context, your responsibility, your decision and the observed result.

    Ready to move on? You can answer a factual follow-up about the event. Copy or download the draft because reloading clears the story builder.

  2. Explain your contribution — Practise aloud and remove details that hide what you personally did.
    Example and completion check

    Read your draft aloud. Mark sentences that name your actions. Replace a vague phrase such as “we solved it” with an accurate description of your own part and the help you received.

    Ready to move on? A listener can distinguish your contribution from the team outcome. Your result claims stay within what you actually observed.

  3. Identify the requirements — Save a target job in your private workspace. Separate stated requirements from assumptions.
    Example and completion check

    From the actual job description, separate explicit requirements from assumptions. Pick the three most relevant gaps or strengths and save the role in your workspace when signed in.

    Ready to move on? You can point to the wording behind each requirement. You have a focused practice target instead of an invented interview process.

  4. Show your reasoning — Solve a debugging exercise, then explain the cause before describing the fix.
    Example and completion check

    Choose one debugging exercise. State the expected result, trace the current code and explain the underlying cause before revealing the correction.

    Ready to move on? Your explanation includes a test that fails before the fix and passes afterwards. You can describe the cause without relying only on the selected answer.

  5. Review one technical topic — Choose a guide connected to the saved job instead of studying every topic at once.
    Example and completion check

    Choose a guide linked to a stated job requirement. Work through its example, then explain it aloud without reading. Write one question you still cannot answer.

    Ready to move on? You have one concrete explanation and one identified gap, rather than a list of topics you only skimmed.

  6. Prepare follow-up questions — Use your workspace stages and free question-bank outlines to practise possible follow-ups.
    Example and completion check

    Choose one saved preparation stage. Practise a question-bank prompt, then ask “Why this approach?”, “What changes with a different constraint?” and “How would I check it?”.

    Ready to move on? You have notes for one main answer and two useful follow-ups. Free question-bank outlines do not require AI generation.

  7. Rehearse and reflect — Use the story timer. Note one sentence to simplify and one detail worth keeping.
    Example and completion check

    Use the optional 90-second timer once. Shorten background that hides the decision, check every outcome claim and ask a trusted person what remains unclear.

    Ready to move on? Your next version is easier to follow and remains truthful. Save it outside the tab; the timer and checklist do not assess hiring readiness.

Before you begin

Clear answers. A clear next step.

Can I try it without signing up?

Yes. The Practice Lab visualizer, debugging exercises and interview story builder are open to everyone. An account is needed to save course progress, play scored games and use a private job workspace.

What is free, and what uses AI?

Guides, Practice Lab exercises and question-bank practice do not require AI generation. Personalised job analysis and Coach or Mock answer feedback use AI and have availability and plan limits.

Does completing a practice plan make me interview-ready?

A plan helps you practise consistently. It is not a certification, skills assessment or guarantee of an interview or offer. Use it to identify useful next steps and get feedback on your explanations.

Where are my Practice Lab answers stored?

The story builder keeps text only in the current tab until you copy or download it. Starter-plan checkmarks are stored on this browser when storage is available. They are separate from signed-in course progress.