Oracle PMTS Interview Experience

oracle logo
oracle
PMTSBangalore
July 5, 20253 reads

Summary

I interviewed for a PMTS role at Oracle in Bangalore and successfully received an offer. The interview process included several technical rounds focusing on Data Structures & Algorithms, system design discussions based on my resume, and specific coding challenges.

Full Experience

Phone Screening (VP Round)
Duration: ~15 minutes

The VP briefly reviewed my resume, focusing on my experience with notification services (a key requirement for the role).

Assessed my knowledge in relevant areas but did not dive deep.

Shortly after, I was scheduled for the technical rounds.

Technical Round 1 (DSA Focused)
Introduction: Brief discussion about my background.

Problem 1: https://leetcode.com/problems/merge-intervals/description/ (LeetCode)

Problem 2: Find the duplicate in an array of size n with elements in [0, n-1].

Expected solution: Efficient swapping approach (similar to https://leetcode.com/problems/find-the-duplicate-number/description/).

Technical Round 2 (Resume Deep Dive + DSA)
First 30 mins: In-depth discussion on my resume, covering:

  • Redis Cache (eviction policies, clustering)
  • Kafka (consumer groups, partitioning, offset management)
  • REST API Security (OAuth 2.0, JWT, rate limiting)

High-level system design aspects of past projects.

DSA Problems:

Problem 1: Validate parentheses in a string (basic () case).

Follow-up: Extended to multiple types ((), [], {}).

Problem 2: Given an employee hierarchy (tree structure), find all reports under each manager.

Follow-up: Reverse lookup (find all managers for a given employee).

Technical Round 3 (Resume Grilling + Coding)
Resume Discussion: Focused on my experience with:

  • Email Notification Service (SMTP, DLQ handling)
  • Kafka (message retries, ordering guarantees)
  • Blue-Green Deployment (strategies, advantages)

High availability, throughput, and latency optimizations.

Coding Problem: Multiply two very large integers represented as strings (e.g., "123456789" * "987654321").

Constraints: No use of BigInteger or language libraries—had to implement manual multiplication.

Final Discussion & Offer
After clearing all rounds, had a follow-up call with the VP within a day to discuss:

  • Project alignment
  • Salary expectations
  • Background verification (BGV) process

Final Verdict: Hired!

Offer details: https://leetcode.com/discuss/post/6893969/oracle-pmts-bangalore-by-anonymous_user-j50z/

Interview Questions (5)

Q1
Merge Intervals
Data Structures & Algorithms

Merge overlapping intervals given a collection of intervals.

Q2
Find Duplicate in Array (0 to n-1)
Data Structures & Algorithms

Given an array of size n with elements in the range [0, n-1], find the duplicate number. The expected solution involves an efficient swapping approach.

Q3
Validate Parentheses
Data Structures & Algorithms

Validate if the parentheses in a string are balanced and correctly matched. Initially for basic '()' cases, then extended to multiple types: '()', '[]', '{}'.

Q4
Employee Hierarchy Reports and Managers
Data Structures & Algorithms

Given an employee hierarchy represented as a tree structure:

  • Find all direct and indirect reports under each manager.
  • Implement a reverse lookup to find all managers (direct and indirect) for a given employee.
Q5
Multiply Large Integers as Strings
Data Structures & Algorithms

Implement a function to multiply two very large integers represented as strings (e.g., "123456789" * "987654321"). The solution must not use BigInteger or any language-specific large number libraries; manual multiplication logic is required.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!