Sunday, 16 August 2015

Citrix Interview Experience


I had attended Citrix interview process as part of campus selection @ +IIT Madras. The process went for four rounds. One written, two technical and one HR rounds.


Written Round 
  • Citrix had both objective and coding tests as part of written. Both were online tests and hosting platform is Hacker Earth.
  • The Objective paper consists of 50 Questions in 60 mins. There were no separate sections in the paper but it includes concepts from Operating Systems, Aptitude, Computer Networks, Algorithms and Programming.
  • The Coding paper consists of two questions on Hacker earth platform. We were given one hour to solve this. All the questions were moderate and can be solvable. All the people in test got the same questions to solve.
  • One question was http://www.geeksforgeeks.org/find-number-of-islands/

Technical Round 1
  1. Assume that your kernel has no capability to do memory management. In this case, how do you implement/organize the memory in case of both new and delete operators?
    • Basically the interviewer was expecting me to discuss about the underlying kernel mechanisms for memory. So I started my answer with the free list management followed by variable partitioning approach and then heap management. In the above discussion I was talking about the pros and cons of the each method and our discussion went for 25 minutes long ;)
  2. Add two numbers represented as linked lists and store the result in another list?? what are base cases?? http://www.geeksforgeeks.org/sum-of-two-linked-lists/
  3. What if there is a cycle in above linked lists. How did you find it?? how did you break that loop?    http://www.geeksforgeeks.org/write-a-c-function-to-detect-loop-in-a-linked-list/

Technical Round 2
  1. How did you find whether the given tree is a binary search tree or not?  
  2. I had a Concurrent Programming course project in my resume. It was about the implementation of concurrent BST based on logical ordering. After seeing this project, the interviewer was asking the following questions.
    • Why Logical Ordering? what is the necessity?
    • Why two orderings?(about implementation)
    • Is there any other way of solving the same problem?
    • What are its applications?
  3. Given a database having cricketer's statistics. How will you design this database to make the search easier? Simple query is: given a cricketer name you should retrieve his statistics in the least possible time.
  4. How do you modify your design to make the search more efficient for most popular 'K' cricketers in the world?

HR Round
  1. Explain Yourself?
  2. What do you know about Citrix?
  3. Innovation in your life?? (I was talking about Citrix innovation in the above and hence this question ;) )
  4. What is success for you? What is your definition?
  5. What are your strengths and weakness? 
  6. Which website you are following for learning verbal communication?(I mentioned the weakness as proper communication skills and hence this question :P )
  7. Explain about your family background?
  8. Describe the situations where you learned from your Senior and Junior?
  9. HR explained about the Salary breakdown and company policies? also asked for location preference??
  10. Asked for any other interviews in parallel? I had NetApp in parallel. So she was asking like, what you will do if you have both in-hand and why?



Tips

  • Having strong skills on system side courses will help alot. So strongly prepare all the system side courses such as OS, CN etc. 
  • Like any other company, it demands Algorithmic basics too ;) 
  • Having a system related project will help in many ways(as much of interview will be centered around it).




All the Best :)


Good Luck ;)