I applied through college or university. The process took 1 day. I interviewed at Oracle (Hyderabad) in Feb 2024
Interview
It was well and good and I got rejected despite answering all the questions. But the interview went well and the interviewer was also cool and I attended it on campus for the role of software engineer
I applied through college or university. The process took 1 week. I interviewed at Oracle (Kharagpur, West Bengal) in Jul 2024
Interview
1. The Two Eggs and 100-Floor Building Puzzle
Problem Statement:
You are given two eggs and a 100-floor building. The challenge is to determine the highest floor from which you can drop an egg without it breaking, using the least number of drops in the worst-case scenario.
Approach:
Naive Solution: Drop an egg from each floor sequentially until it breaks. This would require a maximum of 100 drops.
Improved Strategy: Use binary search to minimize drops. However, this can still result in a high number of drops in the worst-case scenario.
Optimal Solution: The optimal strategy involves a mathematical approach to minimize the number of drops. The idea is to drop the first egg from floors in decreasing increments, then use the second egg to test floors within that increment.
Optimal Strategy Explained:
Start by dropping the first egg from the 10th floor, then the 19th, 27th, and so on, decreasing the increment by one each time. The floors to drop from are determined by the formula: x, x + (x-1), x + (x-1) + (x-2), ... where x is the starting floor increment.
When the first egg breaks, you then use the second egg to test each floor one by one within the last interval.
Mathematical Justification:
The increments decrease by one each time to ensure that the sum of drops covers all floors up to 100 with the least number of total drops.
2. Linked List Question Involving a Loop
Problem Statement:
You are given a linked list that may contain a loop. The task is to detect if a loop exists and, if so, find the starting node of the loop.
Approach:
Detecting the Loop:
Use Floyd’s Cycle-Finding Algorithm, also known as the tortoise and hare algorithm.
Initialize two pointers, slow and fast. Move slow by one node and fast by two nodes in each step.
If there is a loop, the slow and fast pointers will eventually meet inside the loop.
Finding the Starting Node of the Loop:
Once the loop is detected, keep one pointer at the meeting point and move the other pointer to the head of the linked list.
Move both pointers one step at a time; the point at which they meet will be the start of the loop.
Detailed Steps:
Initialize two pointers, slow and fast, at the head of the list.
Move slow one step and fast two steps in each iteration.
If slow equals fast, a loop is detected.
To find the loop’s starting node, initialize one pointer to the head and keep the other at the meeting point.
Move both pointers one step at a time; the node at which they meet is the loop’s starting node.
Interview questions [1]
Question 1
two eggs and a 100 floor building best possible method to find from which floor egg will break
I applied online. The process took 3 weeks. I interviewed at Oracle (Dublin, Dublin) in Apr 2024
Interview
HackerRank interview with a Senior team member - Medium DSA problem (Valid parentheses)
Loop interview - 4 rounds
2 DSA rounds (LRU cache, String Prefix)
System Design interview (URL Shortener)
Behavioral inteviews
Interview questions [1]
Question 1
Valid parentheses
Design a LRU cache
String Prefix