Embedded Software Engineer
100+ Embedded Software Engineer Interview Questions and Answers
Q1. 3. 1)Do you know about Autosar. 2)define function definition and function declaration. 3)difference between structure and union. 4) define Enumeration 5)what is microcontroller and microprocessor and its applic...
read moreInterview questions for Embedded Software Engineer including Autosar, function definition, structure and union, microcontroller and microprocessor, and communication protocols.
Autosar is an automotive software architecture standard.
Function definition specifies the code to be executed by a function.
Function declaration specifies the function's name, return type, and parameters.
Structure is a collection of variables of different data types, while union is a collection of varia...read more
Q2. Introduction. Difference between Embedded Systems and Embedded software. Difference between linux and windows. Why use microcontroller instead of microprocessor. C programming: structure and union, pointer and ...
read moreInterview questions for Embedded Software Engineer
Embedded systems are hardware and software combined to perform a specific task
Embedded software is the software component of an embedded system
Linux is open-source, customizable, and widely used in embedded systems
Windows is proprietary, less customizable, and not commonly used in embedded systems
Microcontrollers have built-in memory and peripherals, making them more suitable for embedded systems
Microprocessors require externa...read more
Embedded Software Engineer Interview Questions and Answers for Freshers
Q3. 1) which microcontroller you have used in Academics?
I have used STM32 microcontroller in my academics.
I have worked on STM32F4 Discovery board for a project in my final year.
I have also used STM32CubeMX software for code generation and debugging.
I have experience in programming STM32 microcontrollers using C language.
Q4. What is conductor, insulator and semi conductor?
Conductor, insulator and semiconductor are materials that conduct electricity in different ways.
Conductors allow electricity to flow through them easily, such as copper and aluminum wires.
Insulators do not allow electricity to flow through them easily, such as rubber and plastic.
Semiconductors have properties of both conductors and insulators, such as silicon and germanium.
The conductivity of a material can be measured by its resistance to the flow of electricity.
Conductivity...read more
Q5. 3. How to enter if and else at the same time
It is not possible to enter if and else at the same time in a programming language.
If and else are conditional statements that are mutually exclusive.
They are used to execute different blocks of code based on a condition.
To execute multiple blocks of code simultaneously, you can use nested if-else statements or logical operators.
Q6. C Programming questions - program to identify no of 1s in binary representation of a number, program to show pointer concept
Program to count number of 1s in binary representation of a number and demonstrate pointer concept.
Use bitwise AND operator to check if the rightmost bit is 1
Shift the number to the right by 1 bit after each check
Use a pointer to access the memory address of a variable
Dereference a pointer to access the value stored in that memory address
Share interview questions and help millions of jobseekers š
Q7. 7) To write program for Toggle particular But in C?
To toggle a particular bit in C, use bitwise XOR operator with 1 at the desired bit position.
Use bitwise XOR operator (^) with 1 at the desired bit position to toggle it.
Example: To toggle the 3rd bit of a variable 'x', use x ^= (1 << 2);
Make sure to use the correct bit position starting from 0 for the least significant bit.
Q8. for an embedded device what do you prefer? with OS or without OS?
It depends on the requirements and constraints of the project.
If the project has limited resources, a bare-metal approach without an OS may be more appropriate.
If the project requires complex functionality and multitasking, an OS may be necessary.
An OS can provide better security and easier maintenance.
Examples of OS for embedded devices are FreeRTOS, uC/OS, and Linux.
Consider the cost and time-to-market implications of using an OS.
Embedded Software Engineer Jobs
Q9. write a program on structure.? and by using pointers how we declare structures.
A program on structures using pointers to declare them.
Use the 'struct' keyword to define a structure
Use the 'typedef' keyword to create a new type name for the structure
Use the '->' operator to access structure members through a pointer
Example: typedef struct { int x; int y; } Point; Point *p;
Example: p->x = 5; p->y = 10;
Q10. Why do we use semiconductor in electronics
Semiconductors are used in electronics for their ability to control the flow of electricity.
Semiconductors have a unique property of being able to switch between conducting and insulating states.
They are used in transistors, diodes, and integrated circuits.
Examples include silicon, germanium, and gallium arsenide.
Q11. How to make a semiconductor p type and n type
Semiconductor doping is used to make a semiconductor p-type or n-type by introducing impurities with different valence electrons.
To make a semiconductor p-type, impurities with three valence electrons (e.g., boron) are added.
To make a semiconductor n-type, impurities with five valence electrons (e.g., phosphorus) are added.
Doping alters the conductivity and creates majority and minority charge carriers.
P-type has holes as majority carriers, while n-type has electrons as major...read more
Q12. 8) To write program to iterate an array using pointer
Program to iterate an array using pointer
Declare a pointer variable and initialize it to the base address of the array
Use a loop to iterate through the array using the pointer variable
Increment the pointer variable in each iteration to point to the next element
Stop the loop when the pointer variable reaches the end of the array
Q13. Explain All protocol, what is call by value, call by reference, structure, union, arrays
Explanation of protocols, call by value/reference, structures, unions, and arrays.
Protocols are a set of rules for communication between devices or software components.
Call by value passes a copy of the value to a function, while call by reference passes a reference to the value.
Structures are user-defined data types that group related data together.
Unions are similar to structures, but they share the same memory location for all their members.
Arrays are a collection of eleme...read more
Q14. What are Pointer and Pointer-related snippets?
Pointers are variables that store memory addresses. Pointer-related snippets are code examples involving pointers.
Pointers are used to store memory addresses of variables in C/C++.
Pointer arithmetic can be performed to access elements of arrays.
Dereferencing a pointer means accessing the value at the memory address stored in the pointer.
Q15. what is Macro?, how to store just 5 bits inside of a charecter? Dangling Pointers? Inline function?
Macro is a preprocessor directive that performs text substitution. Storing 5 bits in a character can be done using bit manipulation. Dangling pointers are pointers that point to invalid memory locations. Inline functions are functions that are expanded by the compiler at the point of call.
Macros are used to define constants or to perform text substitution
To store 5 bits in a character, we can use bit manipulation operators like bitwise AND and OR
Dangling pointers can cause me...read more
Q16. Why the default value of reg keyword is garbage value only
The default value of reg keyword is garbage value due to performance optimization.
Garbage value is faster to assign than initializing to a specific value.
Initializing to a specific value would require additional instructions and memory access.
The value of reg keyword is expected to be overwritten before use.
Garbage value can help in detecting uninitialized variables during testing.
Example: int x; // x will have a garbage value until assigned a value.
Q17. what is class object, inheritance, function overloading ,function overriding, difference between encapsulation and abstraction, volatile keyword
Class object is an instance of a class, inheritance allows a class to inherit properties and methods from another class, function overloading is defining multiple functions with the same name but different parameters, function overriding is redefining a function in a subclass, encapsulation is bundling data and methods that operate on the data into a single unit, abstraction is hiding the implementation details and showing only the necessary details, volatile keyword is used ...read more
Q18. What are logic gates and why do we use it
Logic gates are electronic circuits that perform logical operations on one or more inputs to produce an output.
Logic gates are used in digital electronics to create complex circuits and perform mathematical operations.
There are several types of logic gates, including AND, OR, NOT, NAND, NOR, XOR, and XNOR gates.
Logic gates are the building blocks of digital circuits, and are used in everything from simple calculators to complex computer processors.
Q19. write a program on finding little or big endian,no of bits set in bit magic,
Program to find endianness and number of bits set in bit magic.
Use bitwise operators to check endianness
Count number of set bits using bitwise AND and right shift
Use pre-defined functions for endianness in some programming languages
Endianness can affect network communication and file formats
Q20. What the most i like in webtechnicals?
I'm sorry, but I cannot answer this question as it is unclear and does not relate to the job of an Embedded Software Engineer.
Q21. Why we should use auto keyword in local scope only
Using auto keyword in local scope only ensures type safety and avoids unintended side effects.
Auto keyword deduces the type of the variable from its initializer expression.
Using auto in local scope avoids unintended type conversions and promotes type safety.
Auto keyword should not be used for function parameters or class members.
Example: auto x = 10; // x is deduced as int
Example: auto y = 3.14; // y is deduced as double
Q22. What is difference between macro and constant variable in C? How to divide a number without using division operator?
A macro is a preprocessor directive that is replaced by its value before compilation, while a constant variable is a read-only variable.
Macros are defined using the #define directive, while constant variables are declared using the const keyword.
Macros are replaced by their values during preprocessing, while constant variables are stored in memory.
Macros can lead to code duplication, while constant variables provide type checking and scope.
Macros can be used for conditional c...read more
Q23. What is difference between Normal OS and RTOS? What is difference between microcontroller and microprocessor? Write a C program to swap two numbers without using 3rd variable.
RTOS is a real-time operating system designed for time-sensitive applications. Microcontrollers are integrated circuits with built-in memory and peripherals.
RTOS is designed to provide deterministic and predictable response times for critical tasks.
Normal OS is designed for general-purpose computing and may not prioritize real-time tasks.
Microcontrollers are typically used in embedded systems and have limited resources compared to microprocessors.
Microprocessors are used in g...read more
Q24. 5.Why 8 bit microprocessor is called 8 bit microprocessor.
8 bit microprocessor is called so because it processes data in 8 bit chunks.
8 bit microprocessor processes data in 8 bit chunks at a time
It can handle data in 8 bit binary format
Examples include Intel 8080, Zilog Z80, and MOS Technology 6502
Q25. What is mean by function pointer and purpose of tha? Differenece b/w UART and USART? Compilation stages Storage classes
Function pointer is a variable that stores the address of a function. UART is asynchronous, USART is synchronous. Compilation stages are preprocessing, compilation, assembly, and linking. Storage classes define the scope and lifetime of a variable.
Function pointer is used to call a function indirectly
UART is a serial communication protocol that uses only one communication line
USART is a synchronous version of UART that uses two communication lines
Compilation stages include pr...read more
Q26. Find the prime number of Natural numbers between their ranges.
To find prime numbers between a range of natural numbers.
Iterate through each number in the range
Check if the number is prime by dividing it by numbers up to its square root
If the number is prime, add it to the list of prime numbers
Q27. Projects in depth (challenges, some part of code explain)
Developed a real-time monitoring system for industrial robots
Challenges included optimizing code for real-time performance
Implemented communication protocols like CAN bus for data exchange
Used PID control algorithms for precise robot movements
Q28. What is conductor,insulator and semi conductor?
Conductor, insulator, and semiconductor are materials that conduct electricity in different ways.
Conductors allow electricity to flow through them easily, such as copper and aluminum wires.
Insulators do not allow electricity to flow through them easily, such as rubber and plastic.
Semiconductors have properties of both conductors and insulators, such as silicon and germanium.
The conductivity of a material can be determined by its band gap, which is the energy required for an e...read more
Q29. Find the output of the c code, related to char and ascii values. for(char c=0;c<500;c++) printf(ā%dā, c);
The code will print ASCII values of characters from 0 to 499.
The 'char' data type in C is used to store ASCII values of characters.
The 'printf' function with '%d' format specifier will print the ASCII value as an integer.
The loop will iterate from 0 to 499, printing the ASCII values of characters.
Q30. what happens when we use volatile and const at the same time
When volatile and const are used together, the variable is treated as read-only and its value can change unexpectedly.
Using volatile and const together is rare but can be useful for memory-mapped hardware registers.
The volatile keyword tells the compiler that the variable can be changed unexpectedly, while const ensures the variable is read-only.
Example: const volatile int * const ptr = (int *)0x1234; // pointer to a read-only volatile integer at memory address 0x1234
Q31. when we use volatile and const at the same time what will happen
When volatile and const are used together, the variable is treated as read-only and its value can change unexpectedly.
The const keyword indicates that the variable's value cannot be changed by the program.
The volatile keyword tells the compiler that the variable's value may change at any time, even if it doesn't appear to be modified by the program.
When used together, the variable is treated as read-only by the program, but its value can still change unexpectedly due to exter...read more
Q32. what are the segments in stacks and heap
Stack and heap are segments of memory used in programming. Stack is used for static memory allocation, while heap is used for dynamic memory allocation.
Stack is used for static memory allocation, where memory is allocated and deallocated in a last-in-first-out order.
Heap is used for dynamic memory allocation, where memory is allocated and deallocated in any order.
Examples: Stack is used for function call stack, local variables, while heap is used for dynamically allocated mem...read more
Q33. Did you studied graphical designing?
NO
No, I did not study graphical designing.
My focus has been on embedded software engineering.
I have experience in developing software for embedded systems, such as microcontrollers and IoT devices.
I have worked on projects involving real-time operating systems, device drivers, and communication protocols.
While I may not have formal training in graphical designing, I have a strong understanding of software development principles and can work with graphical interfaces if requir...read more
Q34. Introduction, in which programming language are you comfortable( 45 min)
I am comfortable with C, C++, and Python for embedded software development.
Proficient in C for low-level programming
Experienced in C++ for object-oriented design
Skilled in Python for scripting and automation tasks
Q35. What is semaphore and mutex, binary semaphore, thread and process
Semaphores and mutex are synchronization mechanisms in multithreading. Threads are lightweight processes, while processes are independent execution units.
Semaphore: used to control access to a shared resource by multiple threads. Example: controlling access to a printer in a networked system.
Mutex: similar to a semaphore but only allows one thread to access a resource at a time. Example: protecting a critical section of code.
Binary semaphore: a semaphore with only two states,...read more
Q36. What are the detailed steps and intermediate state in a compilation
Compilation involves multiple steps like preprocessing, compilation, assembly, and linking.
Preprocessing: Includes header file inclusion, macro expansion, and conditional compilation.
Compilation: Translates source code into assembly code specific to the target architecture.
Assembly: Converts assembly code into machine code.
Linking: Combines object files and libraries to generate an executable file.
Q37. Latest trends in the area of brake control systems development
The latest trends in brake control systems development include electrification, integration with ADAS, and use of AI/ML algorithms.
Electrification of brake systems to improve efficiency and reduce emissions
Integration with ADAS for enhanced safety features such as automatic emergency braking
Use of AI/ML algorithms for predictive maintenance and improved performance
Development of brake-by-wire systems for greater control and flexibility
Implementation of cybersecurity measures ...read more
Q38. Most used semiconductor in electronics
The most used semiconductor in electronics is silicon.
Silicon is abundant and has excellent semiconductor properties.
It is used in microprocessors, memory chips, and other electronic components.
Other semiconductors like germanium and gallium arsenide are also used in specialized applications.
Silicon is preferred due to its low cost, high reliability, and ease of manufacturing.
Advancements in silicon technology have led to the development of smaller and more powerful electroni...read more
Q39. What is difference between C and embedded c
Embedded C is a subset of C language used for programming embedded systems.
Embedded C has limited resources and memory compared to C
Embedded C has specific libraries and functions for hardware control
Embedded C has specific syntax for interrupt handling and low-level programming
C is a general-purpose language while Embedded C is specific to embedded systems
Example: C can be used for desktop applications while Embedded C is used for programming microcontrollers
Q40. What is the cylinder like structure in the charging wires of our laptop
The cylinder-like structure in the charging wires of a laptop is a ferrite bead.
Ferrite beads are used to suppress high frequency noise in electronic circuits.
They are typically cylindrical or bead-shaped and made of ferrite material.
Ferrite beads are commonly found on charging cables to reduce electromagnetic interference.
They work by absorbing and dissipating high frequency noise signals.
Example: The cylinder-like structure on the charging wire of a laptop is a ferrite bead...read more
Q41. What you do when someone gives you new technology ?
I research and learn about the technology to understand its capabilities and limitations.
Research the technology to understand its capabilities and limitations
Learn how to use the technology effectively
Experiment with the technology to gain hands-on experience
Collaborate with others to share knowledge and insights
Provide feedback to the person who gave me the technology
Q42. 1. What are the storage classes in C?
Storage classes in C define the scope and lifetime of variables.
Auto: Default storage class for local variables
Register: Requests a variable to be stored in a register for faster access
Static: Preserves the value of a variable between function calls
Extern: Allows access to a variable declared in another file
Thread Local Storage (TLS): Provides each thread with its own copy of a variable
Q43. Basic IPC concepts used in operating system
IPC stands for Inter-Process Communication and is used for communication between processes in an operating system.
Shared memory
Message passing
Pipes
Sockets
Remote Procedure Calls (RPC)
Semaphores
Mutexes
Q44. C++ code to find an element in an array using binary search tree
C++ code for binary search in an array of strings
Sort the array of strings in lexicographical order
Set the lower and upper bounds of the search range
Calculate the middle index and compare the search string with the middle element
If the search string is less than the middle element, update the upper bound
If the search string is greater than the middle element, update the lower bound
Repeat until the search string is found or the search range is exhausted
Q45. What are header files
Header files contain declarations of functions, variables, and data structures used in a program.
Header files are included at the beginning of a source code file using #include directive
They provide information about the functions and variables used in the program
They help in avoiding redefinition of functions and variables
Examples of header files are stdio.h, math.h, string.h, etc.
Q46. What you know abt embedded systems
Embedded systems are computer systems designed to perform specific tasks within a larger system.
Embedded systems are found in a wide range of devices, from simple household appliances to complex medical equipment.
They typically have limited processing power, memory, and storage compared to general-purpose computers.
They often run on real-time operating systems and require specialized programming languages and tools.
Examples of embedded systems include pacemakers, automotive c...read more
Q47. 2. Difference between structure and union
Structure is a collection of variables of different data types while union is a collection of variables of same data type.
Structure allocates memory for all its variables while union allocates memory for only one variable at a time.
Structure is used when we want to store different types of data while union is used when we want to store only one type of data at a time.
Structure is accessed using dot (.) operator while union is accessed using arrow (->) operator.
Example of stru...read more
Q48. Program on Queue, difference between structure and class
A queue is a data structure that follows the FIFO (First In First Out) principle. Structure and class are similar in C++, but classes have additional features like data hiding and inheritance.
In C++, a structure is a user-defined data type that can hold different types of data. It is used to group related data together. Example: struct Queue { int front, rear; int capacity; int* array; };
A class in C++ is similar to a structure but with additional features like data hiding an...read more
Q49. Explain storage classes with respect to memory layout of a C binary.
Storage classes in C determine the scope, lifetime, and visibility of variables.
Storage classes include auto, register, static, extern, and typedef.
Auto variables are stored on the stack and have local scope.
Register variables are stored in CPU registers for faster access.
Static variables have global scope but limited visibility.
Extern variables are declared in one file and can be used in another.
Typedef is used to create new data types for better code readability.
Q50. Write a program that reverses a string without using any of the string library functions.
Program to reverse a string without using string library functions.
Create a function that takes an input string as an array of characters.
Use two pointers, one at the beginning and one at the end of the array, swap the characters and move the pointers towards each other until they meet.
Handle edge cases like empty string or strings with odd number of characters.
Interview Questions of Similar Designations
Top Interview Questions for Embedded Software Engineer Related Skills
Interview experiences of popular companies
Calculate your in-hand salary
Confused about how your in-hand salary is calculated? Enter your annual salary (CTC) and get your in-hand salary
Reviews
Interviews
Salaries
Users/Month