
Oracle


20+ Oracle Member Technical Staff Interview Questions and Answers
Q1. Regular Expression Match Problem Statement
Given a string str
and a string pat
, where str
may contain wildcard characters '?' and '*'.
If a character is '?', it can be replaced with any single character. If a c...read more
The task is to determine if it is possible to transform a string to match another string using wildcard characters '?' and '*'.
Iterate through both strings simultaneously, handling wildcard characters '?' and '*' accordingly.
Use dynamic programming to keep track of matching subproblems.
Return true if at the end both strings match, false otherwise.
Q2. Merge Sort Problem Statement
Given a sequence of numbers ARR
, your task is to return a sorted sequence of ARR
in non-descending order using the merge sort algorithm.
Explanation:
The Merge Sort Algorithm is a D...read more
Implement the merge sort algorithm to sort a given sequence of numbers in non-descending order.
Divide the input array into two halves recursively until each subarray has only one element.
Merge the sorted subarrays back together in non-descending order.
Time complexity of merge sort is O(n log n) and space complexity is O(n).
Q3. Implementing a Priority Queue Using Heap
Ninja has been tasked with implementing a priority queue using a heap data structure. However, he is currently busy preparing for a tournament and has requested your ass...read more
Implement a priority queue using a heap data structure by completing the provided functions.
Implement push() function to insert elements into the queue.
Implement pop() function to remove the largest element from the queue.
Implement getMaxElement() function to return the largest element.
Implement isEmpty() function to check if the queue is empty.
Q4. Given a social networking graph find the density of a person. Density is how many friends he had interaction with him and the person by the total number of friends for that person
Density of a person in a social networking graph is the ratio of friends who interacted with the person to the total number of friends.
Calculate the number of friends who interacted with the person.
Calculate the total number of friends for that person.
Divide the number of interacting friends by the total number of friends to get the density.
Density = (Number of interacting friends) / (Total number of friends)
Q5. You are given a list of n numbers. How would you find the median in this stream. You are given an array. Give an algorithm to randomly shuffle it.
Algorithm to find median in a stream of n numbers
Sort the list and find the middle element for odd n
For even n, find the average of middle two elements
Use a min-heap and max-heap to maintain the smaller and larger half of the stream respectively
Insert new elements into the appropriate heap and balance the heaps to ensure median is always at the top
std::list from the C++ Standard Template Library (STL) allows insertion and removal of data from anywhere.
std::list is a doubly linked list implementation in STL
Elements can be inserted or removed from anywhere in the list efficiently
Example: std::list<int> myList; myList.insert(myList.begin(), 5); myList.erase(myList.begin());
Q7. Given 2 arrays of n and n - 1elements which have n - 1 in common find the unique elements
Given 2 arrays with n and n-1 elements, find the unique element in the larger array.
Loop through the larger array and check if each element is present in the smaller array.
If an element is not present in the smaller array, it is the unique element.
Return the unique element.
Example: arr1 = ['a', 'b', 'c', 'd'], arr2 = ['a', 'b', 'c'], unique element = 'd'
Classful addressing uses fixed length subnet masks, while classless addressing allows for variable length subnet masks.
Classful addressing divides IP addresses into classes (A, B, C, D, E) with fixed subnet masks.
Classless addressing allows for more efficient use of IP addresses by using variable length subnet masks.
Classful addressing can lead to wastage of IP addresses, while classless addressing is more flexible and scalable.
Classful addressing is outdated and not commonly...read more
The various types of inheritance in Object-Oriented Programming include single, multiple, multilevel, hierarchical, and hybrid inheritance.
Single inheritance: a class can inherit from only one base class.
Multiple inheritance: a class can inherit from multiple base classes.
Multilevel inheritance: a class can inherit from a class which is also derived from another class.
Hierarchical inheritance: multiple classes can inherit from a single base class.
Hybrid inheritance: a combina...read more
Q10. Given a map of coffee shops and a person on the map give the closest n coffee shops to him
Given a map of coffee shops and a person, find the closest n coffee shops to him.
Use the person's location and calculate the distance to each coffee shop on the map.
Sort the coffee shops by distance and return the closest n.
Consider using a data structure like a priority queue to efficiently find the closest coffee shops.
Q11. What is the process for designing a thread-safe concurrent transaction application?
Designing a thread-safe concurrent transaction application involves careful consideration of synchronization, locking mechanisms, and data consistency.
Identify critical sections of code that need to be synchronized to prevent race conditions
Use synchronization mechanisms such as locks, semaphores, or atomic operations to ensure mutual exclusion
Consider using transactional memory or software transactional memory for managing concurrent transactions
Implement data structures tha...read more
A zombie process is a process that has completed execution but still has an entry in the process table.
Zombie processes occur when a child process finishes execution before the parent process can collect its exit status.
The zombie process remains in the process table until the parent process calls wait() system call to read its exit status.
Zombie processes do not consume any system resources but can clutter the process table if not properly handled.
Thrashing in an operating system occurs when the system is spending more time swapping data between memory and disk than actually executing tasks.
Occurs when the system is overwhelmed with too many processes demanding memory
Results in excessive swapping of data between RAM and disk
Leads to a decrease in system performance as CPU spends more time on swapping than executing tasks
Can be alleviated by optimizing memory usage or adding more physical memory
Example: A system running...read more
TCP is a connection-oriented protocol that provides reliable data delivery, while UDP is a connectionless protocol that offers faster but less reliable data transmission.
TCP is reliable as it ensures all data packets are received in order and retransmits any lost packets.
UDP is faster as it does not establish a connection before sending data and does not guarantee delivery of packets.
TCP is used for applications that require high reliability and accuracy, such as web browsing...read more
Q15. What are the key components and considerations for low-level design in a healthcare system?
Key components and considerations for low-level design in a healthcare system
Identifying the different modules and components of the system such as patient management, appointment scheduling, billing, etc.
Defining the interactions between these components and how data flows between them
Ensuring data security and privacy measures are in place to protect sensitive patient information
Optimizing performance and scalability to handle a large volume of data and users
Implementing fa...read more
Q16. Given 2 arrays one of n elements and another of n - 1 elements
Given 2 arrays, one with n elements and another with n-1 elements, answer the question.
Compare the elements of both arrays to find the missing element.
Use a loop or a built-in function to iterate through the arrays.
Consider edge cases where the missing element is at the beginning or end of the array.
Map uses a data structure called Hash Table for storing key-value pairs.
Hash Table is a data structure that allows for fast retrieval of values based on keys.
It uses a hash function to map keys to their corresponding values in an array.
Common implementations include HashMap in Java and dict in Python.
A thread in an operating system is a basic unit of CPU utilization, representing a single sequence of execution within a process.
Threads share the same memory space within a process.
Threads can communicate with each other more easily than processes.
Examples of operating systems that support threads include Windows, Linux, and macOS.
C++ supports polymorphism through virtual functions and inheritance.
C++ supports polymorphism through virtual functions and inheritance
Virtual functions allow a function to be overridden in a derived class
Base class pointers can point to derived class objects and call overridden functions
Example: class Animal { virtual void speak() { cout << 'Animal speaks'; } }; class Dog : public Animal { void speak() { cout << 'Dog barks'; } }; Animal* a = new Dog(); a->speak(); // Output:...read more
Q20. Xpath and css for web elements
Xpath and CSS are used to locate web elements on a webpage.
Xpath is a language used to navigate through the XML structure of a webpage.
CSS selectors are used to target specific HTML elements on a webpage.
Xpath can be used to locate elements based on their attributes, text content, or position on the page.
CSS selectors can be used to locate elements based on their tag name, class, ID, or attributes.
Both Xpath and CSS can be used in automated testing frameworks like Selenium to...read more
Design a WhatsApp chat system for real-time messaging.
Use WebSocket for real-time communication
Implement end-to-end encryption for security
Allow users to send text, images, videos, and documents
Include features like group chats, read receipts, and message forwarding
Q22. What is dynamic programming?
Dynamic programming is a technique to solve complex problems by breaking them down into smaller subproblems.
It involves solving subproblems only once and storing their solutions for future use.
It is used in optimization problems, such as finding the shortest path or maximizing profit.
Examples include the knapsack problem and the Fibonacci sequence.
It can be implemented using either a top-down or bottom-up approach.
Dynamic programming requires both optimal substructure and ove...read more
Q23. What is garbage collection?
Garbage collection is an automatic memory management process.
It frees up memory that is no longer being used by the program.
It helps prevent memory leaks and crashes caused by running out of memory.
Examples include Java's garbage collector and Python's reference counting.
Garbage collection can have an impact on performance and should be tuned accordingly.
Q24. Design and explain ext file system
Ext file system is a widely used file system in Linux for organizing and managing files on storage devices.
Ext stands for Extended File System
Supports features like journaling, access control lists, and extended attributes
Uses inodes to store metadata about files and directories
Supports different block sizes for efficient storage allocation
Q25. Find middle element of linkedlist
To find the middle element of a linked list, use the slow and fast pointer approach.
Initialize two pointers, slow and fast, at the head of the linked list.
Move the slow pointer by one step and the fast pointer by two steps until the fast pointer reaches the end of the list.
The position of the slow pointer will be the middle element of the linked list.
Q26. Singleton DP to write
Singleton design pattern is a creational design pattern that restricts the instantiation of a class to a single object.
Singleton pattern ensures that only one instance of a class is created and provides a global point of access to it.
It is often used in scenarios where a single instance of a class is required to control actions or resources.
The Singleton pattern involves a static member in the class, a private constructor, and a static method that returns the instance of the ...read more
More about working at Oracle







Top HR Questions asked in Oracle Member Technical Staff
Interview Process at Oracle Member Technical Staff

Top Member Technical Staff Interview Questions from Similar Companies





Reviews
Interviews
Salaries
Users/Month

