J'ai postulé en ligne. Le processus a pris 4 semaines. J'ai passé un entretien chez Fitbit (New York, NY) en nov. 2016
Entretien
1. HR Phone Screen
2. Technical Phone Interview w/ Code Sharing
3. Coding Challenge
4. In Person
I breezed through the HR phone screen and the technical phone interview.
During the technical interview I was given a choice on wether I wanted to do a coding question on linked lists or memcpy. I chose memcpy and I started with a simple implementation, copying byte by byte. Interviewer said that reading 4 bytes took the same amount of time to read 1 byte so how could you optimize it. You just set the pointer to be int32_t type and then copy them and then decrement the size by 4. Then he asked what if the src wasn't on a 4 byte boundary in memory, solution to this is to copy bytes until the pointer is on a boundary then copy 4 bytes at a time, and then bytes at the end until size is 0. Then was asked about what if the src and dest were overlapping, this is simple, you just check if the address for the dest pointer plus + size is less than src, if its not, copy from the end.
I was given the coding challenge which was reading a binary file and pulling 12 bit values from it and outputting the last 32 values read as well as the largest 32 bit values. I did this successfully but was not put through to an in person interview with no feedback other than my solution was not the best match at this time. I was surprised because I kept track of the largest values using using a sorted linked list containing only 32 values, and used a circular buffer to keep track of the last values read. Inserting into the linked list was almost going to have to go through 31 nodes and updating the circular buffer took O(1). I'm not aware of a more optimal solution but perhaps thats why I didn't get an in person.
J'ai postulé en ligne. Le processus a pris 6 semaines. J'ai passé un entretien chez Fitbit (San Jose, CA) en févr. 2023
Entretien
Asked some basic RTOS questions, interrupt concept, etc. Then asked to write a piece of code to reverse a string. Then asked to write a code to detect whether an integer is 2^n or not.
Interviewed with a total of 11 people (11 total man-hours spent for a single candidate!) for onsite + phone.
The only feedback was that the team was looking for someone else with more experience in a certain non-embedded area, despite passing all the technical interviews and being rejected by the HR one (though they didn't mention this part).
Beware the hidden anti-poaching deal that is practiced between large US-based companies in Bucharest.