Embedded Engineer
80+ Embedded Engineer Interview Questions and Answers
Q1. how many algorithms that you got familiar with when learning c programming?
I learned several algorithms while learning C programming.
I learned sorting algorithms like bubble sort, insertion sort, and selection sort.
I also learned searching algorithms like linear search and binary search.
I learned recursive algorithms like factorial and Fibonacci series.
I learned data structure algorithms like linked list, stack, and queue.
I also learned algorithms for string manipulation and file handling.
Overall, I learned a variety of algorithms that helped me bec...read more
Q2. Why are you interested in the field of embedded software development?
I am fascinated by the challenge of working with low-level hardware and creating efficient, real-time systems.
Enjoy the challenge of working with low-level hardware
Excited about creating efficient, real-time systems
Passionate about developing innovative solutions for embedded systems
Embedded Engineer Interview Questions and Answers for Freshers
Q3. How packet goes from source to destination.
Packets are sent from source to destination through a series of network devices using routing protocols.
Packet is created at the source with source and destination IP addresses.
Packet is sent to the default gateway or router.
Router checks its routing table to determine the next hop for the packet.
Packet is forwarded to the next hop until it reaches the destination.
Destination receives the packet and sends an acknowledgement back to the source.
Q4. What are the Protocols in Industry. Like SPI,I2c, CAN
Common industry protocols include SPI, I2C, and CAN for communication between devices.
SPI (Serial Peripheral Interface) is a synchronous serial communication protocol commonly used for communication between microcontrollers and peripheral devices.
I2C (Inter-Integrated Circuit) is a multi-master, multi-slave serial communication protocol used for connecting low-speed peripherals to a motherboard or embedded system.
CAN (Controller Area Network) is a robust serial communication ...read more
Q5. Write a code to allocate a memory for multidimential array on heap
Code to allocate memory for multidimensional array on heap
Use malloc() function to allocate memory on heap
Calculate the total size of the array using the dimensions
Use a pointer to access the array elements
Q6. Why can bus uses 120 ohm resistance
120 ohm resistance is used in CAN bus to match the characteristic impedance of the transmission line.
CAN bus is a differential signaling system that requires a balanced impedance to prevent signal reflections.
The 120 ohm resistance matches the characteristic impedance of the transmission line, which is typically 120 ohms.
Without the proper impedance matching, signal reflections can cause data errors and reduce the maximum communication distance.
The 120 ohm resistance is typic...read more
Share interview questions and help millions of jobseekers 🌟
Q7. What is the principle of analog to digital converter?
An analog to digital converter converts continuous analog signals into discrete digital values.
Converts continuous analog signals into digital values
Utilizes sampling and quantization techniques
Common types include successive approximation ADC and delta-sigma ADC
Q8. Formula for frequency and how to calculate frequency in 8051
Frequency in 8051 is calculated using the formula: Freq = 1 / (2 * T * 12 * (65536 - TH0 + TL0))
Frequency can be calculated by using the formula: Freq = 1 / (2 * T * 12 * (65536 - TH0 + TL0))
T is the crystal oscillator period in seconds
TH0 and TL0 are the values stored in Timer 0 registers
Example: If T = 1/12 MHz, TH0 = 0x00, TL0 = 0xFF, then Freq = 1 / (2 * (1/12e6) * 12 * (65536 - 0x00FF))
Embedded Engineer Jobs
Q9. What are the criteria for c program
Criteria for C program include syntax correctness, logical flow, and efficient memory usage.
Correct syntax and logical flow are essential for program functionality
Efficient memory usage is important for performance optimization
Program should be well-documented and easy to maintain
Code should be modular and reusable for future projects
Q10. Explain I2c diff btn i2c and spi diff btn hw and sw interrupt
I2C is a serial communication protocol used to connect multiple devices with two wires. SPI is another serial protocol with four wires.
I2C uses a master-slave architecture while SPI uses a master-master architecture.
I2C supports multiple devices on the same bus while SPI requires a separate chip select line for each device.
Hardware interrupts are triggered by external events while software interrupts are triggered by software instructions.
Q11. How keyboard mapping works in a microcontroller?
Keyboard mapping in a microcontroller involves assigning specific key codes to each key on the keyboard.
Keyboard mapping is typically done using a lookup table that maps physical key presses to corresponding key codes.
The microcontroller reads the key code when a key is pressed and sends it to the computer for processing.
Keyboards may use different mapping standards such as ASCII or HID.
Custom keyboard mappings can also be implemented for specific applications or languages.
Q12. what is microcontroller? have you worked on any microcontroller? c++ basics polymorphism
A microcontroller is a small computer on a single integrated circuit that contains a processor core, memory, and programmable input/output peripherals.
Microcontrollers are commonly used in embedded systems for controlling various devices and appliances.
They are programmed using languages like C or assembly language.
Examples of popular microcontrollers include Arduino, Raspberry Pi, and PIC.
Microcontrollers are often used in applications such as robotics, home automation, and ...read more
Q13. pointers work, how program execute for stm32,types of GPIO
Pointers are used to access memory addresses in STM32 for GPIO operations.
Pointers are used to access memory-mapped GPIO registers in STM32.
GPIO pins can be configured as input or output using pointers.
Example: GPIOA->MODER |= (1 << (2*2)); // Set pin PA2 as output
Q14. Write the code for with explain 8 bit and 4bit of clcd
Code for interfacing 8-bit and 4-bit CLCD with an embedded system.
For 8-bit CLCD, use all 8 data lines (D0-D7) to send data to the display.
For 4-bit CLCD, use only 4 data lines (D4-D7) to send data in two 4-bit nibbles.
Ensure proper initialization and configuration of the CLCD controller in the code.
Example: For 8-bit CLCD - send data using PORTA in AVR microcontroller. For 4-bit CLCD - send data using lower nibble of PORTB.
Q15. How does a computer boot up?
A computer boots up by executing the BIOS, loading the operating system into memory, and initializing hardware components.
BIOS (Basic Input/Output System) is the first code executed by a computer when powered on.
BIOS performs a Power-On Self Test (POST) to check hardware components.
BIOS then locates and loads the operating system from the boot device (e.g. hard drive, SSD, USB).
The operating system is loaded into memory (RAM) and begins executing, initializing hardware compon...read more
Q16. Difference between normal can and extended can
CAN is a communication protocol used in automotive and industrial applications. Normal CAN has 11-bit identifier while Extended CAN has 29-bit identifier.
Normal CAN has 11-bit identifier while Extended CAN has 29-bit identifier.
Extended CAN allows for more unique identifiers, enabling more devices to communicate on the same network.
Normal CAN has a maximum data rate of 1 Mbps while Extended CAN has a maximum data rate of 8 Mbps.
Extended CAN is typically used in applications w...read more
Q17. Types of error messages in CAN protocol
Types of error messages in CAN protocol
Bit Error: Error in a single bit of the message
Stuff Error: Error in the stuffing bits
CRC Error: Error in the cyclic redundancy check
Form Error: Error in the message format
Acknowledge Error: Error in the acknowledgement of the message
Q18. Why they call port 0 as no power port
Port 0 is called no power port because it does not have any power supply connected to it.
Port 0 is typically used for communication purposes and does not provide power to connected devices.
It is commonly found in microcontrollers and is designated for data transfer rather than power supply.
Devices connected to port 0 may need to be powered separately to function properly.
Q19. How clcd works and explain in detail
CLCD stands for Character LCD. It is a type of display commonly used in embedded systems to show text and simple graphics.
CLCD displays characters and symbols by controlling individual pixels on the screen
It typically has a predefined set of characters stored in ROM, which can be displayed by sending corresponding ASCII values
CLCDs are commonly interfaced with microcontrollers using protocols like I2C or SPI
Commands are sent to CLCD to set cursor position, clear screen, displ...read more
Q20. differences between micro processors and micro controllers
Microprocessors are general-purpose CPUs while microcontrollers are specialized chips with integrated memory and peripherals.
Microprocessors are used in devices like computers and smartphones, while microcontrollers are used in embedded systems like microwaves and washing machines.
Microprocessors require external components like memory and peripherals, while microcontrollers have these components integrated on the chip.
Microprocessors are more powerful and versatile, while mi...read more
Q21. What's is MOSFET ? How control current
MOSFET stands for Metal-Oxide-Semiconductor Field-Effect Transistor. It is a type of transistor used to control current in electronic devices.
MOSFET is a type of transistor that uses an electric field to control the flow of current.
It has three terminals - gate, source, and drain.
By applying a voltage to the gate terminal, the MOSFET can either allow or block current flow between the source and drain.
MOSFETs are commonly used in amplifiers, power regulators, and digital circu...read more
Q22. Delete a node from single linked list.
To delete a node from a single linked list, we need to find the node and update the pointers.
Traverse the list to find the node to be deleted
Update the previous node's pointer to point to the next node
Free the memory of the node to be deleted
Q23. What is the use of UART protocal
UART protocol is used for serial communication between devices, typically between a microcontroller and peripherals.
UART allows for asynchronous communication
It uses two wires for communication - one for transmitting data (TX) and one for receiving data (RX)
Commonly used in applications like GPS modules, Bluetooth modules, and serial communication with PCs
Q24. how ADC and DAC converters works?
ADC converts analog signals to digital signals, while DAC converts digital signals to analog signals.
ADC stands for Analog-to-Digital Converter, which samples and quantizes analog signals into digital values.
DAC stands for Digital-to-Analog Converter, which converts digital values into analog signals.
ADC involves sampling, quantization, and encoding processes.
DAC involves decoding, reconstruction, and filtering processes.
Example: A microphone converts sound waves (analog) int...read more
Q25. Size of Bus in a 8-bit microcontroller?
The size of the bus in an 8-bit microcontroller is typically 8 bits.
The bus size determines the amount of data that can be transferred in one operation.
In an 8-bit microcontroller, the bus size is 8 bits, allowing for 8 bits of data to be transferred at a time.
This means that the microcontroller can process data in 8-bit chunks, which is common for 8-bit architectures.
Q26. Discuss project of the previous company block diagram etc
Designed a real-time monitoring system for industrial machines using sensors and microcontrollers.
Created a block diagram outlining the system architecture
Utilized sensors to collect data on machine performance
Implemented microcontrollers to process and transmit data
Developed a user interface for monitoring and analyzing machine data
Q27. What is an inline function?
An inline function is a function that is expanded in line when it is called, rather than executing a call to the function.
Inline functions are defined with the 'inline' keyword.
They are used to improve performance by reducing the overhead of function calls.
They are typically small functions that are called frequently.
Inline functions can be defined in header files.
Example: inline int add(int a, int b) { return a + b; }
Q28. Steps of compilation of a C program.
Compilation of a C program involves preprocessing, compiling, assembling, and linking.
Preprocessing: Includes header files, macro expansions, and comments removal. Example: gcc -E program.c
Compiling: Translates source code to assembly code. Example: gcc -S program.c
Assembling: Converts assembly code to machine code. Example: gcc -c program.s
Linking: Combines object files and libraries to generate executable. Example: gcc program.o -o program
Q29. Why c is faster than java or python
C is faster than Java or Python due to its lower-level nature and direct hardware access.
C is a low-level language that allows for direct memory manipulation and hardware access, resulting in faster performance.
Java and Python are higher-level languages with more abstractions, leading to slower execution compared to C.
C code is compiled directly to machine code, while Java and Python code are typically interpreted or run on a virtual machine.
C is closer to the hardware and pr...read more
Q30. Define structure Define union Why C programming
Structure is a user-defined data type in C that allows storing multiple data types under a single name.
Structures in C are used to group different data types together under a single name.
They are used to represent a record, such as a student with attributes like name, age, and roll number.
Structures can contain variables, arrays, and even other structures as members.
Q31. Difference between structure and union ?
Structure is a collection of different data types under a single name, while union is a collection of different data types but only one can be accessed at a time.
Structure allows all members to be accessed simultaneously, while union allows only one member to be accessed at a time.
Size of structure is sum of sizes of all members, while size of union is equal to the size of the largest member.
Example: struct Person { int age; char name[20]; }; union Data { int num; char letter...read more
Q32. Bit arbitration and its significance
Bit arbitration is the process of resolving conflicts when multiple devices try to access the same bus simultaneously.
Bit arbitration is important in multi-master systems where multiple devices can initiate data transfer.
It ensures that only one device gains control of the bus at a time.
Different arbitration schemes include priority-based, round-robin, and collision detection.
For example, in a CAN bus system, the device with the highest priority message gets to transmit first...read more
Q33. Explain the difference between loops in C.
Different types of loops in C include for, while, and do-while loops.
For loop: Used when the number of iterations is known. Example: for(int i=0; i<5; i++) {}
While loop: Used when the number of iterations is unknown. Example: while(condition) {}
Do-while loop: Similar to while loop but guarantees at least one execution. Example: do {} while(condition);
Q34. program to count the number of words in a string
Program to count the number of words in a string using array of strings.
Split the string into an array of strings using a delimiter like space.
Iterate through the array and count the number of elements.
Handle edge cases like multiple spaces between words.
Q35. What is Embedded System?
Embedded system is a computer system designed to perform specific tasks with real-time constraints.
Combination of hardware and software
Limited resources
Real-time constraints
Examples: traffic lights, medical devices, smart home appliances
Q36. What is binary coded decimal?
Binary Coded Decimal (BCD) is a way of representing decimal numbers using a binary code.
BCD uses four bits to represent each decimal digit.
Each decimal digit is represented by its binary equivalent.
For example, the decimal number 25 is represented in BCD as 0010 0101.
Q37. What is CAN protocol?
CAN protocol stands for Controller Area Network protocol, used for communication between microcontrollers and devices in automotive and industrial applications.
CAN protocol is a robust and reliable communication protocol used in automotive and industrial applications.
It allows multiple microcontrollers to communicate with each other without a host computer.
CAN protocol uses a differential signaling scheme to reduce electromagnetic interference.
It supports message prioritizati...read more
Q38. what is vlsi and its uses
VLSI stands for Very Large Scale Integration and it involves packing millions of transistors onto a single chip.
VLSI is used in the design and manufacture of microprocessors, memory chips, and other electronic components.
It enables the creation of smaller and more powerful electronic devices.
VLSI technology is used in various industries such as automotive, aerospace, telecommunications, and consumer electronics.
Examples of VLSI chips include Intel's Pentium processors, Samsun...read more
Q39. Interprocess communication in OS
Interprocess communication is a mechanism that allows processes to communicate with each other in an OS.
IPC mechanisms include pipes, sockets, message queues, shared memory, and signals.
IPC can be used for synchronization, data sharing, and coordination between processes.
IPC can be implemented using system calls such as fork(), pipe(), socket(), and msgget().
Q40. Work culture of company
Our company values collaboration, innovation, and work-life balance.
We encourage open communication and teamwork among employees.
We prioritize creativity and finding new solutions to problems.
We believe in maintaining a healthy work-life balance for our employees.
We offer flexible work arrangements and opportunities for professional development.
We have a diverse and inclusive work environment that values all perspectives.
We prioritize employee wellness and offer benefits such...read more
Q41. Can we call ISR from ISR
Yes, it is possible to call an ISR from another ISR.
Calling an ISR from another ISR is known as nesting ISRs.
It is important to carefully manage the nesting depth to avoid stack overflow.
Nested ISRs can introduce complexity and potential issues, so it should be used judiciously.
Q42. How does cross Compilation work
Cross compilation is the process of compiling code on one platform to run on a different platform.
Cross compilation involves using a compiler that runs on one platform (the host) to generate executable code for another platform (the target).
It is commonly used in embedded systems development where the target platform may have different architecture or operating system than the host platform.
Cross compilation requires a cross compiler toolchain that includes a compiler, linker...read more
Q43. What is ISR?
ISR stands for Interrupt Service Routine. It is a function that is executed in response to an interrupt signal.
ISR is a type of callback function that is used in embedded systems.
It is used to handle hardware interrupts, such as button presses or sensor readings.
ISR is executed asynchronously and takes priority over other tasks.
It is important to keep ISR functions short and efficient to prevent delays in other system operations.
Examples of ISR include handling interrupts fro...read more
Q44. How to calculate voltage
Voltage can be calculated using Ohm's Law, which states V = I * R.
Use Ohm's Law formula V = I * R, where V is voltage, I is current, and R is resistance.
Measure the current flowing through the circuit using an ammeter.
Measure the resistance of the circuit using a multimeter.
Multiply the current by the resistance to calculate the voltage.
For example, if the current is 2A and the resistance is 5 ohms, the voltage would be 10V (2A * 5 ohms = 10V).
Q45. what is spi communication
SPI (Serial Peripheral Interface) is a synchronous serial communication protocol used for short distance communication.
SPI is used to communicate between microcontrollers, sensors, and other peripherals.
It uses a master-slave architecture where the master device initiates the communication.
SPI uses four wires: MOSI (Master Out Slave In), MISO (Master In Slave Out), SCK (Serial Clock), and SS (Slave Select).
SPI is faster than I2C and UART communication protocols.
Example: SPI i...read more
Q46. What is ADC?
ADC stands for Analog-to-Digital Converter. It is a device that converts analog signals into digital signals.
ADC is commonly used in embedded systems to convert analog signals from sensors into digital signals that can be processed by a microcontroller.
ADC can have different resolutions, which determines the number of bits used to represent the digital signal.
ADC can also have different sampling rates, which determines how often the analog signal is sampled and converted into...read more
Q47. Which language you like?
I prefer C++ for its performance and versatility.
C++ is known for its high performance and efficiency.
C++ is a versatile language that can be used for a wide range of applications.
C++ allows for low-level memory manipulation, making it suitable for embedded systems.
Examples: Developing firmware for microcontrollers, implementing real-time systems.
Q48. Dynamic memory alocation in c
Dynamic memory allocation in C allows allocation of memory at runtime.
Dynamic memory allocation is done using functions like malloc(), calloc(), realloc() and free().
malloc() allocates memory block of specified size and returns a pointer to the first byte of allocated memory.
calloc() allocates memory block of specified size and initializes all bits to zero.
realloc() changes the size of previously allocated memory block.
free() deallocates the memory previously allocated by mal...read more
Q49. SQL query to retrieve top 5 records.
Use SQL query with ORDER BY and LIMIT to retrieve top 5 records.
Use SELECT statement to specify columns to retrieve
Use ORDER BY clause to sort the records in descending order
Use LIMIT clause to limit the number of records to 5
Q50. Two sum- return true or false
Given an array of integers, determine if there are two numbers that add up to a specific target.
Iterate through the array and store each element in a hash set.
For each element, check if the difference between the target and the element exists in the hash set.
If the difference exists, return true; otherwise, continue iterating.
Example: nums = [2, 7, 11, 15], target = 9. The function should return true as 2 + 7 = 9.
Interview Questions of Similar Designations
Top Interview Questions for Embedded 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