The process started with an on-site interview where I was asked several knowledge questions about C++ and objects. These included topics such as const situations, virtual method table behavior, polymorphism, and referencing non-virtual methods.
This initial interview also included a simple coding exercise in the style of an ACM programming contest question.
The second interview had two parts, each with a different interviewer.
The first part involved designing a stack.
The second part was a discussion about data in EXEs and memory. We covered code, constants, variables, and parameters. We also discussed endianness and how variable-argument routine (e.g., printf) calls are structured on the stack.
I was asked to design a C++ stack that could handle arbitrarily-sized data for multiple different clients.
This turned out to be simpler than it initially seemed, as the data size was fixed in advance for each client and thread-safety was not a concern.
The following metrics were computed from 18 interview experiences for the Arista Networks Software Engineer role in Burnaby, British Columbia.
Arista Networks's interview process for their Software Engineer roles in Burnaby, British Columbia is extremely selective, failing the vast majority of engineers.
Candidates reported having good feelings for Arista Networks's Software Engineer interview process in Burnaby, British Columbia.