Orcale Health Interview Experience
Summary
I recently experienced an interview process with Oracle Health, which included multiple rounds covering data structures, algorithms, system design, and behavioral questions.
Full Experience
My interview journey with Oracle Health commenced with a screening round focused on Data Structures and Algorithms. I was given two DSA problems, one of which was the classic Coin Change problem, and the other was related to counting sort. After successfully clearing the screening, I moved on to Round 1.
Round 1 was a mixed bag, testing both my Java knowledge and problem-solving skills. We discussed the differences between Java's abstract classes and interfaces, a fundamental concept. Following that, I tackled the LeetCode Median of Two Sorted Arrays problem. The interviewer also delved into my understanding of microservices, their advantages, REST APIs, and specific CRUD operations using an employee records example. We touched upon various types of pagination and the distinction between forbidden and unauthorized status codes. Finally, I was asked about the Java Stream API and how to extract the first 3 minimum and 3 maximum elements using it.
Round 2 was dedicated to High-Level Design (HLD). My task was to design a Metric and Logging Platform, which involved outlining the architecture and key components.
The third round was a "Bartender" round, which was essentially a behavioral interview. I was asked to share experiences about my most challenging project, a time when I took a risk and failed, how I handled negative feedback from a manager, an instance where I went beyond my role definition for a customer, and a situation where I set a personal goal and achieved it.
Finally, Round 4 was with the Hiring Manager, primarily focusing on a detailed discussion about my previous projects and a high-level system design question related to a Hospital Management System.
Interview Questions (17)
Coin Change Problem
Given an array of coin denominations and a target amount, find the minimum number of coins needed to make up that amount.
Difference between Java Abstract Class and Interface
Explain the key differences between abstract classes and interfaces in Java, including their use cases, multiple inheritance, and method implementations.
Median of Two Sorted Arrays
Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).
What are Microservices and their Advantages?
Explain what microservices architecture is and detail its advantages over monolithic architectures.
Understanding REST APIs
Explain what REST APIs are, their principles, and common use cases.
CRUD REST APIs with Employee Records Example
Describe the typical CRUD (Create, Read, Update, Delete) operations using REST APIs, providing a concrete example with employee records.
Types of Pagination
Discuss different types of pagination strategies used in web development and data retrieval.
Difference between HTTP 401 Unauthorized and 403 Forbidden
Explain the distinction and appropriate use cases for HTTP status codes 401 Unauthorized and 403 Forbidden.
Introduction to Java Stream API
Explain the purpose and core concepts of the Java Stream API.
Extracting Min/Max Elements using Java Stream API
Demonstrate how to retrieve the first 3 minimum and 3 maximum elements from a collection using the Java Stream API.
High-Level Design: Metric and Logging Platform
Design a scalable and reliable high-level architecture for a metric and logging platform.
Most Challenging Project
Describe your most challenging project, the obstacles you faced, and how you overcame them.
Time You Took a Risk and Failed
Share an experience where you took a significant risk that ultimately did not succeed. What did you learn from it?
Handling Negative Feedback from Manager
Describe a situation where you received negative feedback from your manager and how you responded to it.
Going Beyond Role Definition for Customer
Share an instance where you went outside of your defined role to meet a customer's requirement or solve a customer's problem.
Time You Set a Goal for Yourself
Describe a time when you set a significant goal for yourself and what steps you took to achieve it.
System Design: Hospital Management System
Design a high-level system for a Hospital Management System, outlining its key features and architectural considerations.