DE SHAW visited our campus (MNIT JAIPUR) for 2 months summer internship programs.Eligible branches were CS and ECE.
Round 1:ONLINE CODING ROUND.
This round consisted of 2 coding questions.(50 mins)
Question 1: Find the maximum number of connected elements in a graph(dfs).
Question 2:Given an array find the maximum difference between sum of elements present at odd and even positions.You can delete any number of elements you want to .
I first applied brute force approach and then memoized it.
I was able to solve both the questions completely.I would suggest to solve atleast 1 full and 1 partial question for getting selected in further rounds.
Out of 88 students 11 were shortlisted.
Round 2: First Technical Round
There were 2 interviewers both were friendly and supporting.
They asked about how was the online test.Then they started with the questions.
First question was to design a data structure which can add, delete, search and get random value in O(1) time.
Second question was based on topological sorting.I suggested both the dfs and bfs approach of the same.
Then they gave me a coding question where I had a n digit number(n<10^5), i was allowed to remove k digits and make the number as minimum as possible.I suggested an approach using stack and they were satisfied.
Then they asked me whether i was more comfortable in operating systems or OOPS.I told OOPS.
Then they asked me the basic concepts of OOPS and difference between method overloading and overriding.(Read the concepts nicely) Some more theory questions related to C++ was asked.
Virtual functions, virtual constructor is possible or not(ANS is NO) then why virtual destructor is possible?.
What are Virtual Base class and friend function?
Then at last they asked me a puzzle.
Then they asked if I had any questions.You can ask them about the company if u want to.
Round 3:Second Technical Round
First there was general discussion about my projects.I have used MySQL in my first project and MongoDB in the other. So they asked what is the difference in between the two.
Then they asked me some questions based on MySQL, like how will I design a table having 1000 column entries efficiently, I suggested normalization, I wasn’t sure but since this was not a course that I have studied so they said its okay.
Again there were questions based on C++.
Difference between macros, inline functions and typedef.
How are objects created in C++.
What is operator overloading?
How does a compiler work(4 stages of compiling).
What a linker does in the compiler?
Different types of constructors.Different types of pointers in c++.
Difference between C++ and C.Why was C++ developed if C was already present.
Then they asked me a question where I was given m servers and n tasks.I had to efficiently allocate these tasks to servers .I linked this concept to OS and suggested round robin. Then they said okay but they wanted me to think of an algorithm to do this.
Then I suggested sorting all the tasks on the basis of time span and using 2 pointer algorithm (this approach worked for 2 servers), they asked me to extend it for ‘n’ servers.Then I though a bit and suggested bucketing.Where I created buckets of size ‘x’ and allocated all the tasks whose sum of time is less than ‘x’ to one server and following the same algo for the rest of the tasks.They were satisfied by this approach and asked me to code it.I used binary search for it.They were happy.
At last they asked me if I had any questions.
Round 4:HR Round
General questions were asked .
Dream companies other than DeShaw.
How was the test?
How was the interview experience?
On a scale of 10 how much would I rate the test.
Any questions that I have.
Overall it was a very good experience.The interviewers were very supportive and gave timely hints. I would suggest to know the theory concepts of your preferred language well and to practice coding questions.Confidence is the key.
At last they selected 2 out of 11 shortlisted students and I was fortunate enough to be one of them.
Thank you Geeksforgeeks for helping me prepare for my interview.
This article is contributed by Ritika Mor.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course. In case you are prepared, test your skills using TCS, Wipro, Amazon and Microsoft Test Serieses.