Interview Experience Headline: "Oracle OCI | IC3 | | March [Offer]"
Status: SSE & Tech Lead Position: IC3 at Oracle OCI Location:
Round 1 - HLD/LLD Round [60 min] Design a Parking lot but it needs to be similar to Uber etc. As in one can see the available parking spaces in different parking lots to them according to their current location. Some features included were - a) Early booking can be done. b) Geofencing should be enabled to show the user the nearest parking lot with all the available spaces in it. c) Specific places need to be allotted for disabled persons. d) Handling of traffic at peak times. [Load balancers, optimized algorithms were expected] e) If traffic is high and disabled parking is available, how will you do that? f) How will you verify the correct customer who has booked is entering? g) Create everything automated in the parking lot. h) Which databases should be used? Why?
The LLD was also expected. The interviewer can change the Functional requirements on the go. So try to create solutions with little bit of flexibility to introduce new changes.
Round 2- Hiring Manager Talked about his team and what all the products they work on in details. What can I expect to work on after joining. Apart from this detail description of the recent project I did. Whole HLD, Problem statement, Success rates of the API's, how did I improve the efficiency of the system etc. Other questions asked -
Some other behavioral questions were also asked.
Round 3- DSA / Project discussion Round
Round 4 - DSA / HLD / Behavioural Round
a) What all microservices are there in your current project. b) Describe the full flow of the process. c) Some behavioral questions on leading a team and handling issues. d) You have a sequence of strings and a map - Ex - [A, A2, A3, #ifdef FOO, B, B2,#ifndef BAR, C, #endif, D, #endif, E] map - > {FOO = true, BAR = true} The sequence of the strings needs to be printed according to the if condition. Whenever a ifdef is found, retrieve the value from the Map and if it's true print the value inside it. IF #ifndef is found negate the value obtained from the map and then print accordingly. #endif is closing of the previous if block. For example the ans -> A, A2, A3, B, B2, D, E (C is not printed because ifndef was false). Implemented a stack for storing the flag for each if case and got the solution running.
Round 5 - DSA / System Design / Behavioural Round
One thing I have observed is that OCI expects working solutions even if it's not the most optimal solution. Write some working solution first (if you have less time) and then move on to the optimized solution. If you don't have a working solution, you might be penalized (or maybe not, since my interviewers were quite focused on running solutions. Hence that might become the case).