Need to practice your Embedded Systems and Embedded Software Engineering skills for an upcoming job interview? Try solving these Embedded Systems interview questions that test knowledge of hardware used in embedded devices, network protocols, and software used in embedded applications. We’ll provide feedback on your answers, and you can use a hint if you get stuck.
These Embedded Systems interview questions are examples of real tasks used by employers to screen job candidates such as embedded software/systems engineers, and others that need to know how to design, develop, test, and maintain embedded systems.
1. Bluetooth
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.)
2. Packet Distribution
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.)
3. Digital Circuit
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