Embedded Developer
50+ Embedded Developer Interview Questions and Answers

Asked in Bosch

Q. What is the difference between a null pointer and a void pointer?
A null pointer points to nothing while a void pointer can point to any data type.
A null pointer is a pointer that has been explicitly set to a null value.
A void pointer is a pointer that has no type associated with it.
A null pointer is a subtype of a void pointer.
A null pointer is used to indicate that a pointer does not point to a valid object.
A void pointer is used to store a pointer to any type of object.

Asked in Aptiv

Q. What are storage class specifiers in C?
Storage class specifiers in C are used to define the scope and lifetime of variables.
There are four storage class specifiers in C: auto, register, static, and extern.
Auto variables are local to a block and have automatic storage duration.
Register variables are stored in CPU registers for faster access.
Static variables have a lifetime throughout the program and are initialized only once.
Extern variables are declared in one file and can be used in other files.
Storage class spec...read more
Embedded Developer Interview Questions and Answers for Freshers

Asked in Cognizant

Q. Where are memory stack, local, global, and static variables stored?
Memory stack stores local variables, while global and static variables are stored in the data segment.
Local variables are stored on the stack, which is a region of memory that grows and shrinks as functions are called and return.
Global variables are stored in the data segment, which is a fixed area of memory accessible throughout the program.
Static variables, which retain their value between function calls, are also stored in the data segment.
Example: In C, a local variable d...read more

Asked in TCS

Q. What is the difference between a Microprocessor and a Microcontroller?
Microprocessor is a standalone CPU while microcontroller has CPU, memory, and peripherals on a single chip.
Microprocessor is used in applications where processing power is the main requirement, like computers.
Microcontroller is used in embedded systems where space, power, and cost are constraints, like in IoT devices.
Microprocessors require external components like memory and peripherals, while microcontrollers have them integrated.
Examples of microprocessors include Intel Co...read more
Asked in Apollo Computing Laboratories

Q. What are flip-flops and how do they function in digital electronics?
Flip-flops are fundamental digital memory circuits used to store binary data, functioning as bistable devices.
Bistable Device: Flip-flops can hold one of two states (0 or 1), making them essential for storing binary information.
Types of Flip-Flops: Common types include SR (Set-Reset), D (Data), JK, and T (Toggle) flip-flops, each serving different purposes.
Clock Signal: Flip-flops are triggered by clock signals, which synchronize their state changes, ensuring reliable data st...read more
Asked in Emprotek Software Solutions

