Embedded Systems Interview Questions

Practice for Embedded Systems interviews by solving TestDome questions. Our interview questions are used by more than 6,000 companies and 450,000 individual test takers.

Jobseekers: Certify Your Knowledge

Take a Certification Test

Companies: Use Our Tests for Screening

Buy a Pack Of Candidates

Try to solve 3 Embedded Systems interview questions and Embedded Software Engineering interview questions below. Hints can help you find answers to questions you are having trouble with.

1. Bluetooth

Wireless connection
   
Easy 

A car company plans to extend its car computer system to offer Bluetooth connectivity with the owner's mobile phone.

Select all correct statements about the properties of such a connection.

(Select all acceptable answers.)

In most cases, a Bluetooth connection consumes less power than a WiFi connection.
A Bluetooth connection on a modern mobile phone will offer data transfer speeds that are as fast as data transfer speeds on a modern USB.
Bluetooth devices need to have line of sight with each other in order to connect.
A Bluetooth connection usually offers better maximum range than a WiFi connection.
A Bluetooth connection can be used to transfer data between a car and a mobile phone.
   


2. Packet Distribution

Critical section Mutex Semaphore
   
Easy 

The following part of the C code distributes packets from the input track to the output track:

void* take_and_put(void *arg)
{
    sem_wait(&semaphore);
    take();
    sem_post(&semaphore);

    pthread_mutex_lock(&mutex);
    put();
    pthread_mutex_unlock(&mutex);

    return NULL;
}

Where semaphore and mutex are initialized with:

// int sem_init(sem_t *sem, int pshared, unsigned int value);
sem_init(&semaphore, 0, 3);
// int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr);
pthread_mutex_init(&mutex, NULL);

If the function take_and_put is repeatedly called by a large number of threads, select correct statements about the take_and_put function.

(Select all acceptable answers.)

A thread started with the function take_and_put can call the function take even if another thread is already inside the take part of take_and_put.
A thread started with the function take_and_put can call the function put even if another thread is already inside the put part of take_and_put.
If one thread blocks at take indefinitely, other threads will still be able to start and finish take_and_put.
If one thread blocks at put indefinitely, other threads will still be able to start and finish take_and_put.
If the function take locks mutex at its start and unlocks mutex on its end, the code will eventually end in a deadlock.
   


3. Digital Circuit

Boolean function Logic gates
   
Easy 

You have a component which should be used as part of a signal processing device. It has four input pins, one output pin, and three slots where you can insert logical gates:

The component should have the following truth table:

In Out
A B C D E
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
0 1 1 0 1
0 1 1 1 0
1 0 0 0 0
1 0 0 1 1
1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0

 

Choose appropriate logic gates for the component's slots to achieve the required truth table.

1st slot: gate

2nd slot: gate

3rd slot: gate

   


If you feel ready, take one of our timed public Embedded Systems Interview Questions tests:
Embedded Systems

Embedded Systems Online Test (Easy)

Embedded Systems and C Online Test (Easy)

Embedded Systems and C++ Online Test (Easy / Hard)

Not exactly what you are looking for? Go to our For Jobseekers section.