Embedded Software Engineer
40+ Embedded Software Engineer Interview Questions and Answers for Freshers
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. 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
Q3. 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;
Q4. 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.
Q5. 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
Q6. 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
Share interview questions and help millions of jobseekers 🌟
Q7. 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.
Q8. 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.
Embedded Software Engineer Jobs
Q9. 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
Q10. 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
Q11. 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
Q12. 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
Q13. 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
Q14. 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
Q15. 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
Q16. 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
Q17. 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
Q18. 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
Q19. 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.
Q20. 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
Q21. How does a slave handles two masters in embedded system
A slave in an embedded system can handle two masters by using a bus arbitration mechanism.
The slave device can prioritize requests from one master over the other based on a predefined protocol.
The slave can use a bus arbitration technique such as round-robin or priority-based arbitration to manage access from multiple masters.
The slave may have separate buffers or registers to store data from each master to prevent data corruption or loss.
The slave can communicate with both m...read more
Q22. write a shell programm to list last 3 files recently opened
A shell program to list the last 3 recently opened files.
Use the 'ls' command with the '-lt' option to list files in descending order of modification time.
Pipe the output of 'ls' to 'head' command to get the first 3 lines.
Use 'awk' command to extract only the file names from the 'ls' output.
Q23. What is the property of diode?
Diode is an electronic component that allows current to flow in one direction only.
Diode has two terminals - anode and cathode.
It has a forward voltage drop and a reverse breakdown voltage.
It is commonly used in rectifiers, voltage regulators, and signal demodulators.
Q24. what are embedded boards that i worked on
I have worked on various embedded boards including Raspberry Pi, Arduino, and BeagleBone.
Raspberry Pi
Arduino
BeagleBone
Q25. Explain oops concept, pillars of c++, differences
OOPs concept in C++ involves encapsulation, inheritance, polymorphism, and abstraction.
Encapsulation: Bundling data and methods that operate on the data into a single unit (class). Example: class Car { private: int speed; public: void accelerate() { speed += 10; } };
Inheritance: Allows a class to inherit properties and behavior from another class. Example: class ElectricCar : public Car { public: void chargeBattery() { batteryLevel = 100; } };
Polymorphism: Ability to present ...read more
Q26. Write a C program to add two elements without using third variable.
Add two elements without using a third variable in C program.
Use bitwise XOR operation to add two elements without carry
Store the result in one of the variables
Example: int a = 5, b = 3; a = a ^ b; b = a ^ b; a = a ^ b; // a=3, b=5
Q27. Write a C program to arrange the elements in ascending order.
C program to arrange elements in ascending order
Use bubble sort algorithm to compare adjacent elements and swap if necessary
Iterate through the array multiple times until no more swaps are needed
Ensure proper error handling for input validation
Example: int arr[] = {4, 2, 7, 1, 5};
Q28. Prime numbers program
A program to find prime numbers
Start with a loop to iterate through numbers
Check if each number is divisible by any number less than itself
If not, add it to a list of prime numbers
Q29. What is DeadLock in OS
Deadlock is a situation in which two or more competing actions are each waiting for the other to finish, preventing any of them from completing.
Occurs in multitasking environments
Caused by resource contention
Can be resolved using techniques like deadlock prevention, deadlock avoidance, and deadlock detection
Example: Process A holds Resource X and waits for Resource Y, while Process B holds Resource Y and waits for Resource X
Q30. Difference between enum and Struct
Enum is used to define a set of named constants while struct is used to define a collection of variables of different data types.
Enum is used to define a set of named constants, while struct is used to define a collection of variables of different data types.
Enum values are typically integers, while struct members can be of any data type.
Enums are used when you have a fixed set of values that won't change, while structs are used to group related variables together.
Example: en...read more
Q31. Different Function Call Methods
Different function call methods include pass by value, pass by reference, and pass by pointer.
Pass by value: Copies the value of the actual parameter into the formal parameter of the function.
Pass by reference: Passes a reference to the memory location of the actual parameter.
Pass by pointer: Passes the memory address of the actual parameter.
Q32. Moral Motivation vs Monetary Motivation
Moral motivation is driven by personal values and beliefs, while monetary motivation is driven by financial incentives.
Moral motivation is based on doing what is right or ethical, regardless of financial gain.
Monetary motivation involves being driven by financial rewards or incentives.
Some individuals may prioritize moral motivation over monetary motivation, while others may prioritize financial gain.
Examples: A person may choose to work for a non-profit organization out of a...read more
Q33. what is pointer and it's type
A pointer is a variable that stores the memory address of another variable.
Types of pointers include null pointers, void pointers, function pointers, and array pointers.
Example: int *ptr; // pointer to an integer variable
Example: char *str = 'hello'; // pointer to a character array
Q34. Application of zener diode
Zener diode is used as a voltage regulator and to protect circuits from overvoltage.
Zener diode maintains a constant voltage across its terminals when reverse biased
It is used in voltage regulator circuits to provide a stable output voltage
Zener diodes are also used to protect circuits from overvoltage by shunting excess voltage to ground
They are commonly used in power supplies, voltage regulators, and surge protectors
Q35. Explain about biasing
Biasing is the process of providing a DC voltage or current to establish a desired operating point for electronic components.
Biasing is used to ensure that electronic components operate within their specified range.
It involves setting the appropriate voltage or current levels to achieve the desired performance.
Biasing is commonly used in transistors, amplifiers, and other electronic circuits.
There are different types of biasing techniques such as fixed bias, self-bias, and vo...read more
Q36. What are Macros in C
Macros in C are preprocessor directives that define constants or perform repetitive tasks.
Macros are defined using #define directive.
They are used to define constants like #define PI 3.14159.
Macros can also be used to create code snippets that can be reused multiple times.
For example, #define MAX(a, b) ((a) > (b) ? (a) : (b)) defines a macro to find maximum of two numbers.
Q37. is brute force is good or bad
Brute force can be both good and bad depending on the context and application.
Brute force can be effective for small scale problems or when time is limited.
However, it is inefficient and impractical for large scale problems.
Brute force may also be necessary in certain scenarios where no other efficient solution exists.
For example, brute force can be used in password cracking when other methods fail.
Q38. microprocerror and controller differences
Microprocessors and microcontrollers are both types of integrated circuits used in embedded systems.
Microprocessors are general-purpose processors that can execute a wide range of tasks.
Microcontrollers are specialized processors designed for specific tasks in embedded systems.
Microprocessors typically have more processing power and memory compared to microcontrollers.
Microcontrollers often have built-in peripherals like timers, ADCs, and communication interfaces.
Microprocess...read more
Q39. Told me to find the bug in c++ code?
The bug in the C++ code needs to be identified and fixed.
Check for syntax errors, such as missing semicolons or parentheses
Look for logical errors, like incorrect variable assignments or conditions
Use debugging tools like gdb or print statements to trace the code execution
Consider edge cases and boundary conditions that may not have been handled properly
Q40. What is a diode?
A diode is an electronic component that allows current to flow in only one direction.
It has two terminals: an anode and a cathode.
It is commonly used in rectifiers, voltage regulators, and signal limiters.
Examples include the 1N4148 and 1N4001 diodes.
Q41. difference between mutex and semaphore
Mutex is used for exclusive access to a resource by a single thread, while semaphore is used for controlling access to a resource by multiple threads.
Mutex is binary in nature, allowing only one thread to access the resource at a time.
Semaphore can have a count greater than 1, allowing multiple threads to access the resource simultaneously.
Mutex is typically used for protecting critical sections of code.
Semaphore is often used for synchronization between multiple threads or p...read more
Q42. Name all the gates
There are three basic logic gates: AND, OR, and NOT.
AND gate outputs 1 only if all inputs are 1
OR gate outputs 1 if any input is 1
NOT gate outputs the opposite of its input
Q43. Tell me about ASPICE ?
ASPICE stands for Automotive SPICE, a framework for software development in the automotive industry.
ASPICE is a standard used in the automotive industry to assess and improve software development processes.
It helps ensure that software development meets the quality standards required for automotive safety and reliability.
ASPICE defines a set of processes and practices that organizations can follow to achieve higher levels of maturity in software development.
Examples of ASPICE...read more
Q44. What Is stack pointer
Stack pointer is a special purpose register in a computer's CPU that points to the top of the stack.
Stack pointer is used to keep track of the current position in the stack memory.
It is incremented or decremented as items are pushed or popped from the stack.
Example: In a microcontroller, the stack pointer may be SP or R13 register.
Q45. C++ code to reverse a string
C++ code to reverse a string
Create a character array of the same length as the string
Loop through the string and copy each character to the array in reverse order
Add a null terminator at the end of the array to make it a valid string
Q46. Explain types of biasing
Biasing is the process of providing a DC voltage or current to establish a suitable operating point for an electronic device.
Types of biasing include fixed bias, self-bias, voltage divider bias, and emitter bias.
Fixed bias involves connecting a DC voltage source directly to the base of a transistor.
Self-bias involves using a resistor to provide negative feedback to stabilize the operating point.
Voltage divider bias involves using two resistors to create a voltage divider that...read more
Q47. Truth table of xor
XOR is a logical operator that returns true if and only if both inputs are different.
XOR is represented by the symbol ^.
The truth table of XOR has two inputs and one output.
If both inputs are the same, the output is false. Otherwise, the output is true.
Q48. What is typecast
Typecast is a way to explicitly convert a variable from one data type to another in programming.
Typecasting is done by placing the data type in parentheses before the variable.
Example: int num = 10; double result = (double) num;
Typecasting can result in loss of data if the conversion is not possible.
Q49. What is typedef
typedef is a keyword in C programming used to create an alias for data types.
Used to create a new name for an existing data type
Improves code readability and maintainability
Example: typedef unsigned int uint32_t;
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