# Citrix Interview Experience (On-Campus) | July 2019

**Round 1:**

Round 1 : (2 hours)

Section 1 :

40 MCQ

There were some basic questions of C, C++, OS, Networking, and Aptitude all mixed.

Section 2 :

2 coding questions –

Q1 Throttling Gateway – given the arrival time of the packets and the number of packets if the number of

packets were more than 3 discard the packets and at given any 10 seconds slot the packets must not exceed

20 and similarly for 60 seconds the packets must not exceed 60 . Return the count of discarded packets .

Ans – I solved with brute force solution 6/15 cases passed and later handled some edge cases got 9/15 test

cases .

Q2 I dint even read the question .

The solution for the first problem was by prefix sum method . I got to know the solution after the online test.

My Aptitude part was fairly good so got shortlisted for interview .

This test was conducted on hackerrank platform .

**Round 2:Technical 40mins F2F**

Interviewer was extremely chill. He asked me to introduce myself. I had memorized the answer for that .

He then asked me to rate myself in Java, and in C, and in Aptitude.

He asked me apti question :

1)

1-

for(int i = 0 ; i < 10 ; i ++ )

for(int j = 0 ; j < 1000 ; j ++) {

}

————————————

2-

for(int i = 0 ; i < 100 ; i++)

for(int j = 0 ; j < 100 ; j++){

}

Out of above 2 for loops which compute 10, 000 computation which one is better .

I said the first one, As the transition from i loop to j loop is only 10 number of times where as in the second

one it is 100 times, He was convinced by the answer .

Q2 –

The race track has 2 laps . If a car driver drives at average 80 km/h he will win the race. For the first lap he

drives in 40km/h in what speed he must drive in second lap to win the race ?

I tired to solve, but could not get the correct answer . The correct answer was not feasible .He then asked me can i ask you questions on C . I said, for academic purpose how much should be known

that much i know i cannot answer in depth .

So he smiled and was about to ask another question, Until then I interrupted him and asked him can I tell

you about my project ? He said yes. On the previous day of the interview i got to know that citrix is hiring

people with good projects . So I knew that somehow I should get into my strong area which was my project .

The project was based on NGO which helped social workers to coordinate among themselves for planting

trees. I explained to him for about 15 minutes what the NGO does and how my project will help the members

. He was very impressed by the project and there i got to know that i am going to second round . So he had

last question

Given 8 stones one of them is heavy . In how many comparisons will you be able to find the heavy stone .

I said it is a simple binary search problem, this can be done in log2(8) comparisons i.e 3 comparisons . He

then asked me can you do in 2 comparisons, I gave another solution,

Instead of log2 take log3 then we get the solution in 2 comparisons .

**Round 3:Technical 30 mins F2F**

Given pointers head, i, j in the linked list swap the nodes (not data)

Eg i = 2, j = 4

1 – > 2- > 3->4->5

O/P

1-> 4 -> 3 ->2 -> 5

Interviewer was very specific about the edge cases and asked me to write code for it .Got stuck in between

while writing the code but still he helped me to complete the code . The final solution was correct .

https://www.geeksforgeeks.org/swap-nodes-in-a-linked-list-without-swapping-data/

Given 2 binary trees check weather it is mirror tree .

https://www.geeksforgeeks.org/check-if-two-trees-are-mirror/

**Round 4:Techno Managerial Round 80 mins F2F**

Explain about any of your project . What are the challenges you faced while developing these projects .

He asked how android project was different from dbms project ?

What is REST API ? – give example

The example was related to search suggestions, Which lead to trie data structure .

What is trie data structure ?

Where it is used ?

Given input to trie data structure what will be output ?

I told him that I have conceptual knowledge of trie, i don’t know how to implement it .

Then he asked me given binary tree do its level order traversal and print on the next line .

https://www.geeksforgeeks.org/print-level-order-traversal-line-line/

I said, I have already solved this question on LeetCode.com .So he asked me given a Linked List print from kth element from the end. And print from kth element to end

print in reverse order .

First i gave 2 pass algorithm, then 1 pass algorithm. Now while printing in reverse order i gave stack

approach, He said do not use extra memory space . Then I gave a solution which uses sqrt(n) + sqrt(n) extra

space . I said, if I had the privilege of modifying the list, reverse the list print it and again reverse .

He asked me to write code for that . Checked all the edge cases .

Where linked list is used in real time ?

Tree is the extension of linked list, trees are used for storing file structure

What are your strengths, and the area where you want to improve?

What is tree ?

Which is your favorite subject?

Computer network- what is ipv4, ipv6?

What is CIDR? Classless inter domain routing

Why it was introduced?

Given IP address find the network id.

For the first and second round the interviewer had a set of questions from which they were asking . But for

the third round the interview was like a free flow, Which ever word I uttered, I had to explain the

theoretical concept of that word, So I had to be a little more alert .

**Tips**

1- Honest answers are appreciated (If you do not know the answer, please do not lie )

2- Greet them with smile and confidence .And Have a little idea about what company does.