Embedded Systems interview questions
500 questions with model answers, in four levels. Start with Basic, check yourself honestly, then move up.
Basic questions
- Embedded C & Bit Manipulation (13)
- Pointers, Memory & Linker Scripts (13)
- Microcontroller Architecture (ARM Cortex-M) (13)
- GPIO, Timers & PWM (13)
- ADC, DAC & Sensors Interfacing (13)
- Interrupts & Exceptions (13)
- Communication Protocols (UART, SPI, I2C, CAN, USB) (12)
- RTOS Concepts (12)
- Bootloaders & Firmware Updates (12)
- Low-Power Design (12)
- Debugging & Testing (12)
- Embedded Linux, Safety & Security (12)
Intermediate questions
- Embedded C & Bit Manipulation (13)
- Pointers, Memory & Linker Scripts (13)
- Microcontroller Architecture (ARM Cortex-M) (13)
- GPIO, Timers & PWM (13)
- ADC, DAC & Sensors Interfacing (13)
- Interrupts & Exceptions (13)
- Communication Protocols (UART, SPI, I2C, CAN, USB) (12)
- RTOS Concepts (12)
- Bootloaders & Firmware Updates (12)
- Low-Power Design (12)
- Debugging & Testing (12)
- Embedded Linux, Safety & Security (12)
Advanced questions
Advanced questions
- Embedded C & Bit Manipulation (11)
- Pointers, Memory & Linker Scripts (11)
- Microcontroller Architecture (ARM Cortex-M) (11)
- GPIO, Timers & PWM (11)
- ADC, DAC & Sensors Interfacing (11)
- Interrupts & Exceptions (10)
- Communication Protocols (UART, SPI, I2C, CAN, USB) (10)
- RTOS Concepts (10)
- Bootloaders & Firmware Updates (10)
- Low-Power Design (10)
- Debugging & Testing (10)
- Embedded Linux, Safety & Security (10)
Tricky questions
- Embedded C & Bit Manipulation (7)
- Pointers, Memory & Linker Scripts (7)
- Microcontroller Architecture (ARM Cortex-M) (7)
- GPIO, Timers & PWM (6)
- ADC, DAC & Sensors Interfacing (6)
- Interrupts & Exceptions (6)
- Communication Protocols (UART, SPI, I2C, CAN, USB) (6)
- RTOS Concepts (6)
- Bootloaders & Firmware Updates (6)
- Low-Power Design (6)
- Debugging & Testing (6)
- Embedded Linux, Safety & Security (6)
Sample questions
- What does the volatile keyword do?
- What is a map file?
- What does the GPIO speed or slew-rate setting control?
- What are nested interrupts?
- What is the RTOS tick?
- What is the difference between an LDO and a DC-DC converter?
- How do you extract a field of width w starting at bit position p?
- What is the Memory Protection Unit (MPU)?
- Why do GPIO inputs use Schmitt triggers?
- Why can an interrupt fire twice even though the ISR clears its flag?
- What is rate-monotonic scheduling?
- How can an RTOS-based system manage peripheral power cleanly?
- A register write works in a debug build but not with -O2. What would you suspect?
- What changes when you port firmware from a Cortex-M4 to a Cortex-M33 with TrustZone?
- How do you generate a sine wave with a DAC efficiently?
- A high-priority task occasionally misses its deadline. How would you investigate?
- How do you handle peripherals that lose state in deep sleep?
- In if (ready && read_and_clear_status()), is the status register always read?
- Can software debounce with a single 10 ms delay handle all buttons?
- Does vTaskDelay(10) always wait exactly 10 ticks?