{"id":27781,"date":"2026-06-03T04:27:31","date_gmt":"2026-06-03T04:27:31","guid":{"rendered":"https:\/\/sharpinterview.online\/?sharp_quiz=python-interview-subprocess-boundary-safety-pitfall"},"modified":"2026-06-03T04:27:31","modified_gmt":"2026-06-03T04:27:31","slug":"python-interview-subprocess-boundary-safety-pitfall","status":"publish","type":"sharp_quiz","link":"https:\/\/sharpinterview.online\/?sharp_quiz=python-interview-subprocess-boundary-safety-pitfall","title":{"rendered":"Python: Which practice avoids a common mistake with subprocess and Shell Boundary Safety?"},"content":{"rendered":"<h2>Question<\/h2>\n<p>Which practice avoids a common mistake with subprocess and Shell Boundary Safety?<\/p>\n<ol type=\"A\">\n<li>Do not interpolate untrusted input into shell strings when an argument list and direct invocation would preserve safety and clarity.<\/li>\n<li>Ignore the subprocess and Shell Boundary Safety issue and rely on team discipline instead of clearer APIs or invariants.<\/li>\n<li>Silence the subprocess and Shell Boundary Safety problem by using broad catches, hidden globals, or extra shared mutable state.<\/li>\n<li>Prefer the version of subprocess and Shell Boundary Safety 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> A. Do not interpolate untrusted input into shell strings when an argument list and direct invocation would preserve safety and clarity.<\/p>\n<p>Do not interpolate untrusted input into shell strings when an argument list and direct invocation would preserve safety and clarity. 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 subprocess and Shell Boundary Safety?<\/p>\n","protected":false},"author":1,"featured_media":0,"template":"","topic":[88,119,89],"difficulty":[7],"class_list":["post-27781","sharp_quiz","type-sharp_quiz","status-publish","hentry","topic-python","topic-python-core-subprocess-and-shell-boundary-safety","topic-python-interview-questions","difficulty-medium"],"_links":{"self":[{"href":"https:\/\/sharpinterview.online\/index.php?rest_route=\/wp\/v2\/sharp_quiz\/27781","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=27781"}],"wp:term":[{"taxonomy":"topic","embeddable":true,"href":"https:\/\/sharpinterview.online\/index.php?rest_route=%2Fwp%2Fv2%2Ftopic&post=27781"},{"taxonomy":"difficulty","embeddable":true,"href":"https:\/\/sharpinterview.online\/index.php?rest_route=%2Fwp%2Fv2%2Fdifficulty&post=27781"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}