I applied for DE Shaw off campus through their site.
Round 1 (Online round):
After a few weeks, a hackerrank link was provided for an online coding round. The coding round consisted of two questions, both of them were of medium difficulty. But implementing both of them in just 1 hour was quite an impossible task. I could not solve any of them fully, but made sure a decent number of test cases got passed in each one of them.
Round 2 (Code pair):
Probably the trick worked and I got a mail for a code pair round on hackerrank. The following questions were asked:
- What is polymorphism?
- In-depth discussion on virtual keyword, virtual pointer, virtual table.
- Coin change problem with a slight modification: operations allowed: (n/2), (n/3) and (n-1).
- Program to reverse a string.
- Why is normalization done?
- What is cascade delete?
I answered each one of them correctly and was informed of getting into the next round.
Round 3 (On-site):
Around 10-12 people were flown from their respective cities to their Hyderabad office. We were made to fill up some forms regarding basic details, and then I was the first one to be interviewed among all. A team of 2 people were present to take the interview for each of the on-site rounds. Following questions were asked:
- Difference between http and https.
- What are the various encryption algorithms?
- How does encryption take place?
- What is Dalvik VM (this question was asked because I had written Android in my CV)?
- Difference between Java and Python.
- Why is Java code able to run on different machines?
- How would you find a loop in a linked list?
- (Extension of the above question) How would you find the length of the loop if found?
- Suppose you are given for each day the stock price of each company, for example on Day 1 Google: 60$, IBM 45$, … on Day 2 Google: 70$, IBM 43$, … and so on. You need to devise a data structure and a method to get the top k companies with highest prices.
- (Extension of the above question) Now among these top k companies, devise a method to get the frequency of all the companies. For example, if the top k companies are: IBM, Google, IBM, Microsoft. Then, the frequency count should return: IBM-2, Google-1, Microsoft-1.
- Design a Database Schema depicting the whole college scenario consisting of Department, Faculty, Courses, Students, etc.
- (Extension of the above question) Using the DB Schema mentioned, write an SQL query to get the names of all those students who have scored 10 CGPA in at least 5 courses.
Round 4 (On-site):
After the first round was over, only 4 people were called in for the second round. The rest were kept waiting. Questions asked in this round were:
- https://www.geeksforgeeks.org/sum-of-two-linked-lists/
- https://practice.geeksforgeeks.org/problems/magnet-array-problem/0
- https://www.geeksforgeeks.org/find-excel-column-name-given-number/
- https://www.geeksforgeeks.org/find-excel-column-number-column-title/
Further rounds (On-site):
For me, no further rounds were taken after this, even though I believed all my rounds went very well. I got disheartened because there were people whose 2 more rounds had taken place (one HR round and one technical), while I just kept waiting like the rest.
Then, we all came back to our respective homes and after 2 days, I got a call from DE Shaw that I had been selected! 😀