Embedded C and Peripherals
Brightskies interview question (Egypt) · stage: Technical Interview · domain: Embedded · role: Embedded Engineer · difficulty: Medium · asked twice, last in February 2026
What they ask
The technical interview for embedded roles runs long, around two hours, and is followed later by a thirty-minute HR call and a thirty-minute chat with the manager. The two hours are split between C, microcontroller peripherals and communication protocols. Questions in this area, for example:
C. What does volatile mean and where must you use it? Difference between const char *p, char * const p and const char * const p. Write a macro that sets, clears and toggles bit n of a register. Where do static locals live and when are they initialised? Layout of a struct with mixed field sizes, and what union is good for in a driver.
Peripherals. How does a timer generate a periodic interrupt and how do you pick prescaler and reload for a 1 ms tick at 16 MHz? What must an ISR avoid doing? ADC resolution and sampling time. GPIO modes (push-pull vs open-drain, pull-ups).
Protocols. Compare UART, SPI and I2C: wiring, clocking, speed, addressing, when you would pick each. CAN basics: frame fields, how arbitration works with dominant and recessive bits, why a lower ID wins. Diagnostics on top of CAN come up for the automotive teams.
What they look for
Precise definitions, then reasoning at the register level. They will happily go deeper on any topic you claim on your CV, so keep your CV honest.