Embedded Software Engineer

200+ Embedded Software Engineer Interview Questions and Answers

Updated 6 Jul 2025
search-icon

Asked in Cyient

3d ago

Q. 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

Asked in Aptiv

2d ago

Q. 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

Embedded Software Engineer Interview Questions and Answers for Freshers

illustration image
3d ago

Q. What are conductors, insulators, and semiconductors?

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

Asked in Cyient

2d ago

Q. 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.

Are these interview questions helpful?

Asked in HCLTech

5d ago

Q. How can a program enter both the if and else blocks simultaneously?

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.

Asked in Continental

2d ago

Q. 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

Embedded Software Engineer Jobs

Nokia Solutions and Networks India (P)Ltd logo
Sr. Embedded Software Engineer • 5-10 years
Nokia Solutions and Networks India (P)Ltd
•
4.1
Bangalore / Bengaluru
Harman International logo
Embedded Software engineer - Bluetooth • 2-4 years
Harman International
•
3.8
₹ 8 L/yr - ₹ 16 L/yr
(AmbitionBox estimate)
Bangalore / Bengaluru
Harman International logo
Principal Engineer I, Embedded Software Engineering • 10-11 years
Harman International
•
3.8
Bangalore / Bengaluru

Asked in Cyient

5d ago

Q. How do you write a C program to toggle a particular bit?

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.

1d ago

Q. Why are semiconductors used 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.

Share interview questions and help millions of jobseekers 🌟

man-with-laptop

Asked in Aptiv

6d ago

Q. 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;

6d ago

Q. For an embedded device, what do you prefer: with an OS or without an 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.

Asked in Cyient

3d ago

Q. Write a program to iterate through an array using pointers.

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

4d ago

Q. How are P-type and N-type semiconductors created?

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

Asked in Luxoft

6d ago

Q. 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

5d ago

Q. What are pointers, and can you provide examples of pointer-related code 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.

Asked in Tata Elxsi

5d ago

Q. 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

Q. 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

Asked in Knorr-Bremse

1d ago

Q. Why is an 8-bit microprocessor called an 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

2d ago

Q. Why is the default value of the 'reg' keyword a garbage value?

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.

Asked in Tata Elxsi

1d ago

Q. 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

6d ago

Q. What are logic gates and why do we use them?

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.

Asked in Cradlewise

3d ago

Q. Describe how you would construct a lock for the Linux kernel, including the atomic instructions and functions you would use.

Ans.

Constructing a lock in the Linux kernel involves using atomic instructions for synchronization.

  • Use atomic operations like atomic_add, atomic_sub for lock management.

  • Example: atomic_t my_lock; atomic_set(&my_lock, 0);

  • Implement spinlocks using atomic operations for busy-waiting.

  • Example: spin_lock(&my_lock); // Acquire lock

  • Use atomic_cmpxchg for lock-free algorithms.

Asked in TCS

2d ago

Q. 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

Asked in H&M

1d ago

Q. 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.

    5d ago

    Q. Why should the auto keyword only be used in local scope?

    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

    Asked in TCS

    4d ago

    Q. 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

    3d ago

    Q. Find the output of the C code related to char and ASCII values: for(char c=0; c&lt;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.

    Q. 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

    5d ago

    Q. Write a program to find all prime numbers within a given range of natural numbers.

    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

    Q. What happens when volatile and const are used together?

    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

    2d ago

    Q. 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

    1
    2
    3
    4
    5
    6
    7
    Next

    Interview Experiences of Popular Companies

    Amazon Logo
    4.0
     • 5.4k Interviews
    Capgemini Logo
    3.7
     • 5.1k Interviews
    HCLTech Logo
    3.5
     • 4.1k Interviews
    Bosch Logo
    4.1
     • 350 Interviews
    Tata Elxsi Logo
    3.7
     • 318 Interviews
    View all
    interview tips and stories logo
    Interview Tips & Stories
    Ace your next interview with expert advice and inspiring stories

    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
    play-icon
    play-icon
    qr-code
    Trusted by over 1.5 Crore job seekers to find their right fit company
    80 L+

    Reviews

    10L+

    Interviews

    4 Cr+

    Salaries

    1.5 Cr+

    Users

    Contribute to help millions

    Made with ā¤ļø in India. Trademarks belong to their respective owners. All rights reserved Ā© 2025 Info Edge (India) Ltd.

    Follow Us
    • Youtube
    • Instagram
    • LinkedIn
    • Facebook
    • Twitter
    Profile Image
    Hello, Guest
    AmbitionBox Employee Choice Awards 2025
    Winners announced!
    awards-icon
    Contribute to help millions!
    Write a review
    Write a review
    Share interview
    Share interview
    Contribute salary
    Contribute salary
    Add office photos
    Add office photos
    Add office benefits
    Add office benefits