Home › Blog › Embedded Software Intern Interview Questions: C, Microcontrollers, RTOS

Embedded Software Intern Interview Questions: C, Microcontrollers, RTOS

Embedded software intern interviews are about C and the hardware underneath it. Expect pointer and memory questions, bit manipulation, what the volatile keyword is for, how interrupts work, and how a real-time operating system schedules tasks.

Embedded software intern interviews are about C and the hardware underneath it. Expect pointer and memory questions, bit manipulation, what the volatile keyword is for, how interrupts work, and how a real-time operating system schedules tasks. Teams also ask about communication buses such as I2C, SPI and UART, and dig into any microcontroller project you list. This page covers the rounds to expect, the questions that come up with what a strong answer contains, two sample answers, what interviewers expect from an intern, the mistakes that cost offers, and a two-week prep plan.

What the embedded software intern interview looks like

RoundWhat happensHow to prepare
Screen or online assessmentRésumé questions, sometimes a C quiz or coding testWrite C without an IDE for a few days
C and fundamentals interviewPointers, memory layout, bit operations, volatile, const and structsExplain what each line compiles to at a high level
Embedded systems interviewInterrupts, timers, RTOS concepts, buses and debuggingReview your microcontroller course notes and datasheet habits
Project deep diveA board or firmware project in detail, including what brokeKnow your clock speeds, peripherals and memory use

Questions that come up, and what strong answers contain

  1. What does volatile do in C, and when do you need it? It tells the compiler the value can change outside the code it sees, so every access must read memory. Needed for hardware registers, variables shared with interrupt handlers and some multithreaded flags. It does not make access atomic.
  2. Write a function to set, clear and toggle bit n of a register. OR with a shifted one, AND with its inverse, XOR with a shifted one, and why you use an unsigned type.
  3. What should an interrupt service routine do, and not do? Be short, clear the interrupt flag, set a flag or push to a buffer, and leave heavy work to the main loop or a task. Avoid blocking calls, long loops and non-reentrant functions.
  4. What is the difference between a mutex and a semaphore? A mutex gives ownership for mutual exclusion and often priority inheritance; a semaphore counts or signals, for example from an interrupt to a task.
  5. Explain priority inversion and a fix. A low-priority task holds a lock a high-priority task needs while a medium task runs; priority inheritance raises the holder temporarily. The 1997 Mars Pathfinder resets are the classic example.
  6. Compare I2C, SPI and UART. Wire count, addressing, speed, full or half duplex, and when you would pick each.
  7. What is the difference between the stack and the heap, and why do embedded teams avoid malloc? Automatic versus dynamic allocation; fragmentation and unpredictable timing on small systems with no memory protection.

Two sample answers

What does volatile do?

It tells the compiler that a variable can change in ways it can't see, so it must read it from memory every time instead of keeping it in a register. I'd use it for memory-mapped hardware registers and for a flag set inside an interrupt and read in the main loop; without it, an optimized build can turn the wait loop into an infinite one. It doesn't make operations atomic, though, so a multi-byte counter shared with an interrupt still needs interrupts disabled briefly or an atomic type.

Tell me about an embedded project that didn't work at first.

I built a temperature logger on a small microcontroller with an I2C sensor. It read garbage about one time in twenty. I put a logic analyzer on the bus and saw the clock edges were slow, because I was relying on the weak internal pull-ups. Adding 4.7 kilohm external pull-ups fixed the edges. I also added a CRC check on each reading, so a bad read is now detected and retried instead of logged.

What interviewers expect from an intern

For the full-time version of these questions, see embedded software engineer interview questions.

Mistakes that cost offers

A two-week prep plan

  1. Days 1 to 3: C drills by hand: pointers, pointer arithmetic, structs, bit manipulation and endianness.
  2. Days 4 to 5: memory layout, volatile, const, static and the stack versus the heap.
  3. Days 6 to 8: interrupts and timers on a real board: blink an LED from a timer interrupt and debounce a button.
  4. Days 9 to 10: RTOS basics: tasks, priorities, queues, mutexes, semaphores and priority inversion.
  5. Days 11 to 14: bus protocols, your project deep dive and two mock interviews.

Timing matters as much as preparation: see our internship recruiting timeline, and once you are in, turning an internship into a return offer. Engineering candidates should also read software engineer intern interview questions.

Where CoPilot Interview fits

Intern interviews reward clear explanations of your own projects and coursework, and that takes practice out loud. CoPilot Interview is an AI interview assistant; its free AI mock interview builds embedded software intern questions from your résumé and the job description, reads them aloud, scores each spoken answer out of ten and shows a model answer to compare. The free plan gives 15 minutes a day of live help in sessions of up to 15 minutes, with AI mock interviews included, with no card, which suits a student budget. For real interviews and online assessments, follow your employer's rules.

Disclosure: CoPilot Interview is our product, so weigh what we say about it accordingly.

Frequently asked questions

Do embedded intern interviews use C or C++?

Mostly C, with C++ at some teams. Know C well first; the hardware questions are the same either way.

Do I need my own microcontroller board?

It helps a lot. A cheap development board and one small project with an interrupt and a sensor give you real stories to tell.

How is embedded different from a general software internship interview?

Less emphasis on large algorithm problems and more on memory, timing, hardware interfaces and debugging.

Can I use AI tools during an internship interview?

Only where the instructions allow it. Online assessments and many live rounds forbid outside help. Use AI to practice beforehand, and follow your employer's rules.

Practice this interview before the real one

The AI mock interview builds questions from your resume and the job description, reads them aloud and scores each spoken answer out of 10. Included on the free plan.

Start a mock interview