I applied for a GPU software engineer position and a few weeks later, I got contacted by a recruiter, which was followed by scheduling an online screening interview 5 days later. I was then sent a 2-hour offsite technical assessment (for which I had to sign an NDA) and I had to choose some time where it would be perfect for me to do it.
After that, I got invited to the final interview. It was actually 2 interviews, a technical one which lasted for about 3 hours with some breaks in between with 2 senior software engineers and a peer, followed by a 30 mins behavioral interview. Then, it was followed by an HR call to discuss salary and relocation.
Normal C/C++, computer graphics, computer architecture, and synchronization questions were asked, like what is the difference between static and extern? What is the difference between a mutex and a semaphore? What is a PBO? What is a fence in Vulkan? What is a swap chain?
Some bit manipulation problem solving was involved as well. Describe how a cache works. A system design problem was included. Some code segments were shown and you should find the bug(s) in them.
The following metrics were computed from 18 interview experiences for the Arm Software Engineer role in Cambridge, United Kingdom.
Arm's interview process for their Software Engineer roles in Cambridge, United Kingdom is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having very good feelings for Arm's Software Engineer interview process in Cambridge, United Kingdom.