Oracle OCI IC2 Interview Experience
Summary
I interviewed for an IC2 role at Oracle OCI, progressing through multiple rounds that included coding, system design, and behavioral questions. Although I received an offer, I eventually did not accept it as the hiring manager decided to move on with another candidate after I tried to negotiate for higher compensation.
Full Experience
I had an interview experience for an IC2 position at Oracle OCI with 1.8 years of experience. The process involved multiple rounds, starting with a screening round that covered both coding and fundamental computer science concepts. This was followed by four 'Loop Rounds', which included technical discussions, system design, behavioral questions, and more coding challenges. I specifically remember being asked about my projects and on-call responsibilities in almost every round. In the end, I received an initial offer of 40LPA (27+13), but after I tried to negotiate for a higher compensation, the hiring manager decided to proceed with another candidate and withdrew the offer.
Interview Questions (23)
Minimum Cost to Make Array Equal
Difference between Mutex and Semaphore
Explain the key differences between mutexes and semaphores, including their typical use cases and synchronization mechanisms.
Sleep vs. Wait in Java
Elaborate on the distinctions between Thread.sleep() and Object.wait() in Java, specifically concerning thread states, monitor locks, and their respective use in concurrent programming.
Optimistic vs. Pessimistic Locking
Discuss the principles of optimistic and pessimistic locking strategies in database systems or concurrent programming, outlining their advantages, disadvantages, and scenarios where each is preferred.
Tomcat Server Basics
Describe what Apache Tomcat is, its role as a web server and servlet container, and its primary functionalities.
DynamoDB LSI and GSI
Explain the concepts and operational differences between Local Secondary Indexes (LSI) and Global Secondary Indexes (GSI) in Amazon DynamoDB, and when to use each.
Protobuf for Serialization
Discuss the reasons for using Protocol Buffers (Protobuf) for data serialization, highlighting its benefits over other serialization formats like JSON or XML.
Communication Protocol for Project
Regarding a specific project, identify the communication protocols utilized and justify the selection of these protocols.
How HTTPS Works
Detail the end-to-end process of how HTTPS works, covering aspects like TLS/SSL handshake, encryption, digital certificates, and secure communication.
Project Description and Design
Describe a significant project you have worked on in detail, explaining its architecture and design decisions. Be prepared to illustrate with diagrams.
Insert Delete GetRandom O(1)
Standard LeetCode problem. Refer to the provided link for full details.
Biggest Mistake and Learning
Recount a significant professional mistake you've made, what transpired, and the key lessons or insights you gained from that experience.
Most Impactful Work
Share an example of your most impactful work or contribution in your career, detailing your role, the challenges, and the positive outcomes.
Identifying Architectural Problems
Reflect on systems or architectures you've worked with and discuss potential problems, bottlenecks, or areas for improvement you identify within them.
3Sum
Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0. The solution set must not contain duplicate triplets.
Project Deep Dive: Scaling and Testing
Describe a project in depth, focusing on how you would approach scaling it to handle increased load or data, and elaborate on the methodologies and strategies used for testing its features.
On-Call, Deployment, and Load Balancers Experience
Discuss your practical experience with on-call issues, including incident response and resolution. Explain your involvement in deployment processes and how you've worked with load balancers.
Keys and Rooms
Standard LeetCode problem. Refer to the provided link for full details.
Time Based Key-Value Store
Web Page Loading Process
Walk through the entire lifecycle of a web page being loaded in a browser, starting from typing the URL and covering DNS resolution, TCP/IP handshake, HTTP request/response, rendering, and potential optimizations.
How VPN Works
Explain the fundamental principles of how a Virtual Private Network (VPN) operates, including concepts like tunneling, encryption, and how it might interact with private DNS servers.
Josephus Problem
Describe and provide a solution for the Josephus Problem: given n people standing in a circle and counting off every kth person to be eliminated, determine the position of the last surviving person. The interviewer specifically asked not to worry about optimization.
On-Call Incident Description
Detail a specific on-call incident you've handled, outlining the nature of the problem, the steps you took to diagnose and resolve it, and the ultimate outcome.