← Live coding · Lesson 1 of 5

Before you type: restate, ask, plan

Spend the first few minutes making sure you understand the problem, then say your plan out loud.

What they’re listening for

  • • Do you understand the problem before you start coding?
  • • Do you ask about inputs and edge cases?
  • • Do you have a plan, and can you explain it?

The whole track uses one problem: you get a list of meetings, each with a start and end hour, and you merge the ones that overlap. In the first few minutes, most of the value is in talking, not typing. Restate the problem, ask a couple of questions, try a tiny example, and say your plan.

Stiff vs. natural

Interviewer: “So, given a list of meetings with start and end hours, merge any that overlap.”

Sounds stiff

“(starts typing right away) Okay. I will now implement the function.”

Sounds natural

“Okay, let me make sure I've got it. I get a list of meetings, each one a start and end hour, and I return the list with any overlapping meetings combined into one. Two quick questions before I start: is the list already sorted? And if one meeting ends at 10 and the next starts at 10, should those merge?”

  • Restating in your own words catches misunderstandings early.
  • Asking about sorting and back-to-back meetings shows you think about edge cases.
  • “Before I start” tells them you have a process.

A tiny example, then the plan

  1. Interviewer

    “Not sorted. And yes, back-to-back meetings should merge.”

  2. You

    “Got it. Let me try a small example by hand. Say 10 to 12, 9 to 11, and 14 to 15. Sorted by start time, that's 9 to 11, 10 to 12, then 14 to 15. The first two overlap, so they become 9 to 12, and 14 to 15 stays on its own.”

    A small example, said out loud, checks that you both mean the same thing.

  3. You

    “So my plan: sort by start time, then go through once, and either stretch the last meeting or add a new one. The sort makes it n log n. Does that sound okay before I start typing?”

    Plan and complexity first, then a quick check-in.

  4. Interviewer

    “Sounds good, go for it.”

Starting a coding problem

  • “Let me make sure I've got this right…”Restating the problem.
  • “Quick question before I start:”Asking about the input.
  • “What should happen if…?”Asking about an edge case (empty list, ties).
  • “Let me try a tiny example by hand.”Walking through an example.
  • “The simple way would be…, but I think we can do better.”Mentioning the brute-force idea first.
  • “Does that sound reasonable before I start coding?”Checking in on your plan.

Now say it out loud

Rehearse with the AI interviewer and get feedback on your answers.