Be the first one to contribute and help others!
I appeared for an interview before Dec 2020.
Round duration - 60 Minutes
Round difficulty - Medium
This was a Data Structures and Algorithms round with preety good questions . I was expected to come up with an efficient approach and code it as well .
Your house is located at the origin (0,0) of a 2-D plane. There are N
neighbors living at different points on the plane. Your goal is to visit exactly K
neighb...
Find the K closest points to the origin in a 2-D plane using Euclidean Distance.
Calculate the Euclidean Distance of each point from the origin
Sort the points based on their distances
Return the first K points as the closest neighbors
Given a sorted array of 'N' integers, your task is to generate the power set for this array. Each subset of this power set should be individually sorted.
A power set of a set 'ARR' i...
Generate the power set of a sorted array of integers with individually sorted subsets.
Use recursion to generate all possible subsets by including or excluding each element in the array.
Sort each subset before adding it to the power set.
Handle base cases for empty array and single element array.
Ensure the subsets are unique by using a set data structure.
Time complexity can be exponential due to the nature of generating
Round duration - 50 Minutes
Round difficulty - Hard
This was also a DSA round where I was asked to code only one of the questions but I eventually ended up coding both as I had some spare time and explained my approches very smoothly to the interviewer . This round went preety well .
Convert a string representing a Roman numeral into its integer equivalent and return the result.
Roman numerals are represented by seven different symbol...
Convert a Roman numeral string to its integer equivalent.
Create a mapping of Roman numeral symbols to their integer values.
Iterate through the input string and add the corresponding integer values.
Handle cases where subtraction is needed (e.g., IV = 4, IX = 9).
You are given an integer array 'ARR' of size 'N' and an integer 'S'. Your task is to find and return a list of all pairs of elements where each sum of a pair equals 'S'.
Find pairs of elements in an array that sum up to a given value, sorted in a specific order.
Iterate through the array and for each element, check if the complement (S - current element) exists in a hash set.
If the complement exists, add the pair to the result list.
Sort the result list based on the criteria mentioned in the question.
Return the sorted list of pairs.
Round duration - 50 Minutes
Round difficulty - Medium
This was also a DSA round with 2 questions . One was implementation heavy and the other was related to recursion and so I handled it carefully so that my code does not run into TLE or Segmentation Fault.
You are provided with a string expression
consisting of characters '+', '-', '*', '/', '(', ')' and digits '0' to '9', representing an arithmetic express...
Evaluate arithmetic expressions in infix notation with given operators and precedence rules.
Parse the infix expression to postfix using a stack.
Evaluate the postfix expression using a stack.
Handle operator precedence and parentheses while evaluating.
Ensure no division by zero cases and operands fit in 32-bit integer.
You are given a sorted integer array ARR
of size N
. Your task is to remove the duplicates in such a way that each element appears only once. The outpu...
Remove duplicates from a sorted array in-place with O(1) extra memory.
Use two pointers - one for iterating through the array and another for placing unique elements.
Compare current element with next element to identify duplicates and skip them.
Update array in-place by moving unique elements to the front.
Return the length of the array after removal of duplicates.
Round duration - 50 Minutes
Round difficulty - Medium
This was a typical System Design round where I was asked about the various features of Facebook and what sort of data structures and algorithms are used in implementing them .
Facebook stores likes and dislikes using a combination of databases and algorithms.
Likes and dislikes are stored in databases such as MySQL or Cassandra.
Algorithms are used to analyze user behavior and recommend content based on likes and dislikes.
User interactions with posts, pages, and ads are tracked to determine likes and dislikes.
Likes and dislikes may also be used to personalize the user's feed and target ads mor
Facebook implements graph search using a graph database to efficiently search for connections between users and their interests.
Facebook uses a graph database to store connections between users, pages, groups, etc.
The graph search algorithm traverses the graph to find relevant connections based on user queries.
It takes into account factors like user relationships, interests, and interactions to provide personalized sea
Round duration - 50 Minutes
Round difficulty - Medium
This was a preety intense round as I was grilled more on my System Design concepts but eventually I was able to asnwers all the questions with some help from the interviewer.
Hadoop is a framework for distributed storage and processing of large data sets.
Hadoop is used for storing and processing big data across a distributed network of computers.
It is based on the MapReduce programming model, which allows for parallel processing of data.
Hadoop consists of HDFS for storage and YARN for resource management.
It is used for tasks like data warehousing, log processing, recommendation systems, and...
Facebook Chat works by using a combination of websockets, long polling, and push technology to deliver real-time messaging.
Facebook Chat uses websockets for real-time communication between the client and server.
Long polling is used to check for new messages when websockets are not supported.
Push technology is used to notify users of new messages even when the chat window is not open.
Messages are stored in a database an...
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.
posted on 21 Feb 2015
Quantifiable factors to rate cab drivers for company's purpose
Customer ratings and feedback
Number of completed trips
Average trip duration
Percentage of on-time pickups
Accident and traffic violation history
Vehicle cleanliness and maintenance
Driver punctuality and professionalism
The criterion for choosing between Yuvraj Singh and Stuart Binny for the World Cup squad would be based on their recent performance, fitness, and team balance.
Evaluate recent performance of both players
Assess fitness levels of both players
Consider team balance and required skill sets
Analyze pitch and weather conditions of the tournament
Take into account the opposition teams and their strengths and weaknesses
I applied via Campus Placement and was interviewed in Dec 2016. There were 4 interview rounds.
Given a 2D matrix with doors and walls, fill distance matrix with minimum distance to the nearest door.
Iterate through the matrix and find the doors
Use Breadth-First Search (BFS) to calculate the minimum distance from each cell to the nearest door
Update the distance matrix with the minimum distances
Find kth smallest element in unordered array with O(1) space
Use the QuickSelect algorithm to partition the array and find the kth smallest element
Choose a pivot element and partition the array into two subarrays
Recursively partition the subarray that contains the kth smallest element
Repeat until the pivot element is the kth smallest element
Time complexity: O(n) average case, O(n^2) worst case
To find friends of friends who are not already friends with you, we can first find your friends and then their friends excluding yourself and your friends.
Get your list of friends
For each friend, get their list of friends
Exclude yourself and your friends from the final list of friends of friends
I appeared for an interview before Apr 2021.
Round duration - 60 minutes
Round difficulty - Medium
It started with an informal talk after he gave his introduction. We talked about the cyclone that was going to be there and what I did in my internship and my previous projects. Then we moved to questions. After solving both questions he asked if I had questions.
Given an array of distinct positive integers and a number 'K', your task is to find the K'th largest element in the array.
Array: [2,1,5,6,3,8], K ...
Find the Kth largest element in an array of distinct positive integers.
Sort the array in non-increasing order
Return the Kth element from the sorted array
Handle multiple test cases
Consider a grid containing oranges. Each cell in this grid can hold one of three integer values:
The task is to determine the minimum time required for all fresh oranges to become rotten in a grid.
Create a queue to store the rotten oranges and their time of rotting.
Iterate through the grid to find the initial rotten oranges and add them to the queue.
Perform BFS by popping each rotten orange from the queue, rot adjacent fresh oranges, and add them to the queue with updated time.
Continue until the queue is empty, ke...
Round duration - 45 minutes
Round difficulty - Easy
This was a design round.
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.
posted on 20 Jan 2015
The code inserts a given string at the specified position in a compact data structure that stores strings sequentially.
To insert the string at the ith place, we need to shift all the strings after the ith position by the length of the new string.
We can use a loop to iterate through the data structure and find the ith position.
After finding the ith position, we can calculate the new length of the data structure and allo...
Constructing parse tree for ((a+b)*c)/d using data structures.
Use stack data structure to keep track of operators and operands.
Start with the innermost parentheses and work outwards.
Create a node for each operator and operand and link them together.
The root node will be the final result of the expression.
Example: ((a+b)*c)/d can be represented as / -> * -> + -> a, b, c, d.
Merge 'n' identical linked lists from 'n' salespersons to handle insertions, deletions, and updates.
Iterate through each linked list and merge them into a single linked list
Handle insertions, deletions, and updates by traversing the merged list and making necessary changes
Repeat the process for the next day by resetting the merged list
posted on 23 Mar 2015
Amazon
Microsoft Corporation