Embedded Software Developer
40+ Embedded Software Developer Interview Questions and Answers
Q1. How many result cases are possible when to find maximum of three numbers. This is tricky question
There are 4 possible result cases when finding the maximum of three numbers.
The maximum number is the same as the first number.
The maximum number is the same as the second number.
The maximum number is the same as the third number.
The maximum number is different from all three numbers.
Q2. What is the difference between volatile constant Int a, constant volatile int b?
volatile constant and constant volatile are different in terms of read and write access.
volatile constant means the value can be changed by external factors but cannot be modified by the program
constant volatile means the value cannot be changed by external factors but can be modified by the program
the order of volatile and constant keywords matter
example: volatile const int a = 5; const volatile int *b = &a;
a can be changed by external factors but cannot be modified by the p...read more
Embedded Software Developer Interview Questions and Answers for Freshers
Q3. Array short without using another array, with minimum parameters
Short an array without using another array, with minimum parameters
Use a sorting algorithm like bubble sort or insertion sort
Iterate through the array and compare adjacent elements, swapping them if necessary
Repeat the process until the array is sorted
Q4. what is interrupt service routine, watchdog timer, lambda function, baud rate, CAN frame format, spi, Autosar related questions some
Interrupt service routine handles interrupts, watchdog timer resets system if it hangs, lambda function is an anonymous function, baud rate is data transfer rate, CAN frame format is used in Controller Area Network, SPI is Serial Peripheral Interface, Autosar is an automotive software architecture.
ISR is a function that handles interrupts from hardware devices
Watchdog timer resets the system if it hangs or stops responding
Lambda function is an anonymous function that can be p...read more
Q5. how to interface mocroproceesor kit wid the I/O devices
Interfacing microprocessor kit with I/O devices involves selecting appropriate communication protocol and configuring the microprocessor pins.
Select appropriate communication protocol (e.g. SPI, I2C, UART)
Configure microprocessor pins for communication
Write code to communicate with I/O devices
Test and debug the interface
Q6. Factorial of a number. Check validity of the number when scanning latter from user
Validating user input for factorial calculation
Use a loop to calculate the factorial of the number
Check if the input is a positive integer
Handle edge cases such as 0 and 1
Use try-except block to catch non-integer inputs
Share interview questions and help millions of jobseekers 🌟
Q7. What is Constructor, is virtual constructor possible in C++, Virtual destructor with implementation.
Constructor is a special member function used for initializing objects. Virtual constructor is not possible in C++. Virtual destructor can be implemented.
Constructor is a special member function with the same name as the class, used for initializing objects.
Virtual constructor is not possible in C++ as constructors cannot be virtual.
Virtual destructor is possible in C++ and is used to ensure proper cleanup of resources when an object is destroyed.
Example: virtual ~ClassName()...read more
Q8. What is Friend function, Getter setter, Static variable and static function with implementation
Friend function is a function that is not a member of a class but has access to its private and protected members. Getter setter are methods used to access and modify private variables. Static variables are shared among all instances of a class. Static functions are functions that can be called without an instance of the class.
Friend function allows external functions to access private and protected members of a class.
Getter setter methods are used to get and set the values o...read more
Embedded Software Developer Jobs
Q9. Getter setter implementation, implementation of virtual function, difference between encapsulation and abstraction, focus on OOP
Understanding getter setter, virtual function, encapsulation, abstraction in OOP
Getter and setter methods are used to access and modify private class members respectively
Virtual functions in C++ allow dynamic binding and are overridden in derived classes
Encapsulation is bundling data and methods that operate on the data together
Abstraction is hiding the complex implementation details and showing only necessary features
OOP focuses on creating objects that interact with each ot...read more
Q10. microcontroller -protocols used -debugging process -ide's used -difficult problem you faced and how u solved it
As an embedded software developer, I have experience with microcontrollers, protocols, debugging, and IDEs.
I have worked with microcontrollers such as Arduino, STM32, and PIC.
I am familiar with protocols such as UART, SPI, I2C, and CAN.
For debugging, I have used tools such as JTAG, GDB, and logic analyzers.
I have experience with IDEs such as Eclipse, Keil, and MPLAB.
One difficult problem I faced was optimizing code for a real-time system with limited resources. I solved it by...read more
Q11. What is sub function of 19 02?
The sub function of 19 02 is not specified.
The question does not provide any context or information about the sub function of 19 02.
Without additional details, it is impossible to determine the specific sub function being referred to.
More information or clarification is needed to answer the question.
Q12. In a given string , find the number of pallindromes
Count the number of palindromes in a given string.
Iterate through the string and check for palindromes of length 1, 2, 3, ... n
Use two pointers to check if a substring is a palindrome
Consider both even and odd length palindromes
Store the count of palindromes found
Q13. What is your Language strength in programming ?
My language strength in programming is primarily in C and C++, with experience in other languages as well.
Proficient in C and C++ programming languages
Familiar with other languages such as Python and Java
Experience in developing embedded software using C and C++
Knowledge of low-level programming and hardware interfaces
Ability to write efficient and optimized code
Understanding of software development methodologies and best practices
Q14. show mi LED INTERFACING &explain the sme
LED interfacing involves connecting LEDs to a microcontroller and controlling them using software.
Connect LED to microcontroller output pin
Use software to set output pin high or low to turn LED on or off
Use PWM to control LED brightness
Use external driver circuit for high-power LEDs
Use resistors to limit current and prevent damage to LED
Q15. Write your own memcpy function. Also, take care of the boundary conditions.
Write a custom memcpy function with boundary condition handling.
Use pointers to copy data from source to destination.
Check for NULL pointers and zero length cases.
Use a loop to copy data byte by byte.
Handle overlapping memory regions with caution.
Q16. What is a latest embedded C programming?
Latest embedded C programming includes features like dynamic memory allocation, multi-threading, and object-oriented programming.
Dynamic memory allocation allows for more efficient use of memory
Multi-threading enables concurrent execution of multiple tasks
Object-oriented programming allows for better code organization and reusability
Q17. 1. What is structured, pointer, array , union
Structured, pointer, array, and union are all data types in C programming language.
Structured data type is a collection of variables of different data types under a single name.
Pointer is a variable that stores the memory address of another variable.
Array is a collection of similar data types stored in contiguous memory locations.
Union is a special data type that allows storing different data types in the same memory location.
Example: struct employee { char name[20]; int age;...read more
Q18. Find intersection point of two linked list. Optimise your solution.
Find intersection point of two linked lists and optimize solution.
Traverse both lists and find their lengths
Move the head of the longer list to the same distance as the shorter list
Traverse both lists in parallel until they meet at the intersection point
Use hash table to store visited nodes for faster lookup
Use two pointers, one starting from the head of each list, and move them at the same pace until they meet at the intersection point
Q19. Write a code for bit set or reset.
Code for bit set or reset
To set a bit, use bitwise OR operator with 1 shifted left by the bit position
To reset a bit, use bitwise AND operator with the complement of 1 shifted left by the bit position
Use unsigned integer data type for bit manipulation
Q20. Difference between static and dynamic library ?
Static libraries are linked at compile-time, while dynamic libraries are linked at run-time.
Static libraries are included in the final executable file, increasing its size.
Dynamic libraries are loaded into memory only when needed, reducing the executable size.
Static libraries are platform-specific, while dynamic libraries can be shared across platforms.
Static libraries provide faster execution, while dynamic libraries allow for easier updates and maintenance.
Examples of stati...read more
Q21. Why you are using network and all.
Networks are essential for communication and data transfer between devices and systems.
Networks enable devices to communicate and share data with each other.
They allow for remote access and control of devices.
Networks facilitate the transfer of large amounts of data quickly and efficiently.
They enable the creation of complex systems and applications that rely on multiple devices and components.
Examples include the internet, local area networks (LANs), and wireless networks.
Q22. What is function pointer,structures,linked list
Function pointer is a variable that stores the address of a function. Structures are user-defined data types that group related data. Linked list is a data structure that consists of a sequence of nodes, each containing a reference to the next node.
Function pointer is used to pass a function as an argument to another function.
Structures can be used to represent complex data types, such as a person with name, age, and address.
Linked list is useful for dynamic memory allocation...read more
Q23. Find the missing number from the given series.
Missing number in a given series
Check the pattern of the series
Look for any arithmetic or geometric progression
Try to find the difference between consecutive numbers
Use mathematical formulas to solve the problem
Q24. C language what is c data types
C data types are used to define the type of data that a variable can hold in C programming language.
C data types include basic types like int, char, float, double, etc.
Derived types like arrays, pointers, structures, and unions are also part of C data types.
Examples: int num = 10; char letter = 'A'; float price = 10.5;
Examples: int arr[5]; int *ptr; struct student { char name[20]; int age; };
Q25. What is a embedded new Ideas?
Embedded new ideas refer to innovative concepts and solutions that can be implemented in embedded systems.
Embedded new ideas can improve the functionality, performance, and efficiency of embedded systems.
Examples of embedded new ideas include the use of machine learning algorithms, IoT integration, and real-time data processing.
Embedded new ideas can also involve the development of new hardware components or the optimization of existing ones.
Incorporating security features an...read more
Q26. What is dangling pointer?
A dangling pointer is a pointer that points to a memory location that has been deallocated or freed.
Dangling pointers can cause crashes or unpredictable behavior.
They occur when a pointer is not set to NULL after the memory it points to is freed.
They can also occur when a pointer is used after the memory it points to has been freed.
Dangling pointers can be avoided by setting pointers to NULL after freeing memory.
Q27. Q2. Find the mistakes in the code
Mistakes in embedded software code
Check for buffer overflows and memory leaks
Ensure proper error handling and exception handling
Verify correct usage of pointers and memory allocation
Check for race conditions and synchronization issues
Ensure compliance with coding standards and best practices
Q28. 8 bit vs 16 bit, power management in MCU
8 bit vs 16 bit MCUs have different power management capabilities.
8 bit MCUs are generally more power efficient than 16 bit MCUs.
16 bit MCUs have more processing power and can handle more complex tasks.
Power management techniques like sleep modes and clock gating can be used to conserve power in both types of MCUs.
Choosing the right MCU depends on the specific requirements of the project.
For example, an 8 bit MCU might be a better choice for a low-power IoT device, while a 16...read more
Q29. Things to consider while selecting a MCU
MCU selection depends on factors like performance, power consumption, peripherals, cost, and development tools.
Consider the required performance and processing power for the application
Evaluate power consumption requirements and available power sources
Check for required peripherals and interfaces
Consider the cost of the MCU and development tools
Evaluate the availability and quality of development tools and support
Examples: STM32, PIC, AVR, ARM Cortex-M, etc.
Q30. 1. What is structure and union
Structure and union are data structures in C programming language.
Structure is a collection of variables of different data types under a single name.
Union is a special data type that allows storing different data types in the same memory location.
Structures are used to represent a record while unions are used for memory optimization.
Structures are accessed using dot (.) operator while unions are accessed using arrow (->) operator.
Q31. Optimisation in c
Optimization in C involves improving the efficiency and performance of code.
Use efficient algorithms and data structures
Minimize memory usage
Avoid unnecessary function calls
Optimize loops and conditionals
Use compiler optimizations
Profile and analyze code for bottlenecks
Q32. I2C protocol in detail with circuit diagram
I2C is a serial communication protocol used to connect multiple devices in a master-slave configuration.
I2C stands for Inter-Integrated Circuit.
It uses two wires - SDA (data line) and SCL (clock line).
Devices are addressed using 7-bit or 10-bit addresses.
It supports multiple masters and slaves on the same bus.
Example: Connecting a microcontroller to a temperature sensor using I2C.
Q33. UART Protocol in detail with circuit diagram
UART is a serial communication protocol commonly used in embedded systems for transmitting data between devices.
UART stands for Universal Asynchronous Receiver/Transmitter.
It uses two communication lines - one for transmitting data (TX) and one for receiving data (RX).
Data is sent in a series of bits, with start and stop bits to indicate the beginning and end of a data packet.
UART operates in full-duplex mode, allowing for simultaneous transmission and reception of data.
Circu...read more
Q34. Q1. What is static, global,
Static and global are storage classes in C programming language.
Static variables have a local scope but retain their value between function calls.
Global variables have a file scope and can be accessed from any function within the file.
Static functions have a file scope and can only be called within the file.
Q35. what are the communication protocols
Communication protocols are rules and conventions for exchanging data between devices or systems.
Common communication protocols include TCP/IP, HTTP, MQTT, Modbus, and CAN.
Protocols define the format, timing, sequencing, and error checking of data transmission.
Different protocols are used for different types of communication, such as wired or wireless, real-time or non-real-time.
Examples of communication protocols in embedded systems include SPI, I2C, UART, and Ethernet.
Q36. Reverse bits of a given number
Reverse the bits of a given number
Use bitwise operators to extract and shift bits
Create a new variable to store the reversed bits
Loop through the bits and add them to the new variable in reverse order
Q37. Diamond problem program with approach
Diamond problem occurs in multiple inheritance when a class inherits from two classes that have a common base class.
Diamond problem can be resolved using virtual inheritance in C++.
Virtual inheritance ensures that only one instance of the common base class is inherited.
Example: class A is inherited by classes B and C, then class D inherits from both B and C. Using virtual inheritance for B and C in D resolves the diamond problem.
Q38. c program to find the bit set
A C program to find the bit set
Use bitwise AND operator to check if a bit is set
Loop through all bits and check each one
Use a mask to isolate each bit and check if it is 1
Q39. Have worked on cmm scripts
Yes, I have experience working on CMM scripts.
Yes, I have written CMM scripts for automated testing of embedded software.
I have used CMM scripts to automate testing processes and improve efficiency.
Experience in debugging and optimizing CMM scripts for better performance.
Q40. How exception handled in mcu
Exceptions in MCUs are typically handled through interrupt service routines or error handling mechanisms.
MCUs use interrupt service routines to handle exceptions such as divide by zero or invalid memory access.
Error handling mechanisms like watchdog timers can reset the MCU if a critical error occurs.
Some MCUs have built-in fault detection and correction mechanisms to handle exceptions.
Exception handling in MCUs is crucial for ensuring system stability and reliability.
Q41. Tell about the DVB Standard,
DVB stands for Digital Video Broadcasting, a set of international standards for digital television transmission.
DVB standards cover various aspects of digital television, including transmission, reception, and interactive services.
There are different DVB standards for different regions, such as DVB-T for terrestrial broadcasting and DVB-S for satellite broadcasting.
DVB standards are maintained by the DVB Project, an industry consortium of broadcasters, manufacturers, network ...read more
Q42. UDS in detail
UDS stands for Unified Diagnostic Services, a protocol used in automotive industry for communication between ECUs.
UDS is used for diagnostic communication between ECUs in vehicles.
It is based on the ISO 14229 standard.
UDS allows for diagnostic services such as reading and clearing fault codes, and accessing ECU data.
It uses a request-response mechanism, where the diagnostic tool sends a request and the ECU responds with the requested data.
UDS supports both CAN and LIN communi...read more
Q43. Types of memory devices
Types of memory devices include RAM, ROM, flash memory, and cache memory.
RAM (Random Access Memory) - volatile memory used for temporary storage
ROM (Read-Only Memory) - non-volatile memory used for permanent storage
Flash memory - non-volatile memory used for data storage in devices like USB drives and SSDs
Cache memory - high-speed memory used to store frequently accessed data for faster retrieval
Q44. Identify Prime number or not
A prime number is a number greater than 1 that can only be divided by 1 and itself.
Check if the number is greater than 1
Iterate from 2 to the square root of the number and check if it divides the number evenly
If no divisor is found, the number is prime
Q45. explain embedded system.
Embedded system is a specialized computer system designed to perform specific tasks within a larger system.
Embedded systems are typically found in everyday devices like smartphones, cars, and home appliances.
They are designed to be efficient, reliable, and cost-effective.
Embedded systems often have real-time constraints and limited resources.
Examples include microcontrollers in washing machines, GPS systems in cars, and firmware in smart thermostats.
Q46. Explain I2C protocol in brief.
I2C is a serial communication protocol used to connect multiple devices in a master-slave configuration.
I2C stands for Inter-Integrated Circuit.
It uses two wires - SDA (data line) and SCL (clock line).
Devices are addressed by a unique 7-bit address.
Supports multiple masters and slaves on the same bus.
Commonly used in sensors, EEPROMs, and other peripherals.
Q47. Risc vs cisc arch
RISC architecture has simpler instructions and fewer addressing modes, while CISC architecture has complex instructions and more addressing modes.
RISC architecture focuses on simplicity and efficiency, with a smaller instruction set and a simpler design.
CISC architecture focuses on versatility and flexibility, with a larger instruction set and a more complex design.
Examples of RISC processors include ARM and MIPS, while examples of CISC processors include x86 and AMD.
RISC arc...read more
Interview Questions of Similar Designations
Top Interview Questions for Embedded Software Developer 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