Team 1 - Round 1
Questions:
- Tell me what excites about your work?
- Tell me a time where you improved something in codebase?
- Tell me a time when you did a mistake?
- Tell me a time when you foresaw a bug and improved it?
- DSA: Given an encoded string. Return a 26 length frequency array (array whose elements are count of each character from a-z) for that decoded string. 'a' was encoded as 1, b as 2,...,j as 10#, k as 11#,.., z as 26#. For multiple repeating character, we have count encoded in ( ). For e.g., 26#(2) is 'zz'.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Team 1 - Round 2
Questions:
- Introduction followed by a lot of discussion around why you want to join Oracle again.
- Tricks if and buts questions.
- Asked me to draw a HLD of my last project, loopholes if any in the system and how it can be improved.
- My contribution in the project and asked all nitty gritty details about it.
- Questions around API design.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Team 1 - Round 3
Questions:
- Introduction followed by some non-tech questions.
- Tell me a time when you reduced a project scope?
- Tell me a time when you had knowledge gap and how did you improve it?
- DSA: Given an undirected graph. Each node in the graph is a person. If 2 nodes are connected, it means they are friends. Given a graph with N users, you have to implement a friend recommendation system. The output should be an array of size N, each element will be the recommended friend for ith node. Now let's say we have 0-2,0-1,2-3,1-3,3-4,0-5,6-5 as a graph. For any node N, we have to skip its immediate friend and start considering all next level friends and pick the one who has maximum common friends. In this case if we consider 0, we have 3 and 6 in its next to next friend list. 0-3 have 2 common friends and 0-6 have 1, so for 0, 3 is the answer. In cases where we have multiple answers, choose the one with the lowest index.
Candidate's Approach
Solved this with indegree, outdegree logic. Had around 25 mins to implement this. Although I couldn't pass all the test cases (7/15), still the interviewer was satisfied with the approach. A little improvement would have solved it fully.
Interviewer's Feedback
No feedback provided.
Team 1 - Round 4
Questions:
- Intro.
- Design a stock broker like NSE/BSE. Questions around how we can reduce system latency up to ms/ns?
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Team 1 - Round 5
Questions:
- Intro followed by non-tech questions similar to above.
- Was asked the same DSA of R1 but was asked to implement using another approach.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Team 2 - Round 1
Questions:
- Intro followed by DSA and other questions.
- Given a JSON with nested keys and values similar to:
[{ "id": 1, "name": "Alice", "addressDetails": [ { "cityId": 3, "city": "Abc" // other key value pairs }, {}, {} ] }, {}]
Find all employees who live in a given target city.
- A couple of Java stream questions. Other than streams what all could be used (Jackson Json parser APIs).
- Microservices patterns, have you implemented any, which one and what was the use case?
- Let's say you have an API /getAllUsers. How will you secure it?
- How would you handle concurrency in your application? Questions around distributed lock. How it can be implemented?
- How would you handle a file which is very big in size?
- The interviewer pasted a buggy code. Had to add review comments in that.
- Implement a BST.
- What all steps can be taken to improve response time of APIs?
- Design patterns, what is a builder design pattern?
- Have you implemented resiliency?
- Caching use cases in current project?
- How do you maintain atomicity in transactions?
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Team 2 - Round 2
Questions:
- Introduction.
- Implement a generic print function.
- Given a sorted array. Implement lower bound.
- LLD: Design Air Traffic Controller. Classes, API, Design patterns. All sorts of extension that this could have was talked through.
- You have 55 dogs and 8 poles. How can you tie all dogs with the poles? (You can't)
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Team 2 - Round 3
Questions:
- Intro.
- Singleton class, how and where is it useful. Asked to implement.
- DSA: Given a matrix convert all rows in columns.
- What is factory design pattern, how do you write unit test cases for it?
- Given a DB with 1M patient data records, you have to show all data on UI. Design a HLD (lazy loading and pagination was discussed). How does lazy loading work internally?
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Team 2 - Round 4
Questions:
- Intro.
- This was a round with director. Asked me why you wanted to join Oracle again? Wasn't convinced with my answer, advised me to not switch very frequently.
- Deep dived in company level HLD and wanted to know tech stack and flow of major services.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Team 2 - Round 5
Questions:
- Intro.
- Asked project architecture.
- Fallback for a couple of loopholes.
- Asked a system design question for notification service. A service capable to deliver 10M daily notifications via different channels like emails, messages, push-notifications.
- Ended with why you want to join Oracle again.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.