Embedded Systems Engineer
Interview Questions.
15 practice questions across 11 skills — each with what the interviewer is really listening for. Prepare with intent, not guesswork.
Free · No signup · Grouped by skill
How to use this page
Don't memorise answers. For each question, read what the interviewer is looking for, then practise answering out loud in your own words with a real example. The notes describe strong answers and common red flags — they are for your prep, not a script.
C
2 questionsWhy is the volatile keyword important in embedded C, and when do you use it?
AdvancedWhat the interviewer is looking for: Strong answers explain that volatile prevents the compiler optimising away accesses to hardware registers or ISR-shared variables. Not knowing volatile is a red flag for embedded work.
How do you prevent race conditions when an ISR and main loop share data?
AdvancedWhat the interviewer is looking for: Look for critical sections, disabling interrupts briefly, atomic access, or lock-free patterns. Ignoring concurrency between ISR and main code is a red flag.
Firmware Development
2 questionsHow do you write an interrupt service routine correctly?
AdvancedWhat the interviewer is looking for: Look for keeping ISRs short, using volatile for shared data, avoiding blocking calls, and protecting shared state. Long ISRs or unsynchronised shared variables are red flags.
How do you structure firmware so hardware-dependent code is testable and portable?
AdvancedWhat the interviewer is looking for: Strong answers use a hardware abstraction layer and separate logic from drivers so code can be unit-tested. Tightly coupled, untestable firmware is a red flag.
RTOS
1 questionWhat does an RTOS give you, and when do you actually need one?
AdvancedWhat the interviewer is looking for: Strong candidates explain task scheduling, priorities, and determinism, and that simple systems may not need one. Adding an RTOS by default with no reason is a red flag.
Microcontrollers
1 questionHow do you work within tight memory and power constraints on a microcontroller?
IntermediateWhat the interviewer is looking for: Strong answers manage RAM/flash carefully, avoid dynamic allocation where risky, and use low-power modes. Assuming plentiful resources is a red flag.
Debugging Tools
1 questionHow do you debug a hard fault or a bug that only appears occasionally?
AdvancedWhat the interviewer is looking for: Look for using a debugger, watchpoints, logging, and reasoning about timing/memory corruption methodically. Randomly changing code hoping it fixes itself is a red flag.
Communication Protocols
1 questionHow do you choose and implement a communication protocol like I2C, SPI, or UART?
IntermediateWhat the interviewer is looking for: Strong candidates match the protocol to speed, distance, and pin constraints, and handle errors and timing. Not understanding the trade-offs between them is a red flag.
C++
1 questionWhen would you use C++ over C in embedded, and what features do you avoid?
AdvancedWhat the interviewer is looking for: Look for using classes and type safety while being cautious with exceptions, RTTI, and heavy dynamic allocation on constrained targets. Blindly using all C++ features is a red flag.
Troubleshooting
1 questionA device works on the bench but resets randomly in the field. How do you diagnose it?
AdvancedWhat the interviewer is looking for: Strong candidates consider watchdog resets, power brownouts, stack overflow, and EMI, reproducing methodically. Guessing without evidence is a red flag.
Git
1 questionHow do you use Git effectively for firmware, including releases?
BasicWhat the interviewer is looking for: Look for branching, tagging firmware versions, and reproducible builds. Untracked local builds shipped to devices are a red flag.
Embedded Systems
1 questionHow do you manage power consumption for a battery-powered device?
IntermediateWhat the interviewer is looking for: Look for sleep modes, duty cycling, and measuring real current draw. Ignoring power budget for a battery device is a red flag.
Verilog
1 questionWhen would you use Verilog/VHDL or an FPGA instead of a microcontroller?
AdvancedWhat the interviewer is looking for: Look for choosing programmable logic for true parallelism or hard timing needs, and a microcontroller for sequential control. Not knowing when hardware logic is warranted is a limitation.
Behavioural & role-general
2 questionsTell me about a challenging embedded bug you solved.
BasicWhat the interviewer is looking for: Strong answers describe the symptom, methodical diagnosis, root cause, and fix, showing deep debugging. A vague story with no method is a red flag.
How do you keep learning across the hardware/software boundary this role spans?
BasicWhat the interviewer is looking for: Look for hands-on projects, reading datasheets and app notes, and curiosity about both sides. Staying only on the software side is a limitation for embedded.