Filter interviews by
Be the first one to contribute and help others!
I was interviewed before Apr 2021.
Round duration - 60 minutes
Round difficulty - Medium
Started with the discussion why do you want to join DE shaw. Since prior to my current company, I was working with a finance based company so they asked why do you want to come back to finance base company. So they asked my about debentures, bonds, mortgages and other financial jargons.
Then they asked questions related to DSA, OS etc.
Given an array ARR
consisting of N
integers, your task is to identify all distinct triplets within the array that sum up to a given integer K
.
The task is to find all distinct triplets in an array that sum up to a given integer.
Iterate through the array and use nested loops to find all possible triplets.
Use a set to store unique triplets and avoid duplicates.
Check if the sum of the triplet equals the target sum.
Return the list of valid triplets or -1 if no such triplet exists.
Your task is to determine the minimum number of platforms required at a railway station so that no train has to wait.
Given two arrays:
AT
- represent...Determine the minimum number of platforms needed at a railway station so that no train has to wait.
Sort the arrival and departure times arrays in ascending order.
Initialize two pointers for arrival and departure times, and a variable to keep track of the maximum number of platforms needed.
Increment the platform count when a train arrives and decrement when a train departs.
Update the maximum platform count as needed.
Ret...
Internal fragmentation occurs when memory is allocated in fixed-size blocks, leading to wasted space within a block. External fragmentation occurs when free memory is fragmented into small chunks, making it difficult to allocate contiguous blocks.
Internal fragmentation is caused by allocating fixed-size blocks of memory, leading to wasted space within a block.
External fragmentation occurs when free memory is fragmented...
SQL query to find the employee with the nth highest salary
Use the ORDER BY clause to sort salaries in descending order
Use the LIMIT clause to select the nth highest salary
Join the employee table with the salary table to get the employee details
Java is platform independent due to its bytecode and JVM.
Java code is compiled into bytecode, which can run on any platform with a Java Virtual Machine (JVM)
JVM acts as an intermediary between the Java code and the underlying platform, ensuring portability
Developers write code once and it can be executed on any platform that has a compatible JVM
Examples: Windows, macOS, Linux all can run Java programs without any chang
Abstract class can have both abstract and non-abstract methods, while interface can only have abstract methods.
Abstract class can have constructor, member variables, and methods with implementation.
Interface can only have abstract methods and constants.
A class can implement multiple interfaces but can only extend one abstract class.
Example: Abstract class - Animal with abstract method 'eat' and non-abstract method 'sle
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
I was interviewed before Apr 2021.
Round duration - 45 minutes
Round difficulty - Medium
Technical Interview round with questions on Core Subjects mainly.
C is a procedural programming language while C++ is an object-oriented programming language with features like classes and inheritance.
C is a procedural programming language, while C++ is a multi-paradigm language with support for object-oriented programming.
C does not support classes and objects, while C++ does.
C uses structures for data organization, while C++ uses classes for data organization.
C does not have featur...
A virtual function is a function in a base class that is declared using the keyword 'virtual' and can be overridden by a function with the same signature in a derived class.
Virtual functions allow for dynamic polymorphism in object-oriented programming.
They are used to achieve runtime binding and enable the implementation of the function to be determined during runtime.
Example: virtual void display() = 0; in a base cla...
Inheritance is a concept in object-oriented programming where a class inherits properties and behaviors from another class.
Allows for code reusability by creating a new class based on an existing class
Child class inherits attributes and methods of the parent class
Can have multiple levels of inheritance (e.g. grandparent, parent, child classes)
Example: class Dog extends Animal, where Dog inherits properties and methods
Default Constructor is a constructor that is automatically called when an object is created without any arguments. Copy Constructor is used to create a new object as a copy of an existing object.
Default Constructor has no parameters, while Copy Constructor takes an object of the same class as a parameter.
Default Constructor initializes the object with default values, while Copy Constructor creates a new object with the...
Round duration - 40 minutes
Round difficulty - Easy
Technical Interview round with questions on Core Subjects mainly.
The types of access modifiers in C++ are public, private, and protected.
Public: accessible from outside the class
Private: only accessible within the class
Protected: accessible within the class and its subclasses
DDL is used to define the structure of database objects, while DML is used to manipulate data within those objects.
DDL is used to create, modify, and delete database objects like tables, indexes, etc.
DML is used to insert, update, delete, and retrieve data from database tables.
DDL statements include CREATE, ALTER, DROP, TRUNCATE, etc.
DML statements include INSERT, UPDATE, DELETE, SELECT, etc.
Primary Key uniquely identifies each record in a table, while Unique Key ensures that all values in a column are distinct.
Primary Key does not allow NULL values, while Unique Key allows one NULL value.
A table can have only one Primary Key, but multiple Unique Keys.
Primary Key is automatically indexed, while Unique Key may or may not be indexed.
Primary Key is used to establish relationships between tables, while Unique ...
DBMS is a software system that manages databases, while RDBMS is a type of DBMS that stores data in a structured format using tables.
DBMS stands for Database Management System, which is a software system that allows users to interact with a database.
RDBMS stands for Relational Database Management System, which is a type of DBMS that stores data in a structured format using tables with rows and columns.
RDBMS uses Struct...
Normalization in database management systems aims to reduce data redundancy, improve data integrity, and optimize database performance.
Eliminate data redundancy by breaking down data into smaller tables
Reduce update anomalies by ensuring data is stored in a logical and consistent manner
Improve data integrity by enforcing referential integrity constraints
Optimize database performance by reducing the amount of redundant
Round duration - 30 minutes
Round difficulty - Easy
HR round with typical behavioral problems.
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
I was interviewed before Apr 2021.
Round duration - 40 minutes
Round difficulty - Medium
The test has 3 sections :
1. Quantitative contains 20 questions. These questions are easy to me. If u practice quant, you can easily solve it.
2. Technical contains 20 questions. Some questions are on C , C++ , java outputs. Remaining are based on DSA. If u Know all the time complexities of algorithms then it is easy . In technical they gave one DSA problem.
3. Essay: They have given one picture and then asked to write an essay by seeing the picture.
Given an undirected graph with 'V' vertices labeled from 0 to V-1 and 'E' edges. Each edge has a weight that represents the distance between two nodes 'X' and 'Y'.
...
Dijkstra's algorithm is used to find the shortest path distances from a source node to all other vertices in a graph.
Dijkstra's algorithm is a greedy algorithm that finds the shortest path from a source node to all other nodes in a graph.
It uses a priority queue to select the node with the smallest distance and relaxes its neighbors.
The algorithm maintains a distance array to keep track of the shortest distances from t...
Round duration - 60 minutes
Round difficulty - Easy
3 persons are there in panel. They are asking questions on basic concepts in subjects and some advanced concepts.
A daemon process is a background process that runs continuously to perform system tasks.
Daemon processes do not have a controlling terminal.
They typically run in the background and perform tasks such as managing hardware devices, network services, or system maintenance.
Examples of daemon processes include cron, sshd, and apache.
Daemon processes are often started during system boot and run until the system is shut down.
System calls provide a way for user-level processes to interact with the operating system kernel.
System calls allow user programs to request services from the operating system.
They provide a secure and controlled way for applications to access system resources.
System calls enable processes to perform tasks such as file operations, network communication, and process management.
Examples of system calls include open(), re
The select() system call is used in Unix-like operating systems to monitor multiple file descriptors for activity.
select() allows a program to wait for multiple I/O operations to complete on multiple file descriptors.
It takes three sets of file descriptors as arguments - readfds, writefds, and errorfds.
The function will block until an activity is detected on one of the file descriptors or until a timeout occurs.
select(...
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
I was interviewed before Apr 2021.
Round duration - 45 minutes
Round difficulty - Medium
Technical Interview round with questions on DSA.
Given a binary tree, your task is to convert it into its mirror tree.
A binary tree is a data structure where each parent node has at most two children.
The mirror ...
Convert a binary tree into its mirror tree by interchanging left and right children of non-leaf nodes.
Traverse the binary tree in postorder fashion and swap the left and right children of each non-leaf node.
Use recursion to solve the problem efficiently.
Remember to handle null child nodes represented by -1 in the input.
Given an array of integers, find the maximum sum of any contiguous subarray within the array.
array = [34, -50, 42, 14, -5, 86]
137
Find the maximum sum of any contiguous subarray within an array in O(N) time complexity.
Iterate through the array and keep track of the maximum sum of subarrays encountered so far
At each index, decide whether to include the current element in the subarray or start a new subarray
Update the maximum sum if a new maximum is found
Example: For array [34, -50, 42, 14, -5, 86], the maximum sum subarray is [42, 14, -5, 86] with
Round duration - 45 minutes
Round difficulty - Hard
Technical Interview round with questions on DSA.
Your task is to determine the size of the largest subtree of a given binary tree which is also a Binary Search Tree (BST).
Find the size of the largest subtree in a binary tree that is also a Binary Search Tree (BST).
Traverse the binary tree in a bottom-up manner to check if each subtree is a BST.
Keep track of the size of the largest BST subtree encountered so far.
Use the properties of a BST to determine if a subtree is a valid BST.
Consider edge cases such as empty tree or single node tree.
Example: For input 1 2 3 4 -1 5 6 -1 7 -1 -1 -1 -1
Given a positive integer n
, the task is to find the next smallest integer and the previous largest integer that contain the exact same nu...
Find next smallest and previous largest integers with same number of set bits as given integer.
Count the number of set bits in the given integer using bitwise operations.
For next smallest integer, find the next number with same number of set bits by iterating through numbers greater than the given integer.
For previous largest integer, find the previous number with same number of set bits by iterating through numbers sm
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
To find the maximum length BST in a given binary tree.
Traverse the tree in post-order fashion
For each node, check if it satisfies the BST property
If it does, calculate the size of the BST rooted at that node
Keep track of the maximum size seen so far
Algorithm to find absolute max subsequence of an array with positive and negative numbers in O(n) time.
Initialize max_so_far and max_ending_here as 0
Loop through the array and for each element, add it to max_ending_here
If max_ending_here becomes negative, reset it to 0
If max_ending_here is greater than max_so_far, update max_so_far
Return max_so_far
Eliminate duplicates in an array of strings and print it in linear time complexity.
Use a hash set to keep track of unique elements
Iterate through the array and add non-duplicate elements to the hash set
Print the hash set elements to get the final array
Balancing of Btrees / AVL trees is important for efficient search and insertion operations.
Btrees and AVL trees are self-balancing binary search trees.
Balancing ensures that the height of the tree is minimized, leading to faster search and insertion operations.
Btrees are used in databases while AVL trees are used in memory.
Balancing is achieved by performing rotations and node splitting.
AVL trees have a stricter balanc...
139 teams in a knock-out tournament, find the number of matches to choose the champion.
In a knock-out tournament, each team plays only one match per round.
The number of matches required to choose the champion is one less than the number of teams.
Therefore, the number of matches required is 138.
My resume includes projects such as a web-based inventory management system and a mobile app for tracking fitness goals.
Developed a web-based inventory management system using PHP and MySQL
Created a mobile app for tracking fitness goals using React Native
Implemented RESTful APIs for communication between front-end and back-end
Utilized version control tools such as Git for collaborative development
Designed and implement...
Algorithm to mirror a given Binary Tree
Create a function to swap left and right child nodes of a given node
Recursively call the function on left and right child nodes
Base case: if node is null, return
Call the function on the root node of the binary tree
Find the next largest int with same number of 1's in binary.
Count the number of 1's in the binary representation of the given int.
Increment the given int until a number with the same number of 1's is found.
Return the next largest int with same number of 1's.
OOP concepts in Java
Encapsulation - hiding implementation details
Inheritance - creating new classes from existing ones
Polymorphism - ability of objects to take on multiple forms
Abstraction - focusing on essential features and ignoring the rest
Example: A Car class can inherit from a Vehicle class
Example: A Dog class can have a bark() method that overrides the Animal class's makeSound() method
Example: A Shape class can h...
Answering OOP Java design problems
Identify the problem domain and create a class hierarchy
Use encapsulation to hide implementation details
Apply inheritance to reuse code and create subtypes
Implement polymorphism to allow objects to take on multiple forms
Avoid tight coupling and favor composition over inheritance
Use design patterns to solve common problems
Consider SOLID principles for maintainable code
C++ is an extension of C with object-oriented programming features.
C++ supports classes and objects while C does not.
C++ has better support for polymorphism and inheritance.
C++ has a standard template library (STL) which C does not have.
C++ allows function overloading while C does not.
C++ has exception handling while C does not.
Inheritance is a mechanism in object-oriented programming where a new class is created by inheriting properties of an existing class.
Inheritance allows code reusability and saves time and effort in programming.
The existing class is called the superclass or parent class, and the new class is called the subclass or child class.
The subclass inherits all the properties and methods of the superclass and can also add its own...
Default constructor is provided by the compiler if no constructor is defined. Copy constructor creates a new object by copying an existing object.
Default constructor initializes member variables to default values.
Copy constructor creates a new object with the same values as an existing object.
Default constructor is called automatically by the compiler if no constructor is defined.
Copy constructor is called when an obje...
Access specifiers are keywords in object-oriented programming languages that determine the visibility and accessibility of class members.
Access specifiers are used to restrict access to class members.
There are three types of access specifiers: public, private, and protected.
Public members can be accessed from anywhere in the program.
Private members can only be accessed within the class.
Protected members can be accessed...
Library functions are pre-written code that can be reused to perform common tasks.
Library functions save time and effort by providing pre-written code.
They are often included in programming languages or external libraries.
Examples include functions for string manipulation, mathematical calculations, and file input/output.
Library functions can be called from within a program to perform specific tasks.
They can also be cu
DML is Data Manipulation Language used to manipulate data in a database. DLL is Data Definition Language used to define database schema.
DML is used to insert, update, delete data in a database.
DLL is used to create, alter, drop database objects like tables, views, indexes.
DML statements include INSERT, UPDATE, DELETE.
DLL statements include CREATE, ALTER, DROP.
DML affects data in a database, DLL affects the structure of
Primary key uniquely identifies a record in a table, while unique key ensures that all values in a column are distinct.
Primary key can't have null values, while unique key can have one null value.
A table can have only one primary key, but multiple unique keys.
Primary key is used as a foreign key in other tables, while unique key is not.
Example: Primary key - employee ID, Unique key - email address.
A stack is a data structure that follows the Last-In-First-Out (LIFO) principle.
Elements are added to the top of the stack and removed from the top.
Common operations include push (add element) and pop (remove element).
Stacks can be implemented using arrays or linked lists.
Examples include the call stack in programming and the undo/redo feature in text editors.
Assembly is a low-level programming language that is used to write programs that can directly interact with computer hardware.
Assembly language is specific to a particular computer architecture.
It is a low-level language that is difficult to read and write.
Assembly language programs are faster and more efficient than programs written in high-level languages.
Examples of assembly language include x86, ARM, and MIPS.
Assem...
Class access modifiers are keywords used to control the visibility and accessibility of class members.
There are four access modifiers in Java: public, private, protected, and default
Public members can be accessed from anywhere
Private members can only be accessed within the same class
Protected members can be accessed within the same class, subclasses, and same package
Default members can be accessed within the same packa
Serialization is the process of converting an object into a format that can be stored or transmitted.
Serialization is used to save the state of an object and recreate it later.
It is commonly used in network communication to transmit data between different systems.
Examples of serialization formats include JSON, XML, and binary formats like Protocol Buffers.
Deserialization is the opposite process of converting serialized
Normalisation is the process of organizing data in a database to reduce redundancy and improve data integrity.
Normalisation helps to eliminate data redundancy and inconsistencies
It ensures that each piece of data is stored in only one place
It helps to improve data integrity and accuracy
It makes it easier to maintain and update the database
There are different levels of normalisation, each with its own set of rules and g
Truncate removes all data from a table while Delete removes specific data from a table.
Truncate is faster than Delete as it doesn't log individual row deletions.
Truncate resets the identity of the table while Delete doesn't.
Truncate can't be rolled back while Delete can be.
Truncate doesn't fire triggers while Delete does.
DBMS is a software system to manage databases while RDBMS is a type of DBMS that uses a relational model.
DBMS stands for Database Management System while RDBMS stands for Relational Database Management System.
DBMS can manage any type of database while RDBMS uses a relational model to manage data.
DBMS does not enforce any specific data model while RDBMS enforces a relational data model.
Examples of DBMS include MongoDB, ...
Recursion function is a function that calls itself until a base condition is met.
Recursion is a technique used to solve problems by breaking them down into smaller sub-problems.
It involves a function calling itself with a modified input until a base case is reached.
Recursion can be used to solve problems such as factorial, Fibonacci series, and binary search.
Recursion can be implemented using loops as well, but it may ...
I was interviewed in Nov 2020.
Round duration - 95 minutes
Round difficulty - Easy
This round was conducted in Hackerrank portal for a total duration of 95 minutes and was divided into 4 sections.
1st Section : Aptitude Section : 14 questions , 28 minutes
2nd Section : Technical Section : 12 questions , 17 minutes
3rd Section :1 coding Questions : 20 minutes+30 minutes
This Round was Conducted on Hackerrank (Webcam Enabled).
Wong wants to borrow money from Dr. Strange, who insists Wong must win a coin game first. The game involves two players taking turns to remove one coin from either end of a row...
Given an array of coin values, determine the maximum value Wong can obtain by playing a coin game against Dr. Strange.
Wong plays first and can remove one coin from either end of the array on each turn.
The game ends when no coins are left, and the player with the highest total value wins.
Consider different scenarios like having an odd or even number of coins in the array.
Given a sorted array A consisting of N integers, your task is to find the magic index in the given array, where the magic index is defined as an index i such that A[i] = i...
Find the magic index in a sorted array where A[i] = i.
Use binary search to efficiently find the magic index in the sorted array.
Check the middle element of the array and compare it with its index to determine the direction to search.
Repeat the process on the left or right half of the array until the magic index is found or no more elements to search.
Round duration - 120 minutes
Round difficulty - Medium
This was an Online F2F Technical Round conducted on CodePair : Hackerrank. So, Basically You have to Run and Submit ( Pass All Test cases) in the Interview Round also (Like normal Coding Test) in Codepair : Hackerrank & along with that You should have to explain your Code and Approach to the Interviewers.
The Interviewers were helpful and didn't hesitate in giving hints.
Timing - 10:00 A.M to 12:00 P.M
Given a garden that extends along a one-dimensional x-axis from point 0 to point N, your task is to determine the minimum number of taps needed to water the enti...
Find the minimum number of taps needed to water the entire garden using given tap ranges.
Iterate over taps and update the farthest point each tap can reach.
Use a greedy approach to select the tap that can water the farthest point.
If a tap can't water any point, return -1.
Example: For ranges = [3, 4, 1, 1, 0, 0], tap at position 1 can water the entire garden.
Harshit wants to save up money for his first car by depositing money daily in the Ninja bank with a specific increment strategy.
Starting with 1 rupee on the first Monday, th...
Calculate the total money accumulated by Harshit in Ninja bank after N days with a specific increment strategy.
Start with 1 rupee on the first Monday and increase by 1 rupee each day from Tuesday to Sunday.
Each new Monday starts with an additional rupee more than the previous Monday's deposit.
Calculate the total amount of money accumulated after N days for each test case.
Example: For N = 2, total amount is 3 rupees; fo
Round duration - 120 minutes
Round difficulty - Hard
A lot of Variants based on Constraints were asked in this Round. They will ask you to write the final code for every question before Submitting it(run all test cases) so you won’t get any hints after running test cases in the IDE. ( So don’t Submit your code before dry running it on a lot of Test Cases on pen & paper , they allow to use pen & blank paper at the time of Interviews) .The Interviewers tried to trick in case of time complexities even if you gave the best one. So try to be confident.
Imagine you are Harshad Mehta's friend, and you have been given the stock prices of a particular company for the next 'N' days. You can perform up to two buy-and-sell ...
The task is to determine the maximum profit that can be achieved by performing up to two buy-and-sell transactions on a given set of stock prices.
Iterate through the array of stock prices and calculate the maximum profit that can be achieved by buying and selling at different points.
Keep track of the maximum profit after the first transaction and the maximum profit after the second transaction.
Return the sum of these t...
You are given the prices of a particular stock over 'N' consecutive days. Your task is to find the maximum profit that can be obtained by completing at most two transact...
Find the maximum profit that can be obtained by completing at most two transactions of buying and selling a stock.
Iterate through the array of stock prices and calculate the maximum profit that can be obtained by completing at most two transactions.
Keep track of the maximum profit that can be obtained by selling the stock on each day after buying it on a previous day.
Consider all possible combinations of two transactio...
Round duration - 30 minutes
Round difficulty - Easy
This was a Telephonic Round (Audio Call). The HR was friendly and asked basic questions.
The timing was 2:00 PM to 2:30 PM.
Consider 'n' carrots numbered from 1 to 'n' and 'k' rabbits. Each rabbit jumps to carrots only at multiples of its respective jumping factor Aj (i.e., Aj, 2Aj, 3Aj, ...), for all ra...
Calculate uneaten carrots by rabbits with specific jumping factors.
Iterate through each carrot and check if any rabbit jumps on it.
Use the jumping factors to determine which carrots will be eaten.
Subtract the eaten carrots from the total to get the uneaten carrots.
Tip 1 : Make sure that you are thorough with CS concepts beforehand.
Tip 2 : Even when you are explaining the approach to a question, try to parallelly think about how you would code it.
Tip 3 : Read the previous interview experiences. It would give a fair idea of the kind of questions one should expect.
Tip 4 : For a company like DE Shaw, practicing medium and hard difficulty level coding questions would be the way to go.
Tip 5 : Practice atleast 200 questions from coding platforms like CodeZen, LeetCode, Interviewbit as they contain common interview questions.
Tip 1 : Mention atleast 1 project and past work experience as it sets good impression.
Tip 2 : Keep your resume up to date for the role you are applying.
Tip 3 : Try to keep your resume of 1 Page.
based on 3 reviews
Rating in categories
Senior Software Developer
5
salaries
| ₹0 L/yr - ₹0 L/yr |
Bajaj Finserv
HDFC Life
PolicyBazaar
L&T Finance