Taro Logo

Software Engineer Interview Experience - Vancouver, Canada

September 1, 2023
Negative ExperienceNo Offer

Process

First call with recruiter: 30 minutes.

Scheduled phone screen with an engineer: 1 hour.

Platform used: Coderpad.

The first interview was easy, and the interviewer was very professional and nice. They cared about the thinking process and pointed you in the correct direction for minor mistakes.

Started with short questions from the resume, followed by longer questions about C low-level concepts, printf function expected output, and then LeetCode questions about finding missing numbers in sorted arrays and BST in-order successor variations.

The final interviews were two 1-hour sessions scheduled for next week.

This was one of the worst interview experiences I've had so far. The interviewer did not set up the environment beforehand and asked questions about my resume to fill in the gap while setting up Coderpad, clearly not listening to my answers.

The question was to design a Stack API, and requirements were not given. I started with exploratory questions about requirements:

  • Homogeneous/heterogeneous data.
  • Holding data vs. holding only pointers, with the caller handling actual data allocation, and discussed tradeoffs.

Described two possible implementation methods using dynamic arrays vs. linked lists and their tradeoffs:

  • For the dynamic array, there would be some memory overhead of empty cells, which can be addressed by dynamically reallocating to adjust the size.
  • For the linked list, allocation/deallocation for each push/pop is time-consuming and requires an additional pointer per node (memory overhead).

The interviewer kept interrupting the thought process by asking too many follow-up questions (for every sentence I spoke, he asked one or two). He laughed if the answer was wrong in his opinion.

Example: "What is the time complexity of push with the dynamic array?"

My Answer: "O(1) on average. If we hit the capacity and need allocation, it takes more time."

He laughed and said, "How come reallocation can be O(1)?"

He asked to quantify the time complexity of the realloc() function, which really depends on the system. I answered that it can be constant time if there is contiguous memory available on the heap, or it might find another block and require copying, which can take O(n). However, the average time complexity of the stack is still O(1) because reallocation only happens when capacity is hit (for the nth push), after which capacity can be doubled, and so on.

Anyway, he said the linked list approach was better (15 minutes left), but then asked, "How can you remove pointer overhead?" I was really confused, as a singly linked list without a pointer is not a linked list.

He asked about the problem of holding pointers instead of copies of data and what could be done to handle it (answer: using shared_ptr).

Then he stopped the interview at the 1-hour mark and asked me to think about the homogeneous solution while he spoke to the other interviewer.

When he returned, I answered the question correctly, but he said, "Yeah, that's right, but the next interview is not going to happen. See you next time, bye!"

Overall, if I mentioned something wrong, he pushed me in the wrong direction intentionally, even when I tried to backtrack and correct myself. It was not clear at all what they were trying to gauge with this interview; he seemed to have a specific implementation in mind and was just looking for that memorized answer.

Questions

Mentioned above:

Design a Stack.

Was this helpful?

Interview Statistics

The following metrics were computed from 28 interview experiences for the Arista Networks Software Engineer role in Vancouver, British Columbia.

Success Rate

11%
Pass Rate

Arista Networks's interview process for their Software Engineer roles in Vancouver, British Columbia is extremely selective, failing the vast majority of engineers.

Experience Rating

Positive32%
Neutral39%
Negative29%

Candidates reported having mixed feelings for Arista Networks's Software Engineer interview process in Vancouver, British Columbia.

Arista Networks Work Experiences