What happens, and what’s scored
Think of a driving test. The examiner doesn’t only check that you arrive at the destination. They watch you check the mirrors, signal, and slow down at the crossing. Arriving while running a red light fails the test; driving carefully and taking one wrong turn usually doesn’t.
A coding interview works the same way. You get a problem, usually about arrays, strings, maps or trees, and 30–45 minutes to solve it in a shared editor while talking to the interviewer. The answer matters, but so do the checks along the way: did you understand the problem, think about edge cases, choose a sensible approach, and test your code?
The format is standardized because it’s meant to be comparable across candidates: one to two problems in 45–60 minutes, a shared editor (often without a compiler), and a rubric with four or five dimensions. Senior candidates get the same kind of problems with a higher bar: faster to a working optimal solution, cleaner code, unprompted edge cases and complexity, and comfortable handling of follow-ups (“the input doesn’t fit in memory”, “now it’s a stream”).
At senior level, a correct solution delivered in silence often scores worse than a slightly slower one with clear reasoning, because the rubric can’t credit what it can’t see.
The four things on the scorecard
| Area | What earns points |
|---|---|
| Problem solving | Clarifies the problem, finds an approach, improves it, explains why it’s correct |
| Coding | Readable, working code with good names, in the language you chose |
| Verification | Tests with an example and edge cases, finds and fixes own bugs |
| Communication | Thinks aloud, explains trade-offs, uses hints well |
Notice that only one of the four is “write code”. Many candidates who fail can code well; they jump in without asking questions, go silent, or say “done” without testing. Those are habits, and the method in the next part fixes them.
Practical details
- Pick the language you’re fastest in. Interviewers rarely care which; use the one where you don’t have to think about syntax. Swift, Kotlin, Java and TypeScript are all fine.
- You may not be able to run the code. Many interviews use a plain shared editor. That’s why testing by hand (tracing an example) is a skill you need to practice.
- It’s fine to ask for a hint, or to say “I don’t remember the exact name of this method; I’ll write
sortedDescending()and we can assume it exists”. Inventing confident-sounding wrong things is worse than asking. - Online assessments (a timed test on a website with hidden test cases) are different: there, passing all tests is what counts, and nobody hears your reasoning.
Calibrating to the level
| Signal | Mid | Senior |
|---|---|---|
| Time to first working solution | Most of the session | Leaves time for follow-ups |
| Optimal approach | Reaches it with hints | Reaches it independently, explains why it’s optimal |
| Edge cases | Handles the ones prompted | Lists them during clarification |
| Follow-ups | Answers one | Discusses trade-offs across several (memory, streaming, concurrency) |
| Code | Works | Idiomatic, readable, no leftover debugging |
Senior loops often weight coding rounds less than design rounds, but a weak coding round still sinks a senior packet. “I’m senior, I don’t grind LeetCode” is a common way to fail an otherwise strong loop.
- 45–60 min, 1–2 problems, often no compiler. Rubric: problem solving, coding, verification, communication.
- Senior bar: optimal solution with time left for follow-ups, unprompted edge cases and complexity, idiomatic code, trade-off discussion under constraints (memory, streams, concurrency).
- A silent correct answer under-scores: the rubric only credits reasoning it can see.
Check this part
Which of these is scored in a coding interview?
Which language should you use?
What usually separates a senior coding round from a mid one?
You solve it optimally in silence. What's the risk?