Recently Arista Networks visited our campus. Min CGPA requirement was 8. There was an online coding test followed by 3 FTF interviews on G-meet.
Round 1: Online coding round conducted on Hacker Rank(1.5 hours) (Allowed Languages- C, CPP)
- Minimum time required to reach a given cell (x, y) from (0,0). A particular cell may have a wall i.e. you cannot go to that particular cell. (0,0) and (x, y) does not have a wall.
Solution: We just have to do BFS from (0,0) and keep storing the time also of every particular cell when it is pushed back in the BFS queue.
- Given many messages. messages consist of (Type, Port, “message”, message_length), you have to sort (on the basis of decreasing length of messages) in such a way that different messages with the same Type and Port will combine i.e. the message will concatenate and message length will be the length of message 1 + length of message 2. Output final messages.
Message 1- <"xyz", 1234, "hello", 5>, Message 2- <"abc", 222, "Arista", 5>, Message 3- <"xyz", 1234, "World", 5>. Output will be- <"xyz", 1234, "helloWorld", 10> <"abc", 222, "Arista", 5>
- This question was a variation of this- https://www.geeksforgeeks.org/merging-intervals/ -an extra condition was given that intervals can also be merged if they are 1 unit distance apart for eg. (1,2) can also be merged with (3,4).
The tricky part: the stl-list was passed in the function so you should know basic stl-list operation like sort, list traversal, etc.
Students who solved at least 2 Questions cleared this round. Approximately 40 students appeared and 11 were shortlisted after this round.
Round 2: FTF Technical Round (1 Hr.)
- This interview was after 1 month of the Coding Round. So there was a little discussion on the coding round questions not much.
- Code debugging question simple difference between x++ and ++x was used- the function was passed with x++ due to which an infinite recursion was there.
- Recursion and overflow. When should we use iterative and when recursive.
- C program memory Layout- https://www.geeksforgeeks.org/memory-layout-of-c-program/
- Different types of variables and where they are stored in the C-program memory layout.
- Difference between static and global variables.
- Difference between process and threads. Followed by basic Operating Systems Questions.
- Design an app like Zomato given queries like which restaurant is serving a particular dish. For e.g. if a user types pizza your program should output all the nearby restaurants serving pizza.
First I gave him a map-based approach, but he asked me to think of a different data structure that can do this better. Then I gave him Trie based approach he was satisfied with the approach then he added 2-3 more queries they were also manageable by the same data structure.
- The last question was – https://www.geeksforgeeks.org/rearrange-a-given-linked-list-in-place/
I gave him all the answers to the problems the round went well.
8/11 students cleared this round.
Round 3: FTF Technical Round (1 Hr.)
- The first question was “Tell me about yourself?”- The interviewer was quite friendly, discussed different courses I took in my previous years.
- Code debug question- Using basic knowledge of pointers- char *ptr= “arista” then we can not de-reference this ptr.
- Asked about pointers and dynamic memory allocation in C.
- Process, Threads, Critical Section Problem, and its solutions (mutex, semaphore).
- Given different log messages <“WHO”, “TYPE”, “MESSAGE”, “LENGTH”>. We have to store them and answer different queries like, How many messages “WHO” sent, which message is most abundant, which type of message is sent by “WHO”. likewise 4-5 queries were there, so I used Trie ds to store the messages and the interviewer kept on asking different queries about space complexity and time complexity. At last, he was happy with the solution.
- Last question – https://www.geeksforgeeks.org/find-element-bitonic-array/ – first gave him a linear approach then reduced time complexity by using binary search.
Overall the round went well. I got stuck at 1 OS question but answered the rest of them.
After this round, 4 students including me proceeded to the final round.
Round 3: FTF Technical + HR Round (1 Hr.)
The round started with “Tell me about yourself?” I told him everything about- JEE, 1st year, 2nd year, 2nd-year internship, 3rd year, and courses and internships I did. Then he asked me about different competitions I participated in.
Then he asked me about my internship project, and we had a brief discussion on my CV. Asked me my favorite subject- I told him DS. Then he asked basic DS questions like when to use BST when to use heaps, time complexities of different queries on different data structures, unordered vs ordered map, heapify, Then I was asked to implement hashmaps using arrays- code was not expected just approach was required. Finally, some concepts of OS like virtual memory and physical memory. Finally, he asked- “Why do you want to join Arista?”
I answered all the questions and the interviewer was happy with the solutions. It was the best of the previous rounds.
Verdict- All 4 students including me 🙂 were selected for a full-time opportunity at Arista Networks.