Firmware software engineer interview questions shared by candidates
Describe the two different uses of the "volatile" keywork in C.
One is to turn off compiler optimaztions that remove loops with global variables.
It's to inform compiler that the variable may be altered runtime by another process. This is actually pretty useful in debugging using ICD, you can modify volatile variables and the new value will be used in execution in the instruction that's following your modification.
Besides the normal software development questions, many questions about using version control, Linux dev tools, various embedded system hardware interfaces such as I2C, SPI bus, etc.
There's not a particular question that's most difficult. I'd recommend being pretty up on RTOS and recent embedded microcontrollers. In my case I feel I am rather up on C, C++, board design and bringup, hw tools, author-level linker and debugger tech, fair RTOS understanding at a kernel level, register-level ARM and AVR understanding, and decades of UNIX experience, and those didn't get me to "yes", despite all those fitting the job description. So you might wish to set expectations that a whole constellation of judgement may be at play and a good technical show may be just half of the requirements. I really don't know why I wasn't selected, unfortunately, so my guess is in a market like SF or Seattle one gets a pretty sweet pool from which to choose.
See Interview Questions for Similar Jobs
- Mechanical Engineer
- Registered Nurse
- Truck Driver
- Dental Assistant
- Sales Associate
- Graphic Designer
- Human Resource
- Medical Assistant