Your question is Component Testing and Troubleshooting. Take a moment with it on the right.
Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).
Zipline's autonomous delivery drones stream telemetry packets to an onboard safety module that decides mid-flight whether a delivery should be aborted. A teammate wrote this first pass and asks you to review it before it goes anywhere near a flight test.
def should_abort_delivery(telemetry):
battery_pct = telemetry.get("battery_pct")
wind_speed_mph = telemetry.get("wind_speed_mph")
altitude_ft = telemetry["altitude_ft"]
errors = telemetry["error_codes"]
if battery_pct < 15:
return True
if wind_speed_mph > 25:
return True
try:
if errors[0] == "GPS_LOST":
return True
except:
pass
return False
How would you test this component? How would you troubleshoot the failures you'd expect it to have in production? And how would you change the code? Answer all three as free text — walk through your reasoning rather than submitting a rewritten file.