Q. What is the code to sort a list of numbers in ascending order?
Sorting a list of numbers in ascending order can be achieved using various algorithms or built-in functions.
Use built-in functions like 'sort()' in Python: Example: numbers.sort()
Implement sorting algorithms like Bubble Sort: Example: for i in range(len(arr)): for j in range(0, len(arr)-i-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j]
Consider using Quick Sort for efficiency: Example: def quick_sort(arr): if len(arr) <= 1: return arr; pivot = arr[len(arr) // 2];...read more
Embedded Developer Jobs




Asked in Bosch Global Software Technologies

Q. What is the difference between a microcontroller and a microprocessor?
Microcontrollers are integrated circuits designed for specific tasks with built-in memory and peripherals, while microprocessors are general-purpose CPUs without built-in memory or peripherals.
Microcontrollers are typically used in embedded systems for specific tasks, such as controlling a motor or sensor.
Microcontrollers have built-in memory and peripherals, reducing the need for external components.
Microprocessors are more versatile and used in general-purpose computing dev...read more

Asked in Aptiv

Q. What does the preprocessor do in C?
Preprocessor in C is a tool that processes source code before compilation.
It performs macro substitution
It includes header files
It conditionally compiles code
It defines constants and symbols
It removes comments
Examples of preprocessor directives are #include, #define, #ifdef, #ifndef, #endif
Preprocessor directives start with a # symbol
Share interview questions and help millions of jobseekers 🌟

Asked in Tech Mahindra

Q. Write a device driver code for I2C in STM32, assuming the register address macros are known.
This code demonstrates a basic I2C device driver for STM32 using HAL library functions.
Include necessary headers: #include 'stm32f4xx_hal.h'
Initialize I2C: HAL_I2C_Init(&hi2c1);
Define I2C handle: I2C_HandleTypeDef hi2c1;
Use HAL_I2C_Master_Transmit() to send data.
Use HAL_I2C_Master_Receive() to read data.
Check for errors using HAL_I2C_GetError() function.

Asked in Essae Teraoka

Q. What is kernel space and any experience in device drivers
Kernel space is a protected area of memory where the core of the operating system resides. Device drivers are software that allows the operating system to communicate with hardware devices.
Kernel space is a privileged area of memory that is reserved for the core components of the operating system.
Device drivers are software modules that facilitate communication between the operating system and hardware devices.
Experience in device drivers may involve writing, debugging, or op...read more

Asked in Bosch

Q. What is a function pointer and what are its uses?
Function pointer is a variable that stores the address of a function and can be used to call that function.
Function pointers are used to pass a function as an argument to another function.
They can be used to implement callbacks and event handlers.
Function pointers can be used to implement polymorphism in C.
They can be used to switch between different implementations of a function at runtime.

Asked in Future Group

Q. what is interrupt latency..? what is a function pointer....?
Interrupt latency is the time delay between the occurrence of an interrupt and the start of the routine that services the interrupt. A function pointer is a variable that stores the address of a function.
Interrupt latency is critical in real-time systems where timely response to events is important.
Interrupt latency can be reduced by optimizing the interrupt service routine.
Function pointers are commonly used in C and C++ programming languages.
Function pointers can be used to...read more

Asked in Aptiv

Q. What is an Interrupt Service Routine?
An Interrupt Service Routine (ISR) is a function that is executed in response to an interrupt signal.
ISR is a type of callback function that handles interrupts
It is a low-level function that runs in response to a hardware event
ISR must be short and fast to avoid blocking other interrupts
Examples of interrupts include keyboard input, timer events, and hardware errors

Asked in Tech Mahindra

Q. Write code for ADC for STM32 without register details, but you must remember the register names.
This code configures and reads ADC values on STM32 microcontrollers, enabling analog signal processing in embedded applications.
Initialization: Configure the ADC peripheral using HAL functions, e.g., HAL_ADC_Init().
Channel Selection: Select the ADC channel to read from, e.g., ADC_CHANNEL_0.
Start Conversion: Use HAL_ADC_Start() to begin the conversion process.
Polling for Conversion: Wait for the conversion to complete using HAL_ADC_PollForConversion().
Read Value: Retrieve the ...read more

Asked in Aptiv

Q. What are the different types of interrupts?
Interrupts are signals sent to the processor to temporarily halt its current task and execute a specific task.
Hardware interrupts - generated by external devices
Software interrupts - generated by software programs
Maskable interrupts - can be disabled by the processor
Non-maskable interrupts - cannot be disabled by the processor
Examples - keyboard input, mouse input, timer interrupts, etc.

Asked in Essae Teraoka

Q. Explain the serial communication protocols SPI, UART, and I2C.
SPI, UART, and I2C are communication serial protocols used in embedded systems to transfer data between devices.
SPI (Serial Peripheral Interface) is a full-duplex synchronous communication protocol commonly used for communication between microcontrollers and peripheral devices.
UART (Universal Asynchronous Receiver/Transmitter) is a serial communication protocol that uses two wires for data transmission and is commonly used for communication between devices over longer distanc...read more

Asked in TI Clean Mobility

Q. Are you develpoed a software from scratch? Or not?
Yes, I have developed software from scratch for various projects.
I have experience developing software from scratch for projects in the automotive industry.
I have created custom firmware for embedded systems starting from a blank slate.
I have built applications from the ground up using C/C++ and Python.
I have designed and implemented algorithms for real-time processing in embedded systems.

Asked in ServiceNow

Q. What is the use of the static keyword?
Static keyword is used to declare variables and functions that are only accessible within the file they are declared in.
Static variables retain their value between function calls
Static functions can only be called within the file they are declared in
Static variables in functions are initialized only once

Asked in QDnet Technologies

Q. Explain the construction and working of a schematic diagram.
Schematic diagrams are visual representations of a circuit's components and connections.
Schematic diagrams use symbols to represent components like resistors, capacitors, and transistors.
Lines connecting the symbols show how the components are connected in the circuit.
Schematic diagrams help engineers and developers understand and troubleshoot circuits.
Example: A schematic diagram of a simple LED circuit would show the LED symbol connected to a resistor and a power source.

Asked in Candor Software Solutions

Q. Explain the register level architecture of ARM Cortex-M series controllers.
ARM Cortex-M series controllers have a register level architecture for low-level programming and control.
ARM Cortex-M series controllers have multiple registers for controlling various functions such as GPIO, timers, and interrupts.
Registers are memory locations within the processor used for storing data and control information.
Programmers can directly access and manipulate these registers to configure the behavior of the controller.
For example, the GPIO registers can be used...read more

Asked in Candor Software Solutions

Q. Write a program to implement matrix multiplication.
Program to implement matrix multiplication in C++.
Declare two matrices A and B of appropriate dimensions.
Initialize the matrices with values.
Create a result matrix C with dimensions rows of A and columns of B.
Perform matrix multiplication using nested loops.
Print the result matrix C.

Asked in Flextron

Q. How do you develop a Linux device driver?
Developing Linux device drivers involves understanding the Linux kernel, writing code to interact with hardware, and testing the driver.
Understand the Linux kernel architecture and device model
Write the driver code to interact with the hardware
Compile the driver code and load it into the kernel
Test the driver to ensure proper functionality
Handle errors and debug issues as needed

Asked in Bosch Global Software Technologies

Q. Microprocessor vs microcontrollers
Microprocessors are general-purpose processors while microcontrollers are specialized processors for specific tasks.
Microprocessors are used in computers and smartphones, while microcontrollers are used in embedded systems like washing machines and traffic lights.
Microprocessors have separate memory and I/O devices, while microcontrollers have integrated memory, I/O ports, and peripherals.
Microprocessors require external components for operation, while microcontrollers are se...read more
Asked in Gadgeon Systems

Q. Explain the differences between the I2C and SPI protocols.
I2C is a synchronous serial communication protocol that uses a master-slave architecture, while SPI is a full-duplex communication protocol with a master-slave relationship.
I2C uses two wires for communication (SDA and SCL), while SPI typically uses four wires (MISO, MOSI, SCK, and SS).
I2C supports multiple devices on the same bus with unique addresses, while SPI requires a separate SS line for each device.
I2C has a lower data transfer rate compared to SPI, but is more common...read more
Asked in Gadgeon Systems

Q. What is memory layout in C?
Memory layout in C refers to how variables are stored in memory, including stack, heap, and data segments.
Memory layout includes stack, heap, data segments
Variables stored in stack have limited scope and size
Dynamic memory allocation uses heap for storage
Global and static variables stored in data segment
Asked in Gadgeon Systems

Q. Write a C program to convert binary to decimal.
C program to convert binary to decimal
Use a loop to iterate through the binary number from right to left
For each digit, multiply it by 2 raised to the power of its position
Add the result to a variable to calculate the decimal equivalent

Asked in Valeo

Q. What is an ultrasonic sensor?
An ultrasonic sensor is a device that uses sound waves to measure distance and detect objects.
Uses high frequency sound waves to bounce off objects and measure distance
Commonly used in robotics and automation for object detection and avoidance
Can also be used in parking sensors, security systems, and medical imaging
Works by emitting a sound wave and measuring the time it takes for the wave to bounce back

Asked in Flipkart

Q. What are your educational institutions?
I graduated with a degree in Computer Engineering from XYZ University, specializing in embedded systems and software development.
Bachelor's degree in Computer Engineering from XYZ University.
Completed coursework in embedded systems, microcontrollers, and real-time operating systems.
Participated in a capstone project focused on developing a smart home automation system.
Interned at ABC Tech, where I worked on firmware development for IoT devices.

Asked in Essae Teraoka

Q. Explain the boot-up sequence of an operating system.
OS boot up sequence involves several steps such as BIOS initialization, bootloader loading, kernel loading, and initialization of system services.
BIOS (Basic Input/Output System) initialization
Bootloader loading (e.g. GRUB, LILO)
Kernel loading and initialization
Init process execution
System services initialization
Asked in Thinkify Labs

Q. What is a Raspberry Pi?
Raspberry Pi is a small, affordable computer that can be used for various projects and applications.
Single-board computer developed by the Raspberry Pi Foundation
Runs on Linux-based operating system
Used for educational purposes, DIY projects, IoT applications, etc.
Example: Raspberry Pi 4 Model B
Interview Questions of Similar Designations
Interview Experiences of Popular Companies





Top Interview Questions for Embedded Developer Related Skills

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

