D. E. Shaw Internship Interview Experience | Off Campus
Round 1: Online Assessment
Duration: 95 minutes
Three coding questions with a restricted time limit for each: 25 minutes, 35 minutes, 35 minutes.
- String manipulation based problem.
- Minimum number of operations to get desired array
- Dynamic programming based problem.
Round 2: Codepair Interview 1
Duration: 60 minutes
- count number of ways to reach the nth stair
- A lot of questions on classes, constructors, destructors, virtual functions, dynamic memory allocation, etc. (In-depth questions from these topics)
- Given a never-ending stream of cities representing the query for a certain city, design a data structure to store them in such a way that the top 10 most queried cities can be retrieved efficiently in the decreasing order of their number of queries with each subsequent entry.
Round 3: Codepair Interview 2
Duration: 90 minutes
- capacity to ship within d days
- Count the number of nodes in a complete binary tree
- Get min element from a stack in O(1) time
- Difference between SQL and NoSQL Databases and their examples
- Foreign key
- ACID properties
- Define transaction
- Rollback and commit
- Write a SQL query to fetch names of students getting second-highest score (Marks in 5 subjects are given for each student in a single table. Final score of a student = sum of marks obtained in all 5 subjects)
- Some questions from OOPs.
- Design a data structure to implement browser history. It should have the following features:
- Last accessed URLs should be sorted according to their timestamps (latest to earliest)
- Search the URLs accessed within a given time duration (like last 30 minutes, 1 hour, etc.)
- Search a URL with a given keyword
Round 4: Codepair Interview 3
Duration: 25 minutes
- Design a data structure to implement dynamic polymorphism in C++
- Given a never-ending stream of cities, design a data structure to store them in such a way that the cities are stored efficiently in the decreasing order of their number of visits with each subsequent entry. If two cities have the same number of visits, then they should be stored in the order of their first occurrence in the stream.
- A brief discussion about virtual functions and C++ dynamic binding mechanism.