DE Shaw | MTS | June-July 2024

de shaw logo
de shaw
MTS IOngoing
July 26, 20240 reads

Summary

I interviewed for the MTS role at DE Shaw in June-July 2024. The process involved an Online Assessment, a Screening Round focusing on clean code and system design, and two In-House Technical Rounds covering Java concepts, data structures, algorithms, and system design. My interview process is currently ongoing as I haven't heard back for a rescheduled third technical round.

Full Experience

My interview journey for the MTS role at DE Shaw began in June-July 2024.

The initial phase was an Online Assessment consisting of two LeetCode medium questions. I don't recall the exact problems, but I managed to complete the first one and passed most test cases for the second.

A month later, I was called for a Screening Round. This round heavily emphasized writing clean and structured code. I was tasked with designing a data structure for browser history with functionalities like adding/removing links, searching by keywords (where each link could have many), printing links in insertion order, and handling duplicate links. For instance, '/google/search' would have 'google' and 'search' as keywords. I proposed using a doubly linked list for links and a hashmap for keywords, with the hashmap's values being a list of links. The interviewer asked me to implement this approach, even if it wasn't the most optimal. We also discussed several Java concepts like Runnable vs Thread, Stream API, Deadlock, Notify vs Wait, concurrency, and OOPS principles.

A week later, I proceeded to the In House Interviews.

Round 1 (1 hour) was an intense Java grilling session. Almost every concept was touched upon, from basic program execution to concurrency, JRE vs JVM, Singleton design pattern, the volatile keyword, method hiding vs method overriding, and ThreadPoolExecutor. This discussion took about 40 minutes. For the remaining 20 minutes, I was given a coding question: Kth Smallest Number in Multiplication Table. I suggested all three common approaches: sorting, using a priority queue, and binary search.

Round 2 (1 hour) was a mix of resume-based questions and design problems. We discussed the Singleton Design Pattern again. I was then asked to design a Flight Booking System, with a particular focus on finding multiple-stop flight schedules. Other design questions included designing an LRU Cache and designing Java annotations.

After two weeks, HR scheduled a third Technical Round, but it was unfortunately rescheduled at the last moment. I still haven't heard back from HR regarding its rescheduling.

Interview Questions (5)

Q1
Design Browser History Data Structure
System Design

Design a data structure for browser history with the following functionalities:

  1. Add a link
  2. Remove a link
  3. Each link has many keywords, search by keyword
  4. Print all links in inserted order
  5. Example: '/google/search' has 'google' and 'search' as keywords
  6. Links could be duplicate

Q2
Kth Smallest Number in Multiplication Table
Data Structures & AlgorithmsHard

Given three integers m, n, and k, return the kth smallest number in the m x n multiplication table.

Q3
Design Flight Booking System
System Design

Design a Flight Booking System, specifically focusing on how to find and manage multiple-stop flight schedules.

Q4
Design LRU Cache
System Design

Design a Least Recently Used (LRU) Cache.

Q5
Design Java Annotation
Other

Design a Java annotation.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!