~20 minutes · Days 7, 14, 21, 29, 30 · mock-day process
Mock and mixed days are different from normal lesson days. There is no new LeetCode pattern to collect. The interview skill is choosing a direction under pressure, saying it clearly, and keeping the timer honest. This lesson gives you one protocol to run on Days 7, 14, 21, 29, and 30.
Under a strict timer, state your approach and its complexity out loud before you write a line of code — the talking is the skill being tested.
That sentence is the whole day. A mock is not silent homework with a stopwatch attached. It is a rehearsal for the first two minutes of an interview: read, classify, propose, estimate, then code.
The tempting version is O(T) time with almost no learning: start the timer, code silently, peek when stuck, and mark the session by whether tests pass. That burns the full session time T, but it does not tell you which skill broke: pattern choice, complexity, implementation, or communication.
The better version keeps the same timer, but forces a clean checkpoint before coding and a clean note after comparing.
Mock-day protocol: the same timer, but the spoken approach comes before any code.
Treat this Python as the checklist, not as a program to submit:
def run_mock_day(problems, minutes):
start_strict_timer(minutes) # no pausing once it starts
for problem in problems:
say_approach_and_complexity(problem) # before code
attempt_without_solution(problem) # real interview pressure
if stuck_at_25_minutes(problem):
read_pattern_name_only(problem) # one small hint
attempt_ten_more_minutes(problem)
record_reasoning_gap(problem) # not just pass/fail
compare_then_encode(problems) # after the timer
The key move is the first real line inside the loop: speak before typing. If the first sentence is confused, the code usually becomes confused too.
Day 14 says "3 problems, 45 min timed." Days 29 and 30 say "Full Month-1 mock." Before opening the reveal: should those days use different rules, or the same skeleton with a different problem set?
Same skeleton. Only the set changes. Day 14 pulls from strings and sliding window. Days 29 and 30 pull from the whole Month-1 block: arrays, strings, sliding window, stack, and linked list. The invariant stays the same: timer first, approach and complexity out loud, code second, compare after.
| Approach | Time | Space |
|---|---|---|
| Loose mixed day (silent coding) | O(T) session time | O(1) useful notes |
| Mock protocol (talk, attempt, compare, encode) | O(T) session time | O(k) mistake notes |
Here T is the timer length and k is the number of problems reviewed. The time cost is the same. The protocol buys a record of what actually failed.
1. What happens before the first code line?
2. The timer reaches 25 minutes and you are stuck. What next?
3. Which note belongs in the tracker after compare?
4. Which day uses this same protocol?
Run this exact checklist on each mixed or mock day:
This is a process lesson, so there is no single problem video to watch. At the compare step, use the solution link attached to whichever problem was in the timed set, then write where that explanation diverged from your first plan.