Cracking the Citrix Code | Ajay Renangi

Cepstrum
InPlace
4 min readAug 29, 2021

--

In this article, Ajay Kumar Renangi narrates his journey on the way to securing a software development internship at Citrix.

The Beginnings

I started preparing for the internship season around mid-April. First up were data structures in C++. Initially, I practiced around 2–3 hrs per day and eventually, upped it to 5–6 hours per day on an average. I didn’t do much of competitive programming, nor gave many contests; but would suggest doing the same if you want to scale up your time management skills. In addition, I also didn’t focus much on the other core concepts like OS and networking in the beginning, but by the time the tests began, was ready with these concepts too.

Preparation tips

  • Learn while you practice (or practice while you learn).
  • Don’t compare yourselves with others, but do compare yourself with your yesterday self. This helps to keep a positive slope in your progress.
  • Don’t get low if you didn’t make progress in the start. You can figure out eventually if you learn from your mistakes😉
  • Make sure to have an environment where you don’t get disturbed (since it is your home, you can figure it out yourself).
  • Talk to your friends. They can not only help you with your problems (be it mental stress or anything else), but give you enough courage for you to face another.

Coding round

I don’t remember the questions that were asked, but I do remember that to solve one of them, deque had to be used. The MCQs were from all the core concepts- pointers, OS, networking, etc.

The Interview

There were 2 rounds, the first one was technical and the second was supposed to be a managerial round (but was more like a tech & managerial one for me).

First Round

The interviewer started with deep copying a linked list to create another linked list which looks exactly the same. Then he made it tougher by adding a feature to the linked list that the linked list is normal with one node pointing to another node, but at the same time one node can point to any random node in the given linked list and I should deep copy the given linked list. This discussion on deep-copying went on for 25 to 30 minutes.

To be honest, he was not there for the answer but was testing my ability to analyse and my approach, and what are the consequences of each approach (things such as what would be the complexity, how efficient is it compared to the trivial one, what happens for the corner cases, what are the corner cases exactly here, etc.). And at the same time he was looking if I could use the hints and help he provided to go in the right direction.

After this discussion ended, he was back to the fundamentals : pointers, core concepts, some facts about data structures etc. The pointers’ questions were a bit challenging because he was not just asking the question, but also trying to make me doubt my answer with other possible answers (be careful with pointers, they could hurt you if not handled well!). Only thing I can say is that, it’s not just coding what helps you crack interviews, but strong fundamentals are a must because the interviewer looks for intuition and reasoning behind something when you say that it would work.

Second Round

The second round commenced with a simple coding question (I don’t remember what that was but using hashmap did that thing), which I initially coded the long way. But he figured out that everything that I’d written is not needed, and asked me to do better (no hints this time :p), and then I did what he was expecting. Then I realised that this coding question was a warm-up for me and he jumped into discussions about me and introduced himself as well.

After this introduction, he asked me a puzzle (simliar to the hourglass puzzle) and was impressed by my answer to that (it was a coincidence that I looked at it just before my first round). And then some little technical discussion about programming languages, concepts,etc.

Moving on, I was asked the reason behind pursuing this field as I’m from ECE. I answered the same and coincidentally, he was from ECE too and could relate my reasons. After that, he gave me a real life situation: if one of my teammates isn’t agreeing with another, what could I do to resolve that and avoid it in the first place? Also he asked about my experience as a mentor for a project that my juniors did in the electronics club. Both rounds ended well.

The Internship

It was a great learning opportunity, and I was exposed to some of the best technologies in industry. I worked on APIs and automation, and had 2 mentors who helped me through everything. Also, my manager was very suuportive and was like a coach who helped me to learn a lot of professional things. I was treated no less than an employee and the work culture was very good. Overall, I had a very good time at Citrix.

--

--