Skip to main content

Cumulative Review (Semesters 0-6)

Use this as an interleaved review, not a rereading exercise. Answer closed-book first. Then verify with your notes, local book chunks, and prior-semester artifacts.


Instructions

  • Set a timer for 90-120 minutes.
  • Answer every question from memory before checking anything.
  • For every miss, write a one-paragraph correction in your own words.
  • Add new flashcards only for recurring misses or ideas you repeatedly confuse.

Questions

  1. Explain the difference between an algorithm that is asymptotically better and a system that is operationally better.
  2. Why do invariants matter in proofs, in debugging, and in transaction design?
  3. Give one example where a clean interface in software design reduces database risk later.
  4. What does locality of reference mean, and why does it matter for storage engines?
  5. Compare stack, heap, and disk as places where data can live during a request path.
  6. Why can a network timeout not be treated as proof that an operation failed?
  7. Design a schema for orders, customers, and payments. What are the keys and constraints?
  8. When would you deliberately denormalize, and what risk does that introduce?
  9. Write the steps you would use to verify whether a slow SQL query needs a new index or a query rewrite.
  10. What is the difference between a clustered storage layout and a secondary index lookup in practical cost terms?
  11. Compare B-trees and LSM trees using read amplification, write amplification, and space amplification.
  12. Why does a buffer pool exist, and what happens when the working set no longer fits well?
  13. Describe a workload where an index improves performance dramatically and another where the same index hurts.
  14. What is replication lag, and how can it leak into user-visible behavior?
  15. Why is failover not only a correctness problem but also an operational one?
  16. What makes partitioning harder than simply hashing rows across machines?
  17. Describe a hotspot and two different ways to mitigate it.
  18. Explain a read path and a write path for a leader-follower replicated system.
  19. What anomaly is prevented by serializable isolation that may still appear under weaker isolation?
  20. Contrast locking-based intuition with MVCC-based intuition.
  21. Why is durability not the same thing as immediate visibility?
  22. What does a transaction log buy you during crash recovery?
  23. Compare linearizability, serializability, and eventual consistency at a high level.
  24. Why are distributed systems hard even when every single node works correctly?
  25. What is a partial failure, and why does it break naive reasoning?
  26. Why do clocks create trouble in distributed systems?
  27. Explain quorum-style reasoning without using buzzwords.
  28. What job does a failure detector try to do, and why is it imperfect?
  29. Give one case where stronger consistency is worth the latency or availability cost.
  30. Give one case where eventual convergence is acceptable.
  31. How would you test a migration that changes schema and application behavior together?
  32. What signals would you monitor for a data service beyond CPU and memory?
  33. How does secret management intersect with database reliability and security?
  34. Why should rollback planning be stricter for schema changes than for ordinary code changes?
  35. Describe one case where measuring only average latency would mislead you.
  36. What prior-semester networking concept best helps explain replication behavior, and why?
  37. What prior-semester operating systems concept best helps explain buffering, logging, or scheduling effects in databases?
  38. What prior-semester software design concept best helps you keep data access code maintainable?
  39. What is the most expensive data-related mistake in your current project, and how would you prevent it earlier next time?
  40. If you had to defend your semester project to another engineer, what are the three most important tradeoffs you would present first?

Self-Grading Guide

Score each answer:

  • 2 = correct, clear, and defended with mechanism
  • 1 = partially correct but vague or incomplete
  • 0 = incorrect, guessed, or too fuzzy to trust

Interpretation:

  • 68-80: strong readiness for Semester 7
  • 52-67: acceptable, but patch weak spots before moving on
  • Below 52: review core modules before advancing

Repair Pass

After grading, write a short repair list with exactly three items:

  1. one concept gap
  2. one implementation gap
  3. one communication gap

Turn those into specific review tasks within the next seven days.