Citrix visited our campus for the role of Software Engineer.
Online Test(2 Hrs):
MCQ
So after some discussion with my friends, I have brought down the MCQs to be around the following topics:
C language : static , struct , pointers, overflow , function pointer , compiler tokens
C++ : Constructor , compilation process , class visibility and static , virtual function ,operator overloading
OS : segmentation , paging , disk scheduling
Networking : optimal window size in sliding window protocol , subnets (numericals mostly)
DS & Algo: applications
And some good Aptitude/Maths questions.
CODING
Q1) We are given k servers responding to requests for processing . The servers are allotted requests in round robin fashion . Busy servers are not allowed to take in a second request. Unavailability of any server causes a drop of request. Requests have arrival time and load as parameters. We had to tell the server that served the maximum total load.
I solved this question fully.
Solution at the end
Q2) I could not understand the problem statement to this question and I don't remember anyone doing this question fully .
I hardcoded 40% of the test cases to this question.(Not recommended at all, read later below).
120 mins was a balanced amount of time for all of this . I had around 20 mins left to solve Q2 after debugging Q1 for some time .
14 Students were shortlisted for the interviews.
From what I heard, these were people who either solved Q1 or did extremely well in MCQs.
All rounds further were held on Hackerrank codeshare feature(Whatever the name is).
Technical Interview 1:
Right off the bat, he copied my hard coded solution on the shared screen and asked me to explain my solution. I had to explain that I did not understand the question in the first place and then I gave my justification for hardcoding the solution. He seemed to not make a fuss about it and moved on to the actual interview.Q1) Set a particular bit in a number
Q2) Identify why a particular piece of code is showing compiler error. (Ans was memory allocation). The follow up discussion was about the adv/disadv of public allocation , dynamic allocation and recursively allocating.
Q3) Semaphores and code for wait and signal functions. Processing optimizations on it. Hardware semaphores etc.
Q4) Storage classes in C
Q5) He asked me what I prepared for this interview. I implied that I had not done networking , rest I was confident about.
Q6) May or may not exist as i don’t remember but a coding question that was pretty easy.
Q7) General questions about my interests , my location , Covid .
Round lasted for about 50 mins. Others had a similar length too.
10 people were shortlisted for the next round.
Technical Interview 2:
I was asked about my Internship. After that I was asked to explain Virtual Memory . Another question on what happens if we use free() twice using the same pointer.
After this i was asked 2 questions:
Q1 ) https://leetcode.com/discuss/interview-question/364618/Microsoft-or-OA-2019-or-Min-Steps-to-Make-Piles-Equal-Height
Q2) Range increment on a circular array. 10^5 queries, one time output after all queries are processed.
I was only asked to explain the solution for both of them.
Round lasted for 20 minutes(Yeah).
Other interviews went on for the normal 50-70 mins.
7 people were shortlisted for the next round.
Managerial Interview :
This round was to check if I have a basic knowledge of working in a tech environment. The round involves going over your resume thoroughly. A theme of this round was the interviewer not bothering with my coding abilities and looking apart from that. My pointer is slightly less than 8 , to give you perspective.
Q1) Interest in Data Science?
Q2) How have the classes been going on and do I enjoy them virtually?
Q3) What theory subjects have you gone through in the previous 2 semesters.
Q4) What is cloud computing ?
Q5) Did I work on cloud at my internship?(Yes, I did)
Q6) Windows/Linux (I said I use Windows mostly but have done work on Linux too) ? Commands to list processes, to kill a particular process? How to do the same in Windows? (Task Manager UI in Windows)
Q7) Situation based question on FTP (I didn’t know networking but i knew ssh and that it is tcp connection, so I said that, he then said which protocol will ssh use, I said ftp).
Q8) Situation based question on API . Definition . Rest API. Definition.
Q9) My internship experience. My work on microservices there and the code quality and testing I did there. He was very impressed by the quality assurance at my internship and replied with a very reaffirming awesome.
Q10) My strengths
Q11) My knowledge of languages
Q12) Multithreading
Q13) Everything I knew in DBMS(Name stuff)
He wanted to bring up a conversation on other subjects too like Compilers/More Networking but I was lucky to be able to dodge those as I had no preparation for any of that. I would say on another day it could have gone really differently.
Verdict : 3 people selected including me
- Prakhar Kulshreshta
- CSE 2k21
****************************************************************************************
Down here : hint and clarification for q1 of online round
- The question quite clearly was more on the implementation side.
- You can also use sets but I used a priority queue.
- Use of 2 priority queues(as a single array of 2 priority queues) to maintain available servers - “left in the current round of RR” and “available for the next round only” .
- An index to alternate the roles of the above 2 priority queues .
- Another priority queue to maintain servers that are busy,along side their time when it becomes free as a pair.
- All these are min heaps so know it’s declaration.
- And other arrays to maintain index pairs and to sort indexes by arrival time required careful handling and observation.
- You can’t use every second of time as iterator of processing loop , so loop will be on the request arrival time.
- I started with a different approach but fortunately the correct approach was not a lot different in code.
******************************************************************************************

Comments
Post a Comment