Week 19 — Practical Engineering: Design & Parsing
Month 04 · Week 19 · Theme: Production-style design problems
This week shifts from algorithmic puzzles to engineering judgment: parsing, OOP design, and APIs that real interviewers use as the “second-round system question that’s still coding”.
Why This Week Matters
The bar for Senior+ engineers is no longer “can you solve LC Hard”. It’s “can you design a class hierarchy under time pressure that handles edge cases, scales, and has clean APIs”. This week trains that muscle on five canonical design problems.
Daily Schedule
| Day | Problem | Pattern |
|---|---|---|
| Mon | p96 — Basic Calculator II | LC 227 · stack-based parsing |
| Tue | p97 — Text Justification | LC 68 · greedy line packing + simulation |
| Wed | p98 — Design Circular Queue | LC 622 · fixed-size ring buffer |
| Thu | p99 — Design Log Storage System | LC 635 · range query on timestamps |
| Fri | p100 — Design In-Memory File System | LC 588 · OOP + trie + path parsing |
Readiness Gate
By Friday you should be able to:
- Write a recursive-descent or stack-based expression parser cold.
- Implement Text Justification with all spacing rules right the first time.
- Implement a circular buffer with
front/rear/sizeinvariants. - Design a hierarchical filesystem with
ls/mkdir/addContentToFile/readContentFromFilein 30 min. - Explain time/space tradeoffs for each design and a follow-up that breaks it (concurrency, persistence, scale).
Connection to Interview Loop
These problems appear in the “design but still coding” round at FAANG — typically 45 min, expects working code AND class-design discussion. Bombing the design discussion at Senior+ is the #1 reason candidates get downleveled.