DE Shaw Internship Interview Experience

DE Shaw visited our campus (MNIT Jaipur) in the first week of August 2019 for 2-month software development internship.

Technical Test (50 min)-
1. Find the maximum number of connected nodes in the graph. (Dfs)
2. Delete some numbers from the given array to maximize the difference between the sum of odd position elements and even position elements. (Greedy or Dp)
E.g. 6 7 5 1 9 2 10
Ans 23 ( 7, 1, 9, 2, 10)
I was able to solve both questions in 20 mins and because of this given very much preference in the interview. Those who were able to solve one and a half questions were selected for the interview round.
Out of 88 students total, 11 shortlisted for interview.

Technical Interview 1 (50 min)-
There were two interviewers and both of them were very nice and helpful.



1. Implementation of the list in python (if python mentioned in resume)

2. Implement python list in C. My first solution is using struct and linked list and then move on to union and linked list and finally accurate one with a linked list with void * pointer.

3. Python dictionary internal implementation (hashing)

4. More questions on python on decorator, generator, list, and other basic questions on python which I don’t remember.

5. C++ questions on unique_ptr and shared_ptr and their functions.

6. Difference between macros and typedef.

7. Difference stages of compilation.

8. Virtual function (vptr and vtable).

9. A brief discussion on multiple Inheritance, Diamond Problem, Solution.

10. Discussion on an operating system, why we need it, page replacement algorithm and basic questions. (if you don’t know much then you can skip it)


11. Different methods to call constructor, deconstructor, copy constructor and their internal working. Pointer case in case of copy constructor and how to handle it.

12. Questions on Computer Architecture. (As I am a student of ECE, I haven’t studied computer architecture so I skipped it.)

13. Questions from my resume that why I changed my primary language to c++ from python. My favorite data structure in python and c++.

14. Basic questions about myself what I do in my free time, my hobbies and my favorite projects and all.

15. Why I choose NodeJS over all other backend languages. I had given a very lame answer that because I learned only this that’s why I am using it. They laughed but were satisfied with the answer.

16. Short introduction and discussion on the project (for a very short time).

17. Inline function and what is the use of it and where to avoid it in a detail explanation. Difference between inline and macros.

18. Difference between function declaration and definition.

19. Use of header file stdio, whether functions are declared or defined in it and basic details of it.

20. Memory management diagrams. Explained him cache level 1, 2, 3, main memory, disk storage. What makes cache fast? How these memories work?


21. File handling in c++ and what happened if we open a 10gb file in a computer with 4gb RAM.
I just gave some answers and they didn’t react at all.

21. Can a function be stored in python list or in void * pointer in c++? I said no but don’t know whether it is correct or not.

22. There are n goods with a weight of ith good is wi and m trucks. You have to load this truck in such a way that each truck should carry almost equal weights.
I gave a dp solution for m==2 and they don’t ask me to generalize it.

5 students out of 11 were promoted to next TI. Your coding round score, attitude, confidence, and communication skills matter most. I had performed well in the coding round that’s why my theoretical knowledge was checked in this round. I suggest that you must have a deep knowledge of at least one language. Read all the articles related to your primary language on geeks for geeks.

Technical Interview 2(50 min)-
There were two interviewers in this round also. They were also very helpful and were always providing hints at the relevant times.
1. First, they make me comfortable and asked what I had at lunch and some general questions.

2. Asked me that if I had asked my friends about the questions which they are asking in the interview?
Ans: – I said yes, I asked one or two questions that you asked topological sorting to them. I can code it. They laughed and said we will ask new questions to you.

3. They asked me my primary language and asked me why I used python in today’s test. They had my codes open on their laptop and where seems to be impressed with my codes.
They praised me for solving both the questions in very little time.

4. Can you give another approach to the first question??
Sol: – Provided bfs, brute force approaches but they were not satisfied. Then I provided a set and union approach and explained the working and uses of set and union. They were satisfied with the approach.

5. Design a data structure with Insert, delete and search operations in O(1).
Sol: – Given them hashing approaches and different methods for collision handling but all the methods take more than O(1) in the worst case. Then they asked me that data is from 1-9999 only. I instantly gave a solution with one array when a number is inserted make 1 at the position of the number and 0 for deletion.

6. Asked me to implement get random also in O(1).
Sol: – Given so many solutions but they want perfect O(1). Finally got perfect O(1) using 3 arrays.
Arr1 = normal first array (used in 3th question)
Arr2 = Elements that are inserted in Arr1
Arr3 = index of ith element in Arr2
The algorithm will be very complex to write here so just given a hint of arrays rest algorithm you can think by yourself.
They were satisfied with the algorithm.


7. Question on Dp. In a matrix find the longest path with different adjacent elements should be 1. You can start at any point and move in any 8 direction from the element.
Sol: – Used Dp and they asked to write the code on paper. They just checked logic, not syntax and asked me to dry run the code with a matric given by them. I was able to pass all corner test cases.
8. Based on your experience with c++ and python which language you find most useful and why? Asked to compare the languages in every possible aspect.
I justified my use of python for today’s contest instead of c++ (my primary language).

9. Discussion on my projects and asked me to show any website that I have made. My portfolio website was hosted on GitHub so I showed that.

10. Asked me internals of NodeJS and JavaScript to which I answered I don’t know much internals of these languages.

11. Asked me why I used NodeJS and they want some technical answer, not like the previous one.

12. One very tough question on a Game theory which I couldn’t remember but I was unable to solve it up to the mark they are expecting. I gave a basic solution but they want me to design an exact algorithm that I was unable to.

13. Difference between strongly typed and weakly typed languages, dynamic and static languages and classify c++ and python based on the same.

14. List comprehension in python and tried to confuse me with python by writing string + int and many other functions that would give a compilation error. Output prediction for python codes.

15. Asked me if I had any questions for them.

HR Interview (15 min)-
1. How was your interview?
2. Is this your first experience? How was it?
3. Tell me about yourself.
4. Why DE Shaw?
5. Your top 3 dream companies apart from DE Shaw.
6. How was the Test?
7. On a scale of 10, how would you rate today’s test? Are there any students who are really good coders but unable to crack the test?

Two students were selected for the summer internship and I was fortunate enough to be one of them.
if you want then after each round you may ask some questions to the interviewee.
e.g. you can ask about technologies, languages used in their company or about the environment.


All questions were available on https://www.geeksforgeeks.org/ and it is the best site I found for interview preparation. A big thanks to the whole geeksforgeeks team and contributors.
This article is contributed by Suryaprakash Agarwal.
Your DSA knowledge and soft skills are key to your success.

 

Best of Luck for your Interviews.

Write your Interview Experience or mail it to contribute@geeksforgeeks.org



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.