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.
bool adc_selftest(void)
{
uint16_t raw = adc_read(CH_REF);
float v = raw * 3.3 / 4096;
if (v == 1.25f) return true;
log_fail("ref out of range");
return false;
}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.
AMD IndiaChipmaker · India hiring: MediumEatonIndustrial · India hiring: HighHCLTech ER&DEngineering services · India hiring: HighInfosys Engineering ServicesEngineering services · India hiring: HighIntel IndiaChipmaker · India hiring: HighMicrochipChipmaker · India hiring: HighNXP SemiconductorsChipmaker · India hiring: HighQuest GlobalEngineering services · India hiring: High
Related challenges
Flag the lines, say what breaks, then fix it and build it with clang in your browser.
Find the bugs