Career Playbook
Practising Well: Mock Interviews, Feedback Loops and Nerves
The four things interviewers score, techniques for before, during and after coding and when stuck, a mock-interview routine, a scoring sheet and a mistake log.
On this page
In one line: solving problems alone is only half of interview preparation. The other half is doing it out loud in front of someone, getting scored on the same things interviewers score, and learning from every mistake. Interviewing, as the Tech Interview Handbook puts it, "is a skill that you can get better at".
You can know every algorithm and still struggle in a real interview. The interviewer cannot see your thoughts, the clock is running, and you are nervous. Mock interviews, a scoring sheet and a mistake log are how you practise those parts. This lesson explains the four things interviewers score, the techniques to use before, during and after coding and when you are stuck, how to run a mock with a friend, and how to keep a mistake log.
This is the third lesson of the career series. The first was the resume guide and the second the study plan mapped to this site. For live-coding tasks in detail see Full-Stack Lesson 37, and for the system design version see Full-Stack Lesson 36. For how the interviewer thinks about the same signals, see Team Lead, Lesson 9.
What I read / checked. This lesson has no code, so I ran nothing. I read directly (raw text from GitHub, main branch, fetched on 11 October 2026) four pages of the Tech Interview Handbook by Yangshun Tay: coding-interview-rubrics.md, coding-interview-techniques.md, mock-interviews.md and coding-interview-prep.md. Statements marked "the handbook says" come from them. The scoring sheet, the mistake log, the routines for talking and for nerves are mine. Facts the handbook page does not cover: when to start mocks (that is in the study-plan page, see Lesson 1), whether to record yourself, and what specific feedback to ask for. My advice on those is opinion and general experience. I make no medical claims about nerves.
Words used in this lesson
- Rubric is the list of things an interviewer scores, with a description of strong and weak work for each.
- Signal is evidence from the interview that tells the interviewer something about you.
- Think aloud means saying your reasoning as you work, so the interviewer can follow and help.
- Dry run means tracing your code by hand with a small example, line by line.
- Mistake log is a notebook or file where you record each error, its cause and the fix.
- Feedback loop means you do something, get information about how it went, and change what you do next time.
What interviewers score: the four dimensions
The handbook's rubric page says coding interviews are scored on four dimensions, usually on bands such as strong hire, hire, no hire and strong no hire. The final decision comes from overall performance, not from a strict mathematical cutoff. The same four appear in the preparation page. In simple words:
| Dimension | What a strong performance looks like | What a weak one looks like |
|---|---|---|
| Communication | Thought process is thorough, organised and clear; the interviewer can follow it without difficulty | Jumping into code without explaining; disorganised; almost silent |
| Problem solving | Clarifies the problem, takes a systematic approach, reaches an optimised solution with correct complexity analysis, needs few hints, has time to discuss trade-offs | Only basic signals; cannot solve it or the approach is disorganised and wrong |
| Technical competency | The discussed solution becomes clean, working code with few bugs and neat style | Struggles to turn the approach into code; many syntax errors; no working solution |
| Testing | Tests typical and corner cases, finds and fixes own bugs, verifies systematically (for example by tracing line by line) | Misses corner cases; declares the code finished despite obvious bugs |
Notice how little of the score is "knows the trick". Three of the four are about how you work. That is good news, because how you work can be practised.
Techniques for the interview
The handbook's techniques page groups its advice by time. These points are from it, in my words:
Before you code
- Ask clarifying questions and discuss a few possible approaches with the interviewer.
- Work through more examples to understand the problem and spot a pattern. Do not start coding too early. These examples can later become your test cases.
- Choose an approach by drawing the problem, solving it by hand, breaking it into smaller functions, or applying common data structures and routines.
While you code
- Start with a high-level structure and fill in smaller functions separately. The page says this shows the interviewer you have an approach, even if you do not finish.
- Communicate your reasoning. Mentioning the best theoretical time complexity is described as a positive signal.
- Write efficient code: avoid redundant checks, cache repeated function calls, keep work out of loops, stop early when you can, and delay work you do not need yet.
After you code
- Verify the solution with your earlier examples used as test cases.
- If the interviewer asks "can we do better?", check the best theoretical time complexity, look for repeated computation, try a different data structure and remove redundant work.
- To reduce space, consider changing data in place (carefully, so you do not destroy input you still need) or switching to a more suitable data structure.
(The handbook page does not spell out dry runs or an edge-case checklist. The rubric page does mention tracing line by line and corner cases, and my list below adds a checklist.)
When you are stuck
The page gives a list you can learn by heart:
- Draw the problem and its internal states.
- Solve it by hand, then turn the manual rules into code. A working solution earns credit even if it is not optimal.
- Generate more examples to find a pattern.
- Break the problem into smaller independent parts.
- Systematically try common data structures and routines (hash map, sorting, stack, two pointers and so on).
And say what you are doing: "I am stuck on the fast part, so I will write the slow correct version first."
Mock interviews
The handbook's mock-interview page says the steps of an interview can be rehearsed until they become second nature. Its practical suggestions are: partner with a friend and take turns interviewing each other, or use a practice platform where you can interview engineers anonymously and give and receive feedback. It names interviewing.io as the author's experience. (I did not use any platform, and platform features change.) The study-plan page says to start scheduling mocks when you are about 60% through your plan.
How to run a mock with a friend (my routine)
- Pick a role each: interviewer and candidate. Swap after 45 minutes. Being the interviewer teaches you a lot, because you see what a clear explanation looks like from the other side.
- The interviewer picks an unseen problem of the right difficulty, and does not tell the answer. Use the same time limit as the real round (the handbook says rounds last 30 to 45 minutes).
- The candidate follows a fixed routine: restate, ask questions, give two examples, outline the approach with cost, code, test, optimise.
- The interviewer stays silent while the candidate is thinking, and gives a small hint only after a real attempt, as a real interviewer would. They write down every hint they gave.
- Score with the sheet below right after, in writing, before you talk about the result.
- Spend 10 minutes on feedback. The candidate says first what they think went well and badly. Then the interviewer adds.
- Write the lessons in your mistake log (below).
A scoring sheet (my version of the rubric)
Score each line from 1 (weak) to 4 (strong). Write one sentence of evidence for each.
| Dimension | Check | Score | Evidence |
|---|---|---|---|
| Communication | Restated the problem in my own words | ||
| Communication | Explained the approach before coding | ||
| Communication | Talked while coding without long silences | ||
| Problem solving | Asked about inputs, sizes and edge cases | ||
| Problem solving | Gave a correct approach, then improved it | ||
| Problem solving | Stated time and space cost correctly | ||
| Technical competency | Code ran in my head without syntax errors | ||
| Technical competency | Used clear names and small functions | ||
| Testing | Tried a normal case and an edge case | ||
| Testing | Found a bug myself before the interviewer did | ||
| Overall | Hints needed (count) |
The totals do not matter. The lowest line is what you work on this week.
Talking while you code
Many people can solve the problem silently and fail the round, because the interviewer has nothing to score. Habits that help:
- Narrate decisions, not keystrokes. Say "I will use a hash map so lookups are constant time", not "now I type a for loop".
- Name what you are unsure about. "I am not sure about duplicates; I will assume there are none and check later" is a good sentence.
- Pause on purpose. "Give me a minute to think" is fine. Ten silent minutes are not.
- Practise in the open. Solve practice questions out loud even when alone. It feels odd; that is the point.
- Record yourself. The handbook page does not cover this. My suggestion: record one practice solution and listen once. You will hear long silences, "um" and skipped reasoning that you cannot hear while you are working.
The mistake log
A mistake log turns each error into a lesson and shows your pattern over weeks. After every practice question or mock, write one row:
| Date | Question | What went wrong | Why (root cause) | What I do differently ||---|---|---|---|---|| 12 Oct | Longest substring without repeats | Used a Set but moved the left pointer one step too far | I did not trace a small example before coding | Always trace one example by hand first || 14 Oct | Merge intervals | Forgot to sort first | I jumped to code | Write the plan with "sort?" as step 1 || 15 Oct | Valid parentheses (mock) | Missed the empty-string case | No edge-case pass | Test empty and single element every time |Rules for using it:
- Write the root cause, not the symptom. "Off by one" is a symptom. "Did not trace an example" is a cause.
- Read it every week (see the weekly routine in Lesson 1). Re-solve two old mistakes.
- Count the causes after a month. If "did not trace an example" appears five times, you have found your habit to fix, and it is worth more than learning one more algorithm.
- Keep it short. One line per mistake, or you will stop writing.
The last ten minutes of an interview
- Do not stop at "it works". Say: "Let me test it" and run two normal examples and two edge cases (empty, one element, duplicates, very large).
- State the complexity in words: "This is linear in the length of the string and uses a hash map, so extra space is linear in the number of distinct characters."
- If you have time, offer an improvement or name the trade-off you did not take.
- If time is nearly out and the code is unfinished, say what the missing parts are and how you would write them. A clear plan earns more than a silent scramble.
- Then use your prepared final questions (see Full-Stack Lesson 38).
Handling nerves (modest advice)
Feeling nervous before an interview is normal. These habits are common sense and general experience, not medical advice:
- Practise the format, not only the content. Mocks make the real interview feel familiar. That is the main reason to do them.
- Have a routine for the first two minutes. For example: greet, restate the problem, ask two questions. A fixed start gives your mind something to hold on to.
- Slow down your voice and your typing when you notice you are rushing.
- If you freeze, return to the "when stuck" list above. Say what you see in the problem; then draw a tiny example.
- Prepare the basics: sleep, food, a quiet room and working audio for remote rounds.
- Treat a bad interview as data. Write what happened in the mistake log. Many strong engineers fail some interviews. If anxiety is affecting your life beyond interviews, talk to a qualified person.
Learning from rejection
- Ask for feedback politely. Some companies will not give it. Do not argue with a decision.
- Write down what you remember within a day: the question, where you got stuck, what you would change.
- Look for the lowest rubric dimension (communication, problem solving, technical competency or testing) and make it next week's focus.
- Keep the loop going. One more mock and one more log entry is more useful than worrying about one result.
Self-check
- Which four things does a coding rubric score? Communication, problem solving, technical competency and testing.
- Name three "before you code" techniques from the handbook. Ask clarifying questions, work through more examples, and choose an approach by drawing, solving by hand, splitting into small functions or applying common data structures.
- What are the "when stuck" steps? Draw the problem, solve it by hand then turn the rules into code, generate more examples, break it into parts, and try common data structures and routines.
- When should you start mock interviews, according to the handbook's study plan? At about 60% through the plan.
- Why swap roles in a mock? Being the interviewer shows you what a clear, easy-to-follow explanation looks like.
- What belongs in a mistake log row? Date, question, what went wrong, the root cause and what you will do differently.
- What should you do in the last ten minutes? Test normal and edge cases, state the complexity, offer an improvement, and if time is short explain the missing parts and your plan.
- What is one piece of advice in this lesson that the handbook pages do not cover? Recording yourself and listening once, or keeping a mistake log with root causes. Both are my suggestions.
Key takeaways
- Interviewers score communication, problem solving, technical competency and testing. Three of the four are about how you work.
- Use a fixed routine: clarify, examples, approach with cost, code, test, optimise. When stuck, draw, solve by hand, add examples, split the problem, try common tools.
- Mock interviews make the format familiar. Swap roles, use a real time limit, score in writing, then give feedback.
- A mistake log with root causes finds the habit you most need to change.
- Talk about decisions, not keystrokes. Silence gives the interviewer nothing to score.
- Treat nerves with preparation and routine, and treat a bad round as data, not a verdict.
What's next
You have finished the career series. Next steps: run your first mock with a friend this week and fill in the scoring sheet, then start your mistake log. For the live-coding and take-home formats see Full-Stack Lesson 37, and for the people side of interviews see Full-Stack Lesson 38.
Published by Jainik · Last updated · How these lessons are made
Keep learning
Related lessons
- Stories About Failure, Conflict and Hard Feedback · Behavioral Interviews
- 1:1s, Feedback, Delegation and Conflict · Team Lead Mindset
Part of the study guide
Related series