I applied through a recruiter. The process took 3 weeks.
For the embedded C role I am interviewing for, there is the initial interview, in which you have to answer two coding questions, provide working code in C/C++. The interview time allocated was 45 minutes.
Problem Statement:
Given a byte array in network byte order, write an algorithm to find the starting bit position of the first occurrence of the 32-bit, big-endian pattern (0xFE6B2840) in the byte array. The pattern may or may not be byte aligned in the input.
The function htonl() and ntohl() are provided in the C library to convert the endian order from host to network order, and from network to host order respectively:
uint32_t htonl(uint32_t hostlong); uint32_t ntohl(uint32_t netlong);
Note: network byte order is big-endian, host byte order is little-endian.
Signature of function to implement: int findPattern(const uint32_t numBytes, const uint8_t data[])
Description of function parameters:
Input parameters:
Return:
Example 1 - Byte Aligned: Inputs:
Example 2 - Non-byte Aligned: Image 2: This is the same as example 1, left-shifted by 1 bit! Inputs:
The following metrics were computed from 2 interview experiences for the Amazon Embedded Software Engineer role in Redmond, Washington.
Amazon's interview process for their Embedded Software Engineer roles in Redmond, Washington is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Amazon's Embedded Software Engineer interview process in Redmond, Washington.