Embedded Software Engineer Interview Questions
Filtered interview questions
Showing 45 of 45All questions visible
- Q375C and C++Little-endian byte orderFW · ArchEasyP
- Q576C and C++Detect machine endianness in CFW · EndiannessEasyP
- Q1014C and C++Storage occupied by an unaligned objectFW · ArchEasyP
- Q444C and C++Replace a register bit field safelyFW · Bit manipulationEasyP
- Q378C and C++Decode IEEE-754 Binary32 and Binary64 EncodingsFW · DesignMediumP
- Q348C and C++Return a checked 32-bit Fibonacci numberFW · DesignEasyP
- Q054Bounded memoryMeasure the final UART command tokenFW · BufferEasy
- Q037Bounded memoryFind a calibration insertion positionFW · Binary searchEasy
- Q555Bounded memorySort Signed Integers In Place with Insertion SortFW · FirmwareEasyP
- Q1044Bounded memoryCopy linked-list values in reverse without changing linksTesla · FWMediumP
- Q022Bounded memoryFind device-tree depth without recursionFW · TreesEasy
- Q083Bounded memoryAdd decimal lists from a fixed poolFW · Linked listsMedium
- Q1115Bounded memoryBounded byte-string palindrome checkFirmware & ValidationEasyP
- Q621Bounded memoryValidate nested parentheses and bracketsFirmware & ValidationEasyP
- Q617Concurrency and eventsISR design ruleFW · InterruptsEasyP
- Q306Concurrency and eventsInterrupt or polling for a rare eventFW · InterruptsEasyP
- Q199Concurrency and eventsBuild a bounded one-producer, one-consumer queueNVIDIA · ArchEasy
- Q832Concurrency and eventsPublish a message to an eight-slot mailboxFW · ValidationMediumP
- Q728Concurrency and eventsTake a race-detecting snapshot of an atomic trace ringSilicon · ReliabilityMediumP
- Q095Concurrency and eventsBuild an interrupt-safe sliding-maximum telemetry filterFirmware · Monotonic queueHard
- Q662Concurrency and eventsChoose polling, events, or hybrid progressNVIDIA · ArchMediumP
- Q1037MMIO and driversRead a changing MMIO registerFW · MMIOEasyP
- Q359MMIO and driversWrite-one-to-clear status bitFW · MMIOEasyP
- Q706MMIO and driversClear a write-one-to-clear interruptFW · MMIOMediumP
- Q1065MMIO and driversBounded MMIO polling helperFW · MMIOMediumP
- Q737MMIO and driversPoll a device with a bounded timeoutFW · MMIOMediumP
- Q1147MMIO and driversBounded MMIO command driverFirmware & ValidationMediumP
- Q591MMIO and driversOrder a descriptor before an MMIO doorbellFW · ValidationMediumP
- Q1097MMIO and driversDMA descriptor-ring submissionFW · DMAHardP
- Q1031Serial and network interfacesDecode SPI Mode from CPOL and CPHAFW · FirmwareEasyP
- Q540Serial and network interfacesIdentify Legal I2C Data and Acknowledge TimingFW · DesignEasyP
- Q679Serial and network interfacesCalculate UART 8N1 Frame Time and Payload RateFW · FirmwareEasyP
- Q971Serial and network interfacesReceive 1000 SPI bytes through 256-byte DMA chunksFW · DVMediumP
- Q566Serial and network interfacesConsume completed Ethernet receive descriptorsFW · ValidationMediumP
- Q723Serial and network interfacesLocate the payload in an Ethernet frameFirmware & ValidationEasyP
- Q675Serial and network interfacesBuild a checksummed diagnostic frameFirmware & ValidationMediumP
- Q469Serial and network interfacesSend framed messages with nonblocking socketsNVIDIA · ArchMediumP
- Q462Diagnostics and timingDecode a compact hardware trace streamFW · ValidationMediumP
- Q527Diagnostics and timingParse a bounded RAS error recordFW · ValidationHardP
- Q718Diagnostics and timingValidate a compact boot manifestFW · ValidationMediumP
- Q935Diagnostics and timingTriage an intermittent firmware hang from a crash dumpFW · DVMediumP
- Q977Diagnostics and timingFind the first severe entry in a wraparound logSilicon · ReliabilityMediumP
- Q798Diagnostics and timingCompute wrapped performance-counter deltasSilicon · ReliabilityMediumP
- Q846Diagnostics and timingSubtract two PTP timestampsSilicon · ReliabilityMediumP
- Q1020Diagnostics and timingChoose the deepest allowed idle stateLow PowerEasyP
Role study path
Embedded Software Engineer interview preparation
Prepare for embedded software interviews with 45 questions on C and C++, bounded memory, concurrency, drivers, device interfaces, timing, and debugging.
Practice safe C and C++, bounded data structures, concurrent ownership, device drivers, serial and network interfaces, and fault diagnosis—from byte-level contracts to software that makes progress when hardware stalls.
