Citrix interview experience Real time questions & tips from candidates to crack your interview

SDE - 1

Citrix
upvote
share-icon
4 rounds | 8 Coding problems

Interview preparation journey

expand-icon
Preparation
Duration: 4 Months
Topics: Computer Networks, OOPS, Linked Lists, Trees, Graphs, Arrays, Strings, Stacks, Queues, Database Management Systems, Operating Systems
Tip
Tip

Tip 1 : Be very good with Computer Networks fundamentals
Tip 2 : Should be able to give the most optimal code for Linked Lists and Trees
Tip 3 : Better to have end to end/full stack projects in your resume

Application process
Where: Campus
Eligibility: 7 CGPA
Resume Tip
Resume tip

Tip 1 : Better to have end to end/ full stack projects on the resume
Tip 2 : Better to mention your coding profile links

Interview rounds

01
Round
Medium
Online Coding Interview
Duration90 minutes
Interview date28 Aug 2021
Coding problem2

There were 2 coding questions and MCQs related to Computer Science subjects like DBMS OS CN OOPS and a few Maths questions. One coding question was related to graphs and the other question was related to Binary Search. The test happened in the morning and it was on the Hackerrank platform which is a standard one.

1. Number of Islands

Easy
0/40
Asked in companies
PhonePeExpedia GroupRazorpay

You have been given a non-empty grid consisting of only 0s and 1s. You have to find the number of islands in the given grid.

An island is a group of 1s (representing land) connected horizontally, vertically or diagonally. You can assume that all four edges of the grid are surrounded by 0s (representing water).

Problem approach

This problem can be solved using DFS approach.
We maintain a visited 2D array to check if the particular cell is visited or not.We iterate through the whole grid, now we check if it's a 1 and if it's not visited, then we mark visited of this cell as 1 and then call for DFS on all the four sides of the cell because essentially we need to find the number of components in the whole grid. Now we go to next 1 and check for the same condition, so we also keep increasing the count as and when we explore a new component. So finally we return the count of islands.

Try solving now

2. Allocate Books

Moderate
10m average time
90% success
0/80
Asked in companies
PayUIBMZS

Given an array ‘arr’ of integer numbers, ‘arr[i]’ represents the number of pages in the ‘i-th’ book.


There are ‘m’ number of students, and the task is to allocate all the books to the students.


Allocate books in such a way that:

1. Each student gets at least one book.
2. Each book should be allocated to only one student.
3. Book allocation should be in a contiguous manner.


You have to allocate the book to ‘m’ students such that the maximum number of pages assigned to a student is minimum.


If the allocation of books is not possible, return -1.


Example:
Input: ‘n’ = 4 ‘m’ = 2 
‘arr’ = [12, 34, 67, 90]

Output: 113

Explanation: All possible ways to allocate the ‘4’ books to '2' students are:

12 | 34, 67, 90 - the sum of all the pages of books allocated to student 1 is ‘12’, and student two is ‘34+ 67+ 90 = 191’, so the maximum is ‘max(12, 191)= 191’.

12, 34 | 67, 90 - the sum of all the pages of books allocated to student 1 is ‘12+ 34 = 46’, and student two is ‘67+ 90 = 157’, so the maximum is ‘max(46, 157)= 157’.

12, 34, 67 | 90 - the sum of all the pages of books allocated to student 1 is ‘12+ 34 +67 = 113’, and student two is ‘90’, so the maximum is ‘max(113, 90)= 113’.

We are getting the minimum in the last case.

Hence answer is ‘113’.
Problem approach

The optimal solution for this problem is to use Binary Search. We first fix a value for the number of pages as mid of current minimum and maximum. We initialize minimum and maximum as 0 and sum-of-all-pages respectively. If a current mid can be a solution, then we search on the lower half, else we search in higher half. So we need to check if the midvalue can be possible or not. We have to check if we can assign pages to all students in a way that the maximum number doesn’t exceed current value. To do this, we sequentially assign pages to every student, while the current number of assigned pages doesn’t exceed the value. In this process, if the number of students becomes more than m, then the solution is not feasible. If it's not more than m students, then we can allocate so it's feasible.

Try solving now
02
Round
Easy
Face to Face
Duration45 minutes
Interview date31 Aug 2021
Coding problem2

The 1st interview was in the morning where the interviewer asked "Tell me about yourself" and then asked some basic questions of Computer Networks and then went on asking a Linked List question. Basic questions include - 
What is a subnet
Differentiate between TCP and UDP
How does DNS work

1. Clone Linked List with Random Pointer

Easy
10m average time
90% success
0/40
Asked in companies
Urban Company (UrbanClap)AmazonMeesho

