Citrix Interview Experience for SDE-1 (On-Campus)
Round 1(Online Test): Citrix visited our campus for a Software Engineer role which was only open to ME Students.
There were 2 coding questions and 40 MCQs:
- One of them was a graph-based question on finding the city with the smallest number of cities that are reachable through some path and whose distance is at most ‘K’.
- The other one was a Medium Level question on DP.
- The MCQs were of Medium-Hard difficulty.
13 people were shortlisted from this round from around 40. Solving one coding question and a decent number of MCQs were enough to see us through to the next round.
Round 2(Technical Interview): I was asked to introduce myself. The interviewer picked up one of the projects that he liked and told me to explain. It was a networking-based project(on load balancing), and I explained it in detail. He then about my strongest subjects, and I said Data Structures and Algorithms. So he started with the coding questions right away.
Questions asked were:
- I was then asked to design a music player which has the following 3 features:
- Play a song at random from a playlist.
- Make sure once a song is picked, it is not picked again.
- Add new songs to the playlist.
I was not able to implement the 2nd feature(although when he explained the approach later, I realized it was really easy).
- The last question of this round was to print the left view of a binary tree.https://www.geeksforgeeks.org/print-left-view-binary-tree/
8 people were shortlisted for the next round.
Round 3(Technical Interview): This round started directly with a coding question. Questions asked were:
- There are n cores, allocate a random port(out of 65535 ports available initially) to the core requesting for a port.
- The 3rd question was a medium-level question on Hashing and Sliding Window. My code failed for some test cases when I ran the tests, however, even the interviewer was not sure where it was failing.
7 people were shortlisted for the next round.
Round 4(Technical + Managerial): This again started with some introduction of each other, and then I was asked a design question.
- I was asked to design a URL Shortening Service. This discussion went on for about 45 minutes.
- I was asked a few basic OS questions like “what is thrashing?”.
- Given executable files of sorting algorithms, how would you estimate the time complexity each code takes. Assume that all of them are correct implementations of some sorting algorithm, that is, all produce the correct output.
Lastly, I was asked a few behavioral questions like:
- Tell me about a time when you faced some challenges while working in a team, and how you resolved it.
- Tell me about a time when you had some differences of opinion with any of your team members while working on a project, and how you settled it.
- Finally, he asked me if I had any questions for them, and with this my interview was over.
3 people received the final offer, and unfortunately, I was not one of them.