The code
Embedded C for Cortex-M. It compiles. There are 3 real bugs in it: the kind that pass a bench test and fail in the field.
void enter_sleep(void)
{
uart_puts("Sleeping\r\n");
HAL_SuspendTick();
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON,
PWR_STOPENTRY_WFI);
HAL_ResumeTick();
uart_puts("Awake\r\n");
}What an interviewer expects
- Point to each line you'd stop in a code review.
- Say what actually breaks: the failure mode, not just the rule it violates.
- Fix it, then defend the fix when asked the follow-up.
The bugs, reference fixes and the follow-up question are in the practice app, after you've tried it.
Companies that test this
Matched on the skills each company's embedded roles emphasise.
Amazon devices (Lab126, Kuiper)Consumer devices · India hiring: MediumAnalog DevicesChipmaker · India hiring: MediumAppleConsumer devices · India hiring: LowDysonConsumer devices · India hiring: LowGarminConsumer devices · India hiring: LowGoogle (Pixel, Nest, Fitbit)Consumer devices · India hiring: LowLogitechConsumer devices · India hiring: LowMeta Reality LabsConsumer devices · India hiring: Low
Related challenges
Flag the lines, say what breaks, then fix it and build it with clang in your browser.
Find the bugs