Skip to lesson
Exit
Capstone: Full Mock Loop1 / 3

1 min lesson

Mock coding under confirmed constraints

Match each case in "Mock coding under confirmed constraints" to the signal and response that fit it.

Step 1 of 3

The posting says there are 2–3 short technicals, but it does not publish their topics or tool rules. Before practising, ask recruiting about the timebox, editor, autocomplete, chat and other AI assistance. Rehearse with that exact setup.

Pick one editor-flavored problem as a role-relevant drill and use the confirmed timebox. If tools are restricted, solve with only the permitted setup. If AI is allowed, review and test every generated change. In either mode, keep your reasoning clear enough for another person to follow.

Learn more

Full explanation

Role-relevant drill

Role-relevant drill: apply non-overlapping edits to one buffer. Use only the tools confirmed for the round.ts
interface Edit {
  start: number; // inclusive char offset
  end: number;   // exclusive char offset
  text: string;  // replacement
}

function applyEdits(source: string, edits: Edit[]): string {
  // Reject overlaps up front; they make the result ambiguous.
  const sorted = [...edits].sort((a, b) => a.start - b.start);
  for (let i = 1; i < sorted.length; i++) {
    if (sorted[i].start < sorted[i - 1].end) {
      throw new Error("overlapping edits are not applicable");
    }
  }
  // Apply from the end so each splice can't shift an earlier edit's offsets.
  let out = source;
  for (let i = sorted.length - 1; i >= 0; i--) {
    const e = sorted[i];
    out = out.slice(0, e.start) + e.text + out.slice(e.end);
  }
  return out;
}

Whether you write the code directly or use permitted assistance, you should be able to explain why it sorts descending, why it rejects overlaps, what its complexity is and how you would change it for a much larger buffer.

Learn more

Optional practice

Test yourself on Mock coding under confirmed constraints

QWhen applying a list of edits (start, end, replacement) to a buffer, why apply them in descending position order?