Embedded Software Engineer

100+ Embedded Software Engineer Interview Questions and Answers

Updated 28 Nov 2024

Popular Companies

search-icon

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 more
Ans.

Interview 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 more
Ans.

Interview 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

illustration image

Q3. 1) which microcontroller you have used in Academics?

Ans.

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?

Ans.

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

Are these interview questions helpful?

Q5. 3. How to enter if and else at the same time

Ans.

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

Ans.

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 šŸŒŸ

man-with-laptop

Q7. 7) To write program for Toggle particular But in C?

Ans.

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?

Ans.

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

Embedded Software Engineer ā€¢ 5-8 years
Larsen & Toubro (L&T)
ā€¢
4.0
Pune
Embedded Software Engineer ā€¢ 3-8 years
Larsen & Toubro (L&T)
ā€¢
4.0
Navi Mumbai
Embedded Software Engineer ā€¢ 8-10 years
UNO MINDA
ā€¢
4.0
Pune

Q9. write a program on structure.? and by using pointers how we declare structures.

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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?

Ans.

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?

Ans.

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

Ans.

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

Ans.

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

Ans.

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,

Ans.

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?

Ans.

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

    Ans.

    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?

    Ans.

    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.

    Ans.

    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.

    Ans.

    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

    Ans.

    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.

    Ans.

    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)

    Ans.

    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?

    Ans.

    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);

    Ans.

    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

    Ans.

    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

    Ans.

    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

    Ans.

    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?

    Ans.

    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)

    Ans.

    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

    Ans.

    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

    Ans.

    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

    Ans.

    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

    Ans.

    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

    Ans.

    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

    Ans.

    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 ?

    Ans.

    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?

    Ans.

    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

    Ans.

    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

    Ans.

    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

    Ans.

    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

    Ans.

    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

    Ans.

    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

    Ans.

    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.

    Ans.

    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.

    Ans.

    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.

    1
    2
    3
    4
    Next
    Interview Tips & Stories
    Ace your next interview with expert advice and inspiring stories

    Interview experiences of popular companies

    4.1
    Ā ā€¢Ā 4.9k Interviews
    3.6
    Ā ā€¢Ā 3.6k Interviews
    3.4
    Ā ā€¢Ā 511 Interviews
    4.2
    Ā ā€¢Ā 325 Interviews
    3.9
    Ā ā€¢Ā 289 Interviews
    3.5
    Ā ā€¢Ā 277 Interviews
    3.7
    Ā ā€¢Ā 275 Interviews
    3.6
    Ā ā€¢Ā 186 Interviews
    4.2
    Ā ā€¢Ā 122 Interviews
    3.9
    Ā ā€¢Ā 48 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 Engineer 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