D. E. Shaw & Co. is a highly respected and secretive hedge fund and technology-driven investment firm founded in 1988 by David E. Shaw, a former Columbia University computer science professor. The firm is known for its pioneering use of quantitative analysis, computer science, and mathematical models to make investment decisions—a style commonly referred to as quantitative investing or quant investing.
Founded: 1988
Founder: David E. Shaw
Headquarters: New York City, USA
Employees: Over 1,900 people globally
Assets Under Management (AUM): Estimated to be over $60 billion (as of 2024)
Quantitative Focus: The firm relies heavily on computer models, algorithms, and big data to identify patterns in markets and make investment decisions.
Diverse Strategies: It runs a wide range of strategies including long/short equity, macro, statistical arbitrage, and private equity.
Secretive Culture: Like many quant firms, D. E. Shaw is very secretive about its methods and models.
Talent Magnet: It recruits top-tier talent from elite institutions, especially those with backgrounds in math, computer science, physics, and finance.
Jeff Bezos, founder of Amazon, worked at D. E. Shaw before founding Amazon in 1994.
David E. Shaw himself left active management of the firm in the early 2000s to pursue scientific research.
The recruitment process at D. E. Shaw is known to be highly competitive, reflecting the firm’s focus on hiring top-tier talent in fields like computer science, mathematics, finance, and engineering. They recruit for roles such as Quantitative Analyst, Software Engineer, Trader, Research Scientist, and Operations/Business roles, both for fresh graduates and experienced professionals.
You can apply via:
Campus placements (IITs, top global universities, etc.)
The D. E. Shaw website or job portals (like LinkedIn or Glassdoor)
Employee referrals
For technical roles (quant, software engineer):
Includes DSA problems, math puzzles, and sometimes probability/statistics or machine learning questions
Often hosted on platforms like HackerRank or Codility
Duration: ~60–90 minutes
2–3 problems with increasing difficulty
For non-technical roles, expect:
Logical reasoning
Analytical thinking
Attention to detail
Depending on the role:
Quant/Research roles:
Brain teasers, probability, linear algebra, statistics
Case studies and market scenarios
Sometimes includes programming or scripting (Python, R, etc.)
Software engineering roles:
Data structures and algorithms (DFS, DP, graphs, etc.)
System design (for experienced candidates)
Code debugging and optimization
Focus on:
Problem-solving approach
Motivation for joining D. E. Shaw
Teamwork and communication skills
Fit with company culture
A series of interviews conducted in one day with multiple teams
Includes cross-functional and sometimes puzzle/culture-fit rounds
Strong problem-solving and analytical skills
Deep understanding of CS fundamentals (for tech roles)
Knowledge of probability, statistics, finance (for quant roles)
Attention to detail and intellectual curiosity
IITs (esp. Bombay, Delhi, Madras, Kanpur, Kharagpur)
BITS Pilani
IIIT-Hyderabad
IIMs (for business roles)
Top U.S. schools for international hiring (e.g., MIT, Stanford, Princeton).
#include<bits/stdc++.h>
using namespace std;
bool isSubArraypresentWith0Sum(int nums[], int n)
{
unordered_set<int> freetimelearn_Set;
int sum = 0;
for (int i = 0 ; i < n ; i++)
{
sum += nums[i];
if (sum == 0 || freetimelearn_Set.find(sum) != freetimelearn_Set.end())
return true;
freetimelearn_Set.insert(sum);
}
return false;
}
int main()
{
int nums[] = {-3, 2, 1, 9, 6};
int n = sizeof(nums)/sizeof(nums[0]);
if (isSubArraypresentWith0Sum(nums, n))
cout << "Found, A subarray with sum 0 in present";
else
cout << "Not found, A subarray with sum 0 is not present";
return 0;
}
arr[low]<=arr[mid]
. If it is sorted then we will check whether the target lies in this range or not.int search(vector<int>& arr, int x) {
int low=0;
int high=arr.size()-1;
while(low<=high){
int mid=low+(high-low)/2;
if(arr[mid]==x){
return mid;
}
if(arr[low]<=arr[mid]){
if(x>=arr[low] && x<arr[mid]){
high=mid-1;
}
else{
low=mid+1;
}
}
else if(arr[mid]<arr[high]){
if(x>arr[mid] && x<=arr[high]){
low=mid+1;
}
else{
high=mid-1;
}
}
}
return -1;
}