As asked
Tell me about a time you found a race condition in embedded firmware. How did you identify it, what was the impact, and what did you change to fix it?
Sample answer outline
A strong answer describes a specific incident: the setup (what the code was doing, why concurrency was involved), how the bug manifested (intermittent, hard to reproduce), the debugging approach (logic analyzer, added instrumentation, code inspection), the root cause (missing volatile, missing critical section, non-atomic read-modify-write), and the fix (interrupt disable, FreeRTOS mutex, LDREX/STREX). They should quantify the impact and mention what they added to prevent recurrence.
Expect these follow-ups
- How did you test that your fix actually eliminated the race rather than just making it less frequent?
- What code review or static analysis process would have caught this before it shipped?