First round was normal - simple question and code logic - Delete a Node in Linked List, Find missing number in a sorted array.
Second round was collaborative - the interviewer was involved, questioning your understanding in every detail. Questions included: Which language do you like most and why? Show me examples of your understanding of a particular topic (destructor/scope). Implement the stack API (how is the minimum size of a stack considered?). Questions on why we assert when checking valid input in an API, why you have certain return values, and examples of how your stack is used. Implementation of malloc, why a header is used in malloc. How can you more efficiently decrease the size of the header?
Final Round - Hiring Manager round - started with a DS implementation: How does a switch save the IP address of a route in a data structure? What is/Implement a Patricia tree? How are bytes ordered in a switch (when programming code, will it be little endian/big endian, and will it be hton/ntoh)? Best way to save space in a DS (Never use int, use only uint32_t). The way you name variables is very important, as is the way you write comments for your APIs.
Key takeaways:
uint32_t vs. int).Implement Patricia Tree
The following metrics were computed from 8 interview experiences for the Arista Networks Software Engineer role in Los Angeles, California.
Arista Networks's interview process for their Software Engineer roles in Los Angeles, California is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having very good feelings for Arista Networks's Software Engineer interview process in Los Angeles, California.