Given a linked list having two pointers in each node. The first one points to the next node of the list, however, the other pointer is random and can point to any node of the list or null. The task is to create a deep copy of the given linked list and return its head. We will validate whether the linked list is a copy of the original linked list or not.

A deep copy of a Linked List means we do not copy the references of the nodes of the original Linked List rather for each node in the original Linked List, a new node is created.

For example,

example

Random pointers are shown in red and next pointers in black.

Problem approach

First we create the copy of node 1 and insert it between node 1 and node 2 in original Linked List, then we create the copy of 2 and insert it between 2 and 3. We continue the same process and add the copy of last after the last node. Next we copy the random links also in the same fashion. Next we restore the original and copy linked lists in this fashion in a single loop. Then finally the next pointer of the last node has to be NULL.

Try solving now

2. LCA - Lowest Common Ancestor

Hard
40m average time
70% success
0/120
Asked in companies
QualcommOYOAmazon

The lowest common ancestor (LCA) is a concept in graph theory and computer science.

Let ‘T’ be a rooted tree with ‘N’ nodes. The lowest common ancestor is defined between two nodes, ‘u’ and ‘v’, as the lowest node in ‘T’ that has both ‘u’ and ‘v’ as descendants (where we allow a node to be a descendant of itself). - Wikipedia

For the given tree, The LCA of nodes 5 and 8 will be node 2, as node 2 is the first node that lies in the path from node 5 to root node 1 and from node 8 to root node 1.

Path from node 5 to root node looks like 5 → 2 → 1.

Path from node 8 to root node looks like 8 → 6 → 2 → 1.

Since 2 is the first node that lies in both paths. Hence LCA will be 2.

Given any two nodes ‘u’ and ‘v’, find the LCA for the two nodes in the given Tree ‘T’.

Note: For each test case, the tree is rooted at node 1.

Problem approach

We compare the root's value with both the values given. If root's value is bigger then both the values, then this means that the LCA lies on the left part of root's sub-tree. If both the values are smaller than the gives values, then LCA lies on the right part of root's sub-tree. Suppose if root's value is bigger than one value and smaller than the other value, then root itself is the LCA since both the values lie on different parts of the sub-tree and the common element will be the root itself.

Try solving now
03
Round
Easy
Face to Face
Duration30 minutes
Interview date31 Aug 2021
Coding problem1

The 2nd interview consisted of OOPS questions and he asked me about my projects.

1. How is OOPS different from procedural programming also explain the pillars of OOPS?

Problem approach

I have explained the importance of OOPS like code reusability and how OOPS is beneficial if there are large projects. Next, I have explained about Polymorphism, Inheritance, Abstraction, and Encapsulation in detail, with an example for each of them.

04
Round
Easy
HR Round
Duration30 minutes
Interview date31 Aug 2021
Coding problem3

The HR round mainly consisted of some typical HR questions and he also asked me about my projects in depth. So basically it was a Managerial+HR round.

1. Basic HR question

Tell me about yourself.


 

Problem approach

Tip 1 : Mention about your college and current degree
Tip 2 : Mention about your interests in Computer Science
Tip 3 : Why do you want to join Citrix

2. Basic HR Question

Where do you see yourself in 5 years?

Problem approach

Tip 1 : First tell about what do you want to do in the first 2 years as you will be a fresher
Tip 2 : Next mention about the next 3 years since you will be promoted to SDE 2
Tip 3 : How do you improve on skills other than technical skills

3. Basic HR Question

Explain about your favorite project

Problem approach

Tip 1 : Be very thorough with your project. You should know in and out about your project
Tip 2 : You should be able to explain them clearly, if possible screen share, and explain all the components
Tip 3 : Mention about the challenges you faced and how did you overcome then

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

What is recursion?

Choose another skill to practice
Similar interview experiences
company logo
SDE - 1
2 rounds | 4 problems
Interviewed by Citrix
1550 views
0 comments
0 upvotes
company logo
Software Engineer
4 rounds | 7 problems
Interviewed by Citrix
1162 views
1 comments
0 upvotes
company logo
SDE - 1
4 rounds | 6 problems
Interviewed by Citrix
1477 views
0 comments
0 upvotes
company logo
SDE - 1
4 rounds | 9 problems
Interviewed by Citrix
1252 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
SDE - 1
5 rounds | 12 problems
Interviewed by Amazon
114579 views
24 comments
0 upvotes
company logo
SDE - 1
4 rounds | 5 problems
Interviewed by Microsoft
57825 views
5 comments
0 upvotes
company logo
SDE - 1
3 rounds | 7 problems
Interviewed by Amazon
34961 views
7 comments
0 upvotes