Day 60 — Mock: Full Month 2

60 minutes · mock day · Trees, Heap, Graphs

Tonight's goal is one clean Month 2 interview rehearsal: three timed problems, spoken approach first, no solution text during the timer, and a score you compare to Day 30.

Tonight's protocol

  1. 0:00-0:05: answer the warm-up MCQs below. Do not open notes. Solving starts when this five-minute box ends.
  2. 0:05: start one strict 60-minute timer. Use the same Day 30 conditions from the mock-day protocol: timer first, talk first, code second.
  3. 0:05-0:25: solve the Trees problem. Spend the first 2 minutes saying the pattern, brute force, better approach, and time/space out loud.
  4. 0:25-0:45: solve the Heap problem with the same spoken checkpoint before typing. If stuck after 14 minutes in any box, look only at the pattern name in the menu.
  5. 0:45-1:05: solve the Graphs problem with the same spoken checkpoint. Stop when the timer ends; do not steal time from the score.
  6. After the timer: score 1 point for an accepted solution inside its box, 0.5 for the right invariant with unfinished code, and 0 for a wrong direction. Compare today’s percentage with Day 30; that comparison is the progress measure.

The problem menu

Three problems only. For each one, explain aloud before coding, then attempt without solution text.

SlotProblemPattern nameBox
Trees Diameter of Binary Tree Piggyback on Height: tree DFS return values 20 min
Heap Kth Largest Element in an Array Heap Top-K: min-heap of size k 20 min
Graphs Number of Islands Grid DFS: flood components 20 min

Warm-up MCQs

1. Which move matches tree recursion?

2. Diameter DFS should return what?

3. In Kth Largest, when the heap grows past k, what leaves?

4. What do two median heaps expose?

5. Fresh land in a grid starts what?

6. Which pair fits topological sort plus Dijkstra?

Self-check gate

Pass bar

Pass tonight if you score at least 2 out of 3 and you said the approach plus complexity before coding all three problems.

If you score below 2, or if any problem started with silent coding, write one mistake line for each failed problem and add those problems to the next revision day. Use the format WA: <missed invariant or implementation bug>.