Example report
Coding mock interview on a weak day: an example feedback report
If you read nothing else
Not yet at the Regular bar: the gaps below matter most.
Strength: Your complexity arithmetic was solid once prompted — converting 10^14 operations into roughly eleven days was exactly the right move.
Ten to the fourteen over ten to the eight... is ten to the six. A million seconds.Your words, 29:38
Gap: Fix the sliding-window left pointer. Your window idea was right, but the left pointer could move backwards, so 'abba' gave 3 instead of 2.
Then a at three, a was at zero, so left goes to... one? That moves left backwards.Your words, 20:41
Gap: Predict outputs before you run. You wrote the first version and only then discovered four failures at once, and 'abba' surfaced only when the interviewer named it.
Okay. I think that's it. Let me run it.Your words, 9:01
You hesitated and used hedging phrases
When asked “It is. Can you do better than that?” (Q1), you hesitated and used hedging phrases: you took 13.0 s to start (your usual 5.0 s); a 3.4 s pause mid-answer; your pace ranged from 3.0 to 5.8 syllables per second; 4 hedges such as 'Maybe'; 2 restarted sentences.
- Time to start 13.0 s vs your usual 5.0 s
- Longest pause 3.4 s
- Your pace swung 68% vs your usual 40% (3.0 to 5.8 syllables/s)
- Hedging 4 (“Maybe”, “kind of”, “I'm not sure”)
- Restarted sentences 2
I've seen sliding window for this kind of problem, but I don't remember exactly how it goes.Your words, 4:02
Try: Start with a one-line headline ('My approach is X because Y') and think aloud from there instead of in silence.
Fix the sliding-window left pointer
Implement longest substring without repeating characters from scratch. First trace 'abba' and 'pwwkew' on paper, write your left-pointer rule, then code and run both plus an empty line.
What happened
You worked through two problems: longest substring without repeating characters, then two-sum. You got a working brute-force two-sum and a sliding window that passed most examples, but the abba case and the empty input stayed broken. Your main takeaway: trace small cases on paper before coding, and finish one fix before switching approaches.
For the Regular level, this performance is below the bar.
You answered all 2 planned questions.
After that
More ways to practice, in order of impact
- 1
Predict outputs before you run: Before running any solution, write three inputs on paper — empty, all-same-character, and one repeat after a gap — and predict the output for each. 10 minutes.
- 2
Retry the same questions and compare your result with this one.
Scorecard
Each skill from the rubric, scored 1 to 5, with the moments it was based on
Also went well
- You thought out loud throughout, which made your reasoning easy to follow and to correct.
- You debugged methodically with print statements and hand traces, and you were honest when a result was luck rather than correctness.
Also to improve
- Finish the fix instead of describing it: the abba bug and the two-sum self-pairing both had one-line fixes you identified but never ran.
- Hand-trace the algorithm on a tricky case before writing code — the off-by-one and the backwards left pointer would both have shown up.
- Handle input edge cases (empty line, spaces) as part of the solution, not as an afterthought.
What an interviewer might worry about
- Twice you accepted passing examples without checking why they passed, and both times they were passing by accident.
- You claimed O(1) space for a dictionary that grows with the input.
- When stuck you offered to fall back to brute force rather than pushing on the window fix.
Question by question
Open a question to see which key points you covered, in your own words, and what a stronger answer sounds like.
Your code, each issue with the line it is about, and the complexity you said against the actual one.
Coaching
The few changes that matter most, with a way to practice each one
1
Fix the sliding-window left pointer
Your window idea was right, but the left pointer could move backwards, so 'abba' gave 3 instead of 2. You traced it correctly and then had no rule to repair it, which is where most of the first problem's time went.
Then a at three, a was at zero, so left goes to... one? That moves left backwards.Your words, 20:41
How to practice: On paper, trace 'abba' and 'pwwkew' with a left pointer and a last-seen map. Write the rule for moving left so it never goes backwards, then code it and run both cases. 20 minutes.
2
Predict outputs before you run
You wrote the first version and only then discovered four failures at once, and 'abba' surfaced only when the interviewer named it. A short hand-trace first would have caught the off-by-one and the empty-input crash before running.
Okay. I think that's it. Let me run it.Your words, 9:01
How to practice: Before running any solution, write three inputs on paper — empty, all-same-character, and one repeat after a gap — and predict the output for each. 10 minutes.
3
Name the variable in space bounds
You called the dictionary O(1) space and then were unsure how large it could grow. Saying 'O(k) where k is the number of distinct characters' shows you know the bound instead of guessing.
It's one loop, so O(n). And space is O(1), it's just a dictionary.Your words, 22:36
How to practice: For every solution you write this week, say the space bound out loud as 'O(k) where k is ...' and name exactly what k counts. 10 minutes.
Pace, pauses, fillers and pitch, measured from your voice. Signals, not judgments.
What Vera wrote down while listening
Three more notes
107 turns, word for word
Mockich is a practice tool. Scores and delivery signals are guidance for your preparation, not a prediction of a real hiring decision.
Code runs in this session25 runs, 14 of 24 example checks passed
What the code runner returned to the student, in order: real executions of their code in the sandbox, on each question’s own data.
9:12Question 1Ran every example0/4 passed
2
Example 1: a string -> length: differs from the expected output.
line 1, expected3yours20
Example 2: all the same: differs from the expected output.
line 1, expected1yours02
Example 3: repeat inside the window: differs from the expected output.
line 1, expected3yours2No output.
Edge: empty string (empty line): differs from the expected output.
11:47Question 1Ran with their own input ("abcabcbb")Ran
0 a 0 0 1 b 0 1 2 c 0 2 3 a 1 2 4 b 2 2 5 c 3 2 6 b 5 2 7 b 7 2 2
15:03Question 1Ran every example2/4 passed
3
Example 1: a string -> length: matches the expected output.
1
Example 2: all the same: matches the expected output.
4
Example 3: repeat inside the window: differs from the expected output.
line 1, expected3yours4No output.
Edge: empty string (empty line): differs from the expected output.
19:25Question 1Ran every example3/4 passed
3
Example 1: a string -> length: matches the expected output.
1
Example 2: all the same: matches the expected output.
3
Example 3: repeat inside the window: matches the expected output.
No output.
Edge: empty string (empty line): differs from the expected output.
27:14Question 2Ran every example2/4 passed
0 1
Example 1: n, numbers, target -> two indices: matches the expected output.
0 0
Example 2: numbers not in order: differs from the expected output.
line 1, expected1 2yours0 00 0
Edge: duplicate values: differs from the expected output.
line 1, expected0 1yours0 00 2
Edge: negative numbers, target 0: matches the expected output.
28:31Question 2Ran every example4/4 passed
0 1
Example 1: n, numbers, target -> two indices: matches the expected output.
1 2
Example 2: numbers not in order: matches the expected output.
0 1
Edge: duplicate values: matches the expected output.
0 2
Edge: negative numbers, target 0: matches the expected output.
31:32Question 2Ran every example3/4 passed
0 1
Example 1: n, numbers, target -> two indices: matches the expected output.
0 0
Example 2: numbers not in order: differs from the expected output.
line 1, expected1 2yours0 00 1
Edge: duplicate values: matches the expected output.
0 2
Edge: negative numbers, target 0: matches the expected output.