I applied online and received an email for the first round. The first round was coding. I finished coding, but there was a small bug. The interviewer pointed it out. Then there was time left, and he asked me to choose a topic, such as Unix, C++, C, or Data Structures. I selected Unix and C++. He asked a tricky C++ program output question and then went in full depth about why and how it worked, including virtual function internals, printf internals, all the way down to the kernel level. The 1-hour interview went on until 1 hour and 45 minutes. It was the most exhaustive and in-depth interview I've ever had. I enjoyed it.
The interviewer was good; he was from Stanford.
I was then called for an onsite 2-hour interview. I went there. This interviewer was a manager, who started with very tricky C questions and asked me why the output was like that, with full depth. I answered to the best of my knowledge.
He then asked me to design malloc. I did, but he was not satisfied. After 1 hour and 15 minutes, he said I didn't fit the requirements on the face and let me go.
I felt happy to be rejected. There's no point working in a place where people are judged based on such questions and not on technical knowledge. I prefer to spend my time on something that produces useful products.
Tricky C coding questions related to:
The following metrics were computed from 156 interview experiences for the Arista Networks Software Engineer role in United States.
Arista Networks's interview process for their Software Engineer roles in the United States is very selective, failing most engineers who go through it.
Candidates reported having very good feelings for Arista Networks's Software Engineer interview process in United States.