Embedded Systems Online Test
For jobseekers
Practice your skills and earn a certificate of achievement when you score in the top 25%.
Take a Practice TestFor companies
Screen real Embedded Systems skills, flag human or AI assistance, and interview the right people.
About the test
The Embedded Systems online test assesses knowledge of hardware used for embedded systems together with software needed to run it.
The assessment includes work-sample tasks, such as:
- Understanding how a call stack works in C.
- Filling the truth table for a digital system made of logic gates.
- Using semaphores and mutex to coordinate access to resources.
A good embedded systems/software engineer needs to have knowledge of hardware used for embedded systems and devices, and should know how to develop software required to run the system.
Sample public questions
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
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.
For jobseekers: get certified
Earn a free certificate by achieving top 25% on the Embedded Systems test with public questions.
Take a Certification TestSample silver certificate
Sunshine Caprio
Java and SQL TestDomeCertificate
For companies: premium questions
Buy TestDome to access premium questions that can't be practiced.
Ready to interview?
 Use these and other questions from our library with our 
 Code Interview Platform. 

5 more premium Embedded Systems questions
Smart Home, Water Level Sensor, USB, Storing Data, Peripheral Device.
Skills and topics tested
- Embedded Systems
- IoT
- Wireless Connection
- Memory Management
- Stack Memory Allocation
- Computer Bus
- Wired Connection
- Endianness
- Number System Conversion
- Boolean Function
- Logic Gates
For job roles
- Embedded Software Engineer
- Embedded Systems Engineer
Sample candidate report
Need it fast? AI-crafted tests for your job role
 TestDome generates custom tests tailored to the specific skills you need for your job role. 
 Sign up now to try it out and see how AI can streamline your hiring process! 
What others say
Simple, straight-forward technical testing
TestDome is simple, provides a reasonable (though not extensive) battery of tests to choose from, and doesn't take the candidate an inordinate amount of time. It also simulates working pressure with the time limits.
Jan Opperman, Grindrod Bank
Product reviews
Used by
Solve all your skill testing needs
150+ Pre-made tests
130+ skills
AI-ready assessments
How TestDome works
Choose a pre-made test 
 or create a custom test 
Invite candidates via 
 email, URL, or your ATS 
Candidates take 
 a test remotely 
Sort candidates and 
 get individual reports 



