The process was very disorganized from start to finish. It was virtual and took over two months.
First round was sort of an assessment of my background, and was the only round that went smoothly.
Second round was a technical interview where they asked LeetCode-style questions. It had to be rescheduled twice, both times without a heads-up.
The first time, the engineer signed on late and asked to reschedule as he wanted to attend another meeting. I was disappointed but agreed, and he said he would send another time. He never did, and when I reached out to HR, they told me he never sent a reschedule request.
They rescheduled after a delay, but he was a no-show and when I asked HR, it turns out they scheduled it when he was on PTO.
On the third try, we finally conducted the interview, which consisted of two coding questions, but he was in a rush and cut it short, and ended up asking me to just send him my answer to the second one. Overall, a pretty negative interview with not much opportunity to have a conversation.
I was moved to the third round. When I asked HR what the interview would consist of, they told me it would be coding questions. When I actually did the interview, the interviewer asked me questions about machine learning concepts and how I'd implement ML in different scenarios. The interview itself was pleasant, but I have no idea why HR told me it would be coding.
I was moved to a fourth round, which they explicitly said was the final round. Usually, they'll ask when I'm free and try to coordinate a time based on that. Here, though, they gave me one specific date and asked what time I was free on that day. I gave them some time windows, but I would have appreciated more flexibility.
I asked HR again how the interview would be structured so that I could review and prepare, and listed a few examples (ML concepts, behavioral, coding, etc.). I listed out at least three interview formats, and the answer was "both," which obviously makes no sense.
It turns out it was none of them, as I just went through reading a paper with the team lead. It was a very underwhelming experience, and I was already feeling some apprehension based on how unorganized they were thus far. What really solidified for me was that the lead asked me to do a take-home project.
The take-home itself was not anything crazy, but this was supposed to be the final round, and yet I had to do this project and schedule a follow-up demo round, with no certainty that it would be the final step.
The team lead also told me that I may not be working closely with ML models at all and may focus pretty exclusively on developing infrastructure. This was a stark contrast to what I was told earlier, and it didn't even align with the interview process (why have me read through research if I actually wasn't going to do anything with it?).
At this point, I decided to withdraw. It was the most unprofessional interview process I've ever gone through by a wide margin.
I was in contact with an internal recruiter at first, who I had a fantastic initial conversation with. However, after that, it was virtually impossible getting in contact. That, combined with HR's slow and lazy answers, made the interview more difficult than it had to be.
Round 1: Just questions about my background.
Round 2: Two LeetCode-style questions. I don't remember the first; the second one was merging an array of linked lists into one sorted linked list.
Round 3: A lot of machine learning conceptual questions, especially about neural networks, when I'd use them, and how I'd troubleshoot in different situations.
Round 4: Reading through a paper. Nothing was exceptionally difficult, but it was tough to prep with how unorganized everything was.
The following metrics were computed from 1 interview experience for the American Express Senior Machine Learning Engineer role in United States.
American Express's interview process for their Senior Machine Learning Engineer roles in the United States is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for American Express's Senior Machine Learning Engineer interview process in United States.