As asked
Design an OTA firmware update system for a device deployed in homes where physical recovery is expensive.
Sample answer outline
Use A/B firmware slots or a golden fallback image so a bad update does not brick the device. Download and verify the image with signatures and checksums before marking it bootable, then use a bootloader that only commits the new slot after the application reports healthy startup. Roll out gradually by device cohort, model, region, and power or network conditions, with telemetry on download failures, boot loops, and rollback rates. Include version anti-rollback if security requires it, but design a support path for emergency downgrade. Strong candidates discuss power loss during update and how the bootloader state machine handles it.
Expect these follow-ups
- How do you test the bootloader update path itself?
- What telemetry do you need before expanding rollout from 1 percent to 50 percent?
- How do you handle a device that loses power halfway through flashing?