Senior Embedded Software Engineer Interview Questions

279 senior embedded software engineer interview questions shared by candidates

3 algorithmic questions I say algorithmic because the coding questions are one-size fits all. They are designed for Python programmers. If you write the code in C, it doesn't give the interviewer any indication about your deeper understanding of C programming. (such as defensive programming, memory management, dangling pointers, cache efficiency, etc) In most of the interviews, I couldn't get straight answer for my clarification questions. It is always, however you like it. An important part of system design is to understand the constraints of the system and plan accordingly. When I am not given any constraints, this means I can write whatever I want. They failed to measure this skill. The algorithmic coding questions were not structured properly (no multi-part questions). It seems like they have no way of making it easier or more difficult. When I finished the problem with the optimal solution, the interviewer asked some weird questions instead of giving me a challenge.
avatar

Senior Embedded Software Engineer

Interviewed at Google

4.4
Oct 26, 2017

3 algorithmic questions I say algorithmic because the coding questions are one-size fits all. They are designed for Python programmers. If you write the code in C, it doesn't give the interviewer any indication about your deeper understanding of C programming. (such as defensive programming, memory management, dangling pointers, cache efficiency, etc) In most of the interviews, I couldn't get straight answer for my clarification questions. It is always, however you like it. An important part of system design is to understand the constraints of the system and plan accordingly. When I am not given any constraints, this means I can write whatever I want. They failed to measure this skill. The algorithmic coding questions were not structured properly (no multi-part questions). It seems like they have no way of making it easier or more difficult. When I finished the problem with the optimal solution, the interviewer asked some weird questions instead of giving me a challenge.

At first I was asked about my previous experience and projects I had worked on. How I made certain things work and why I picked particular solutions. The 2nd stage involved hardware (serial comms, registers etc) and coding questions. Some of the questions were: What is stack and what is heap What is code coverage What is unity checking What is version control Floating point to fixed point conversion Why would I not use stdlib in an embedded device What are stdlib’s drawbacks What are race conditions and how do I deal with them What is critical section and whether I have used it In the end I was interviewed by the technology director who gave me a puzzle to solve: In a given vector with N number of random integers, there is one duplicate. Find its position and which number was replaced.
avatar

Senior Embedded Software Engineer

Interviewed at Qualcomm

3.8
Aug 1, 2017

At first I was asked about my previous experience and projects I had worked on. How I made certain things work and why I picked particular solutions. The 2nd stage involved hardware (serial comms, registers etc) and coding questions. Some of the questions were: What is stack and what is heap What is code coverage What is unity checking What is version control Floating point to fixed point conversion Why would I not use stdlib in an embedded device What are stdlib’s drawbacks What are race conditions and how do I deal with them What is critical section and whether I have used it In the end I was interviewed by the technology director who gave me a puzzle to solve: In a given vector with N number of random integers, there is one duplicate. Find its position and which number was replaced.

They give you an assignment which has the question like this. Obviously one is allowed to decide what he wants and documents everything or every assumption made. However you are not allowed to ask them questions about the assignment The exercise exists in the implementation of a non-volatile memory storage component. This component should be able to backup and restore values corresponding to a unique attribute identifier. For the simplicity of the exercise the underlying non-volatile memory (eeprom, flash, …) can be modelled as a file. Component Specification • Implement the basic implementation of this component based on following API description: typedef unsigned char UInt8; typedef UInt8 gpNvm_AttrId; typedef UInt8 gpNvm_Result; gpNvm_Result gpNvm_GetAttribute(gpNvm_AttrId attrId, UInt8* pLength, UInt8* pValue); gpNvm_Result gpNvm_SetAttribute(gpNvm_AttrId attrId, UInt8 length, UInt8* pValue); • Make sure the implementation supports different datatypes for pValue. Some examples: o Basic datatypes like UInt8, UInt32,… o An array of UInt8 o Structs like for instance: #define MAX_LENGTH 20 typedef struct { UInt8 id; UInt32 options; UInt8 length; UInt8 data[MAX_LENGTH]; } gpTestData_t; • Ensure the implementation discovers and corrects corruptions in the underlying storage. • Extend your solution with a unit test. • Pay attention to optimize knowledge transfer to other developers
avatar

Senior Embedded Software Engineer

Interviewed at Qorvo

3.5
Sep 25, 2020

They give you an assignment which has the question like this. Obviously one is allowed to decide what he wants and documents everything or every assumption made. However you are not allowed to ask them questions about the assignment The exercise exists in the implementation of a non-volatile memory storage component. This component should be able to backup and restore values corresponding to a unique attribute identifier. For the simplicity of the exercise the underlying non-volatile memory (eeprom, flash, …) can be modelled as a file. Component Specification • Implement the basic implementation of this component based on following API description: typedef unsigned char UInt8; typedef UInt8 gpNvm_AttrId; typedef UInt8 gpNvm_Result; gpNvm_Result gpNvm_GetAttribute(gpNvm_AttrId attrId, UInt8* pLength, UInt8* pValue); gpNvm_Result gpNvm_SetAttribute(gpNvm_AttrId attrId, UInt8 length, UInt8* pValue); • Make sure the implementation supports different datatypes for pValue. Some examples: o Basic datatypes like UInt8, UInt32,… o An array of UInt8 o Structs like for instance: #define MAX_LENGTH 20 typedef struct { UInt8 id; UInt32 options; UInt8 length; UInt8 data[MAX_LENGTH]; } gpTestData_t; • Ensure the implementation discovers and corrects corruptions in the underlying storage. • Extend your solution with a unit test. • Pay attention to optimize knowledge transfer to other developers

Viewing 31 - 40 interview questions

Glassdoor has 279 interview questions and reports from Senior embedded software engineer interviews. Prepare for your interview. Get hired. Love your job.