Embedded Software Developer

40+ Embedded Software Developer Interview Questions and Answers

Updated 16 Dec 2024
search-icon

Q1. How many result cases are possible when to find maximum of three numbers. This is tricky question

Ans.

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?

Ans.

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

illustration image

Q3. Array short without using another array, with minimum parameters

Ans.

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

Ans.

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

Are these interview questions helpful?

Q5. how to interface mocroproceesor kit wid the I/O devices

Ans.

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

Ans.

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 🌟

man-with-laptop

Q7. What is Constructor, is virtual constructor possible in C++, Virtual destructor with implementation.

Ans.

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

Ans.

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

Senior Engineer - Embedded Software Development 7-10 years
EMERSON INNOVATION CENTER
4.1
Pune
Embedded Software Developer 3-8 years
Tech Mahindra
3.6
₹ 7 L/yr - ₹ 17 L/yr
Pune
Royal Enfield - Product Manager - Embedded Software Development (6-9 yrs) 6-9 years
Royal Enfield (A Unit of Eicher Motors Ltd.).
4.2
₹ 18 L/yr - ₹ 25 L/yr

Q9. Getter setter implementation, implementation of virtual function, difference between encapsulation and abstraction, focus on OOP

Ans.

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

Ans.

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?

Ans.

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

Ans.

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 ?

Ans.

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

Ans.

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.

Ans.

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?

Ans.

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

Ans.

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.

Ans.

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.

Ans.

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 ?

Ans.

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.

Ans.

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

Ans.

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.

Ans.

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

Ans.

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?

Ans.

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?

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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,

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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,

Ans.

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

Ans.

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

Ans.

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

Ans.

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.

Ans.

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.

Ans.

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

Ans.

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 Tips & Stories
Ace your next interview with expert advice and inspiring stories

Top Interview Questions for Embedded Software Developer Related Skills

Interview experiences of popular companies

3.7
 • 10.3k Interviews
3.7
 • 7.5k Interviews
3.5
 • 3.7k Interviews
3.5
 • 92 Interviews
4.1
 • 63 Interviews
4.4
 • 36 Interviews
View all

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

Embedded Software Developer Interview Questions
Share an Interview
Stay ahead in your career. Get AmbitionBox app
qr-code
Helping over 1 Crore job seekers every month in choosing their right fit company
65 L+

Reviews

4 L+

Interviews

4 Cr+

Salaries

1 Cr+

Users/Month

Contribute to help millions
Get AmbitionBox app

Made with ❤️ in India. Trademarks belong to their respective owners. All rights reserved © 2024 Info Edge (India) Ltd.

Follow us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter