{"id":27806,"date":"2026-06-03T04:27:33","date_gmt":"2026-06-03T04:27:33","guid":{"rendered":"https:\/\/sharpinterview.online\/?sharp_quiz=python-interview-weakref-caching-pitfall"},"modified":"2026-06-03T04:27:33","modified_gmt":"2026-06-03T04:27:33","slug":"python-interview-weakref-caching-pitfall","status":"publish","type":"sharp_quiz","link":"https:\/\/sharpinterview.online\/?sharp_quiz=python-interview-weakref-caching-pitfall","title":{"rendered":"Python: Which practice avoids a common mistake with weakref and Object Lifetime?"},"content":{"rendered":"<h2>Question<\/h2>\n<p>Which practice avoids a common mistake with weakref and Object Lifetime?<\/p>\n<ol type=\"A\">\n<li>Ignore the weakref and Object Lifetime issue and rely on team discipline instead of clearer APIs or invariants.<\/li>\n<li>Do not treat weakref as a general replacement for explicit ownership because disappearing entries change program behavior and must be expected.<\/li>\n<li>Silence the weakref and Object Lifetime problem by using broad catches, hidden globals, or extra shared mutable state.<\/li>\n<li>Prefer the version of weakref and Object Lifetime that makes behavior less predictable as long as the code still runs.<\/li>\n<\/ol>\n<h2>Hint<\/h2>\n<p>Look for the option that protects correctness instead of hiding the problem.<\/p>\n<h2>Answer and rationale<\/h2>\n<p><strong>Correct answer:<\/strong> B. Do not treat weakref as a general replacement for explicit ownership because disappearing entries change program behavior and must be expected.<\/p>\n<p>Do not treat weakref as a general replacement for explicit ownership because disappearing entries change program behavior and must be expected. This is a common failure mode in real Python code and a frequent interview follow-up.<\/p>\n<p><strong>Track:<\/strong> Python<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Which practice avoids a common mistake with weakref and Object Lifetime?<\/p>\n","protected":false},"author":1,"featured_media":0,"template":"","topic":[88,124,89],"difficulty":[7],"class_list":["post-27806","sharp_quiz","type-sharp_quiz","status-publish","hentry","topic-python","topic-python-core-weakref-and-object-lifetime","topic-python-interview-questions","difficulty-medium"],"_links":{"self":[{"href":"https:\/\/sharpinterview.online\/index.php?rest_route=\/wp\/v2\/sharp_quiz\/27806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sharpinterview.online\/index.php?rest_route=\/wp\/v2\/sharp_quiz"}],"about":[{"href":"https:\/\/sharpinterview.online\/index.php?rest_route=\/wp\/v2\/types\/sharp_quiz"}],"author":[{"embeddable":true,"href":"https:\/\/sharpinterview.online\/index.php?rest_route=\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/sharpinterview.online\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=27806"}],"wp:term":[{"taxonomy":"topic","embeddable":true,"href":"https:\/\/sharpinterview.online\/index.php?rest_route=%2Fwp%2Fv2%2Ftopic&post=27806"},{"taxonomy":"difficulty","embeddable":true,"href":"https:\/\/sharpinterview.online\/index.php?rest_route=%2Fwp%2Fv2%2Fdifficulty&post=27806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}