i
Oracle
Filter interviews by
I applied via Referral and was interviewed in Feb 2024. There were 2 interview rounds.
Basic dp and graph questions
Calculate the sum of all left leaf nodes in a binary tree.
Traverse the binary tree using depth-first search (DFS)
Check if a node is a leaf node and if it is a left child
Add the value of the left leaf node to the sum
Recursively traverse the left and right subtrees
I applied via LinkedIn and was interviewed in Nov 2022. There were 3 interview rounds.
General questions like reasoning and maths
General DSA questions were asked like Linked list etc
What people are saying about Oracle
I applied via Campus Placement and was interviewed before Oct 2022. There were 4 interview rounds.
Aptitude and technical questions
2 coding questions with choice of language
Oracle interview questions for designations
To merge two double linked lists, traverse to the end of the first list and connect it to the head of the second list.
Traverse to the end of the first list
Connect the last node of the first list to the head of the second list
If the lists are singly linked, we need to traverse to the end of the first list and connect it to the head of the second list. But we also need to keep track of the last node of the first list to ...
A dynamic data structure for storing images as arrays of strings.
Use a 2D array of strings to represent the image pixels.
Implement resizing methods to adjust the size of the image.
Include methods for adding, removing, and modifying pixels.
Consider using compression techniques to reduce memory usage.
Support various image formats such as JPEG, PNG, and BMP.
Copying fixed number of bytes from source to destination and its test cases.
Ensure source and destination are not overlapping
Check if the number of bytes to be copied is greater than the available space in the destination
Handle cases where source or destination is NULL
Test cases should cover all possible scenarios including edge cases
An optimized Fibonacci program computes Fibonacci numbers efficiently.
Use memoization to store previously computed values.
Use iterative approach instead of recursive approach.
Use bitwise operators to perform arithmetic operations faster.
Use matrix exponentiation to compute Fibonacci numbers in logarithmic time.
Virtual functions can cause problems due to their dynamic nature, but can be solved using various techniques.
Use pure virtual functions to ensure all derived classes implement the function
Use interface classes to define a common interface for all derived classes
Use smart pointers to manage memory and avoid memory leaks
Use virtual destructors to ensure proper destruction of objects
Avoid excessive use of virtual function
Find an index in array where sum of elements on left side is equal to sum of elements on right side.
Loop through array and calculate sum of all elements
Then loop through array again and check if sum of elements on left side is equal to sum of elements on right side
Return the index if found, else return -1
Find minimum number of jumps required to reach end of array with max moves in right direction at each index.
Use dynamic programming approach to solve the problem
Maintain an array to store minimum number of jumps required to reach each index
Traverse the array and update the minimum number of jumps for each index
Return the minimum number of jumps required to reach the end of array
Tournament tree is a binary tree where each node represents a match between two players/teams.
Tournament tree is used in sports tournaments to determine the winner.
The leaf nodes represent the players/teams and the internal nodes represent the matches.
The winner of each match is the node with the higher score.
Code can be written using a recursive function to traverse the tree and determine the winner.
Find 2 maximum elements in array in O(n+log(n)) comparison
Use divide and conquer approach
Divide array into two halves
Recursively find max elements in each half
Compare the two max elements to find the overall max elements
Find row with maximum 1s in a sorted 2D array of 0s and 1s.
Use binary search to find the first occurrence of 1 in each row.
Calculate the number of 1s in each row using the index found in step 1.
Keep track of the row with maximum number of 1s.
Time complexity: O(m log n), where m is the number of rows and n is the number of columns.
Efficiently check if a number is present in an array where each element differs by 1.
Use binary search to find the element in the array
Calculate the difference between the middle element and the first element
If the difference is equal to the index of the middle element minus the index of the first element, then the left half of the array is consecutive
If the difference is not equal, then the right half of the array is ...
Microsoft Excel
Add more chart types (p1)
Improve collaboration features (p2)
Enhance data analysis tools (p3)
Integrate with more external data sources (p4)
Improve error handling and debugging (p5)
Program to rearrange shuffled 16 squares to get original big square
Create a 4x4 matrix to represent the big square and fill it with shuffled squares
Loop through the matrix and check if each square is in the correct position
If a square is not in the correct position, swap it with the square in the correct position
Repeat until all squares are in the correct position
The first declaration casts i to int pointer and dereferences it, while the second declaration casts the address of i to int pointer and dereferences it.
The first declaration assumes i is already an int pointer.
The second declaration takes the address of i and casts it to an int pointer.
The first declaration may cause a segmentation fault if i is not an int pointer.
The second declaration may cause unexpected behavior i...
Minimum comparisons needed to find median in unsorted array of size n
For odd n, median is the middle element. For even n, median is the average of middle two elements
Minimum comparisons needed for odd n is (n-1)/2. For even n, it is n/2
Various sorting algorithms can be used to find median in an unsorted array
Time complexity to find an element in an alternatively sorted array.
The time complexity will be O(log n) using binary search.
Check the middle element and compare with the target element.
If the middle element is greater than the target, search in the left half of the array.
If the middle element is smaller than the target, search in the right half of the array.
Repeat until the target element is found or the array is exha
Typing amazon.com in the browser's address bar takes you to Amazon's website.
The browser sends a request to the DNS server to resolve the domain name 'amazon.com' to an IP address.
The browser establishes a TCP connection with the server at the resolved IP address.
The browser sends an HTTP request to the server for the homepage of Amazon's website.
The server responds with the HTML code for the homepage, which the browse
The transaction process involves transferring funds from one account to another. A scheme is designed to ensure secure and accurate transfers.
Verify the availability of sufficient funds in the sender's account
Authenticate the sender's identity and authorization for the transaction
Deduct the transfer amount from the sender's account balance
Initiate a request to transfer the funds to the recipient's account
Validate the r...
When a server receives an HTTP request, it interacts with the operating system, handles threading, thread pooling, synchronization, and hashing.
Upon receiving an HTTP request, the server creates a new thread to handle the request.
The operating system manages the allocation of system resources to the server process.
Thread pooling is used to efficiently manage and reuse threads for handling multiple requests.
Synchronizat...
ACID properties ensure reliability and consistency in database transactions.
ACID stands for Atomicity, Consistency, Isolation, and Durability.
Atomicity ensures that a transaction is treated as a single unit of work, either all or none of its operations are executed.
Consistency ensures that a transaction brings the database from one valid state to another.
Isolation ensures that concurrent transactions do not interfere w...
To find kth-smallest element in BST, perform inorder traversal and return the kth element.
Perform inorder traversal of the BST
Maintain a counter variable to keep track of the number of nodes visited
When the counter reaches k, return the current node's value
If k is greater than the number of nodes in the BST, return null or throw an exception
Find total possible valid unique combinations of given number of pairs of parenthesis without duplicity.
Use recursion to generate all possible combinations
Check for validity of each combination using a stack
Use a set to avoid duplicity
Construct a binary tree from in-order traversal with nodes greater than left and right child.
The root node will be the maximum value in the in-order traversal
Recursively construct the left and right subtrees using the left and right portions of the in-order traversal
Repeat until all nodes are added to the tree
An algorithm to find top 10 trending words inserted by users in sites like Twitter.
Collect a large dataset of tweets
Tokenize the tweets into individual words
Remove stop words and punctuation
Count the frequency of each word
Sort the words by frequency in descending order
Select the top 10 words
Find the first occurrence of 1 in a sorted binary array.
Use binary search to find the first occurrence of 1.
If the mid element is 1, check if it's the first occurrence or if the element before it is 0.
If the mid element is 0, search in the right half of the array.
If the mid element is 1 and the element before it is also 1, search in the left half of the array.
Remove duplicates from a string in O(n) without using hash
Use an array of boolean values to keep track of characters already seen
Iterate through the string and mark characters as seen in the array
If a character has already been seen, remove it from the string
Find the first occurrence of 1 in a sorted infinite binary tree.
Use binary search to traverse the tree.
If the current node is 1, check if its left child is also 1. If yes, move to the left subtree, else return the current node.
If the current node is 0, move to the right subtree.
Repeat until the first occurrence of 1 is found or the tree is exhausted.
based on 4 interviews
1 Interview rounds
based on 2 reviews
Rating in categories
Senior Software Engineer
2.3k
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Consultant
2.1k
salaries
| ₹0 L/yr - ₹0 L/yr |
Principal Consultant
2k
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Member of Technical Staff
1.8k
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Application Engineer
1.4k
salaries
| ₹0 L/yr - ₹0 L/yr |
SAP
MongoDB
Salesforce
IBM