Interview experiences

Oracle OCI IC2/IC3 Interview Experience — Bangalore, 2022

OracleIC2/IC3·Bangalore, India·Interviewed March 2022Offer

Updated July 17, 2026

The candidate was working as a senior software engineer and tech lead, with a computer science degree from a top-tier Indian institute, and interviewed for an IC-level role on Oracle Cloud Infrastructure (OCI) in Bangalore. The post's title lists the level as IC2, while the body text refers to the position as IC3; both are noted here since the original write-up does not resolve the discrepancy.

The process ran five rounds, mixing high-level and low-level system design, a hiring-manager conversation centered on a past project and database fundamentals, and several rounds that combined coding problems with behavioral questions. It ended in an offer.

How the process went

  1. Round 1 — HLD/LLD

    A 60-minute system design round: design a parking lot system similar to Uber, where users see available spaces across nearby lots based on location, with early booking, geofencing, disabled-user allocation, peak-traffic handling, and database choice all in scope. Low-level design was expected as well, and the interviewer changed requirements partway through.

  2. Round 2 — Hiring Manager

    A conversation about the interviewer's team and products, what the candidate could expect to work on, and a detailed walkthrough of the candidate's most recent project (design, problem statement, API success rates, efficiency gains). Also covered database selection, ACID properties, project management, and why the candidate wanted to switch companies.

  3. Round 3 — DSA / Project Discussion

    The candidate explained their current project using the STAR method, then solved two LeetCode-style string problems, followed by a few behavioral questions.

  4. Round 4 — DSA / HLD / Behavioral

    Questions on the microservices in the candidate's current project and the full process flow, behavioral questions on leading a team, and a coding problem involving conditional directive processing solved with a stack.

  5. Round 5 — DSA / System Design / Behavioral

    Questions on choosing a tech stack, the CAP theorem, and ACID isolation, plus a sliding-window coding problem on counting permutation substrings.

  6. Outcome

    The candidate received an offer.

Round 1 — HLD/LLD Round

System design for a location-aware parking lot platform, with both high-level and low-level design expected · 60 minutes

  • Design a parking lot system similar to Uber, where users can see available spaces across nearby lots based on their current location.
  • How would you support early booking of a parking spot?
  • How would you use geofencing to show the user the nearest lot with available spaces?
  • How would you allocate specific spaces for users with disabilities?
  • How would you handle traffic at peak times (e.g., load balancers, optimized algorithms)?
  • If traffic is high and an accessible space is available, how would you handle that allocation?
  • How would you verify that the customer entering is the one who made the booking?
  • How would you automate the parking lot process end-to-end?
  • Which database would you use, and why?

The interviewer changed the functional requirements partway through the discussion, so the candidate noted it helps to design with some flexibility for new changes.

A low-level design was expected in addition to the high-level design.

Round 2 — Hiring Manager Round

Team and project fit, a deep dive on the candidate's most recent project, and database fundamentals

  • Walk through your most recent project in detail, including the design, problem statement, API success rates, and how you improved the system's efficiency.
  • How do you choose a database for a project? (CAP theorem-based reasoning was expected.)
  • What is the ACID property? Explain isolation and durability.
  • How do you manage a project that is too large to complete within a set timeframe?
  • Which languages have you worked with?
  • Why are you looking to change companies?

The interviewer also described his team and the products they work on, and what the candidate could expect to work on after joining.

Additional behavioral questions were asked that were not detailed in the original post.

Round 3 — DSA / Project Discussion Round

A structured walkthrough of the candidate's project plus two string-based coding problems

  • Explain your current project using the STAR method.
  • Valid Parentheses (leetcode.com/problems/valid-parentheses/)
  • Longest Valid Parentheses (leetcode.com/problems/longest-valid-parentheses/)

A few behavioral questions were asked at the end of the round.

Round 4 — DSA / HLD / Behavioral Round

Architecture of the candidate's current project, leadership behavioral questions, and a coding problem

  • What microservices exist in your current project?
  • Describe the full flow of the process.
  • Behavioral questions on leading a team and handling issues.
  • Given a sequence of strings and a map of flags (containing #ifdef/#ifndef/#endif-style directives, e.g. a map like {FOO: true, BAR: true}), print only the strings whose enclosing conditional evaluates to true.

The candidate solved the conditional-directive problem using a stack to track the active flag for each nested if-block.

Round 5 — DSA / System Design / Behavioral Round

Tech stack decisions, database theory, and a sliding-window coding problem

  • How do you decide the tech stack for an application you're starting?
  • Explain the CAP theorem.
  • Explain the isolation property of ACID.
  • Given a string 'logs' and a string 'password', find the number of substrings of logs that are a permutation of password.

The candidate solved the substring-permutation problem using a sliding window approach.

The candidate noted that OCI interviewers seemed to value a working solution even if it wasn't the most optimal one, and suggested writing a working approach first before optimizing when time is limited.

Key takeaways

  • For open-ended system design rounds, leave room to adjust the design once new requirements are introduced mid-discussion rather than treating the first requirements list as final.
  • Be ready to discuss a past project in depth, including concrete details like API reliability figures and specific efficiency improvements, not just a high-level architecture summary.
  • Refresh core distributed-systems fundamentals such as the CAP theorem and ACID properties, since more than one round revisited them from different angles.
  • In coding rounds, get a working solution down first before optimizing, since interviewers may value a running solution even if it isn't the most efficient one.
  • Practice narrating your own projects with a clear structure (such as STAR) so both the technical decisions and the outcomes come through clearly.

Practice a Oracle interview

Rehearse out loud against the kinds of questions in this story — with an AI interviewer that asks follow-ups.

Practice this interview

Source

The questions and process facts come from the candidate's public write-up, linked below. The retelling above is our own summary.

Candidate's public write-up on LeetCode Discuss