Memory · interview question
A bug appears around long-lived objects. What is the strongest first debugging move?
Multiple choiceHardchapter-16-curatedpremiummemorylong-lived-objects
cache = []
for row in rows:
cache.append(row) # keeps every row alive for the whole processAnswer and explanation
Correct answer
B. Trace one concrete example, inspect the state transitions, and compare them to the intended rule before rewriting anything.
Why
That approach is reliable because it creates evidence. If everything is kept 'just in case', memory usage becomes a design problem rather than a garbage collector problem.
Test yourself on Memory
A free test with instant, explained results. No account needed.
More Memory questions
- What kind of contract clarity matters most for tracing allocations?
- Which explanation would best help the team align on long-lived objects?
- Which option is the safer default when shipping code around tracing allocations?
- Which option treats tracing allocations as an engineering policy decision instead of a syntax trick?
- If long-lived objects fails in production, what handling philosophy is strongest?
- What production risk should you worry about most if long-lived objects is handled lazily?