Oracle OCI IC3 (Senior Member of Technical Staff - SMTS) | Bangalore | July 2025 | Selected

oracle logo
oracle
IC3 (Senior Member of Technical Staff - SMTS)Bangalore
July 15, 20253 reads

Summary

I successfully navigated multiple technical and behavioral rounds, including DSA, System Design, and Java-specific questions, ultimately receiving a selection for the Senior Member of Technical Staff (SMTS) role at Oracle OCI, Bangalore.

Full Experience

I saw a post by recruiter on LinkedIn and contacted him via InMail. The recruiter contacted within few days asking basic details. Then radio silence for 3 weeks and then got a call from scheduling team for scheduling interviews

Screening Round Taken by a Principle MTS. I was asked 1 DSA question: Q: https://leetcode.com/problems/divide-two-integers/description/ Solved fully


Got a call from recruiter within 2 days for scheduling LOOP rounds:

Technical Round 1 (Taken by SMTS):

Round started with basic Java QUestions:

  • Polymorphism in Java, how to acheive
  • Composition & Association
  • Aggregation
  • Aggregation vs Composition

Then I was asked a DSA question:

  • Longest Subarray with 0 Sum - question from GFG

Lastly, I was told to draw the HLD for an ECommerce website like Amazon. Expectations:

  • Functional Requirements
  • Non Functional Requirements
  • DB Schema
  • DB resilient design
  • Services
  • Diagram

Bartender Round:

Taken by someone from different team. I was asked multiple behavioural questions. The round went almost 45 mins

Tecnical Round 2 (Taken by Director of Engineering):

Few behavioural Questions.

2 coding questions:

  • Given a String s, build all possible subsequences, sort them and return as a List
  • Create a Thread safe data structure and write 2 producer and 1 consumer for it.

Tecnical Round 3 (Taken by a Principle MTS):

  • Questions from Resume
  • 1 DSA question: Q: Remove duplicate sequence from linked list. Ex: Input: 1->2->2->2->5->4->4, output: 1->5 Input: 1->1->2->2->2->5->4->4, output: 5

Interview Questions (10)

Q1
Divide Two Integers
Data Structures & Algorithms

The problem asks to divide two integers without using multiplication, division, or modulo operators.

Q2
Polymorphism in Java
Other

Explain polymorphism in Java and how to achieve it.

Q3
Composition & Association in Java
Other

Explain Composition & Association in Java.

Q4
Aggregation in Java
Other

Explain Aggregation in Java.

Q5
Aggregation vs Composition
Other

Discuss the differences between Aggregation and Composition.

Q6
Longest Subarray with 0 Sum
Data Structures & Algorithms

Find the length of the longest subarray with a sum of 0.

Q7
High-Level Design for E-commerce Website (Amazon-like)
System Design

Design a High-Level Architecture for an E-commerce website similar to Amazon. Discuss functional requirements, non-functional requirements, database schema, database resilient design, services, and provide a diagram.

Q8
Generate and Sort All Subsequences of a String
Data Structures & Algorithms

Given a string s, generate all possible subsequences, sort them lexicographically, and return them as a list.

Q9
Thread-Safe Data Structure with Producer-Consumer
Data Structures & Algorithms

Design and implement a thread-safe data structure. Then, write code for two producer threads and one consumer thread that interact with this data structure.

Q10
Remove Duplicate Sequences from Linked List
Data Structures & Algorithms

Given the head of a singly linked list, remove all nodes that have duplicate consecutive numbers, leaving only distinct numbers. For example, if the input is 1->2->2->2->5->4->4, the output should be 1->5. If the input is 1->1->2->2->2->5->4->4, the output should be 5.

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!