Taro Logo

Software Engineer Interview (C++) Interview Experience - Russia

May 22, 2017
Negative ExperienceNo Offer

Process

Firstly, I had a simple C++ task to solve on HackerRank, which I completed successfully.

Afterwards, while living in Saint Petersburg, Russia, I was interviewed via Skype. The interview involved SSHing into a server and completing coding tasks in the terminal.

I had been scheduled for two interviews.

The interviewer for the first interview missed the invitation. (In Russia, we have a sort of proverb, "The theatre starts with a cloakroom," which means the first impression is often correct.) The HR representative rapidly assigned me another interviewer who was a C programmer. He asked me to solve two simple algorithmic tasks in C, which I also completed well.

Two days ago, I received a response from HR stating we could proceed to the second interview. She also asked if I preferred C or C++ programming. I responded that I preferred C++. Given that my CV indicated no experience in C programming, she said she would organize a C++ interview.

The second interview was conducted by yet another C programmer, which I hadn't expected, as I had prepared for C++ specific, tricky questions. He asked me to write a function to yield the next node (descending traversal) in a binary tree. I was not at all prepared for this task! Moreover, I had no opportunity to run or debug the code, so I failed this task.

He then gave me a C code snippet allegedly for use in a multithreading environment and asked me to find potential issues. Naturally, there were data races. I suggested using a mutex, but he initially proposed using a self-made spinlock, forgetting to add the volatile keyword. In today's world, nobody writes multithreading code like that!

He also asked me a few questions about compiler optimizations, specifically how the compiler might amend the code. This is very low-level. Use a mutex or std::atomic variables with std::atomic_thread_fence to prevent the compiler from reordering your operations, Luke! Spinlocks are too erratic to use, especially on multiprocessors due to CPU caches.

This archaic way of designing code, even during an interview, discouraged me from working at the company. Therefore, I was not disappointed or frustrated by the immediate refusal. However, I am wondering why, after stating multiple times that I am a C++ developer and dislike C, I was interviewed as a C programmer.

There were no questions about C++ or any related technical topics.

Questions

1.1. Find the missing element in a sorted array of ints in C. 1.2. Determine if the given char* is a palindrome in C.

2.1. Find the next node in a binary tree in C. 2.2. Find issues in given multi-threaded C code.

Was this helpful?

Interview Statistics

The following metrics were computed from 1 interview experience for the Arista Networks Software Engineer Interview (C++) role in Russia.

Success Rate

0%
Pass Rate

Arista Networks's interview process for their Software Engineer Interview (C++) roles in Russia is extremely selective, failing the vast majority of engineers.

Experience Rating

Positive0%
Neutral0%
Negative100%

Candidates reported having very negative feelings for Arista Networks's Software Engineer Interview (C++) interview process in Russia.

Arista Networks Work Experiences