Oracle | IC-2 | Redwood Shores | Oct-Nov 2020 [Offer]
Summary
I interviewed for a Member of Technical Staff position at Oracle as a new graduate. The process involved a phone screen, two technical rounds, and two sets of final rounds focusing on algorithms, data structures, and system design. Despite some challenging questions, I successfully received an offer for my preferred team.
Full Experience
I was reached out to by a Senior Recruiter on LinkedIn, who found me through the Grace Hopper Celebration Spotlight. They asked me to apply to open positions in multiple different organizations and later requested my top 2 preferences for scheduling interviews.
Phone screen (30 minutes)
- Behavioral questions were asked.
- I also answered questions regarding the technical skills I possessed.
Round 1 - OAD - Technical (1 hour)
In this round, I was asked to write a program that takes as input a set of dictionary words and fits them all in a matrix of a given size, such that all the words in the matrix are readable. I was quite confused about this one and had a lot of back and forth with the interviewer to understand the exact requirements. I could not come up with a fully functional solution in the given time and honestly thought I had totally bombed this round.
Round 1 - OAC - Technical (1 hour)
- I solved the Single Number problem.
- I also worked on the Reverse Linked List problem.
- The interviewer asked about projects I've worked on and what my work entailed.
After about a week, I reached out to the recruiter and learned that both organizations wanted to move me forward to the final round interviews!
Final Round - OAC - 3 interviews, 1 hour each (back-to-back)
First interview
- I was given 2 aptitude questions.
- There were a few SQL related questions.
- One question was based on Hashmaps.
- We also discussed my past projects.
Second interview
- I solved the Add Two Numbers problem.
- I also tackled the Moving Average from Data Stream problem.
- Again, there were questions about my past projects.
Third interview
- I answered basic questions about Machine Learning, given that I was a TA for an ML class.
- I was asked to implement a linked list which is always sorted (meaning, add elements in the correct order and return the newly created node).
- We concluded with more questions about my past projects.
Final Round - OAD - 3 interviews, 1 hour each (back-to-back)
First interview
- This interview mainly focused on questions about my past projects.
Second interview
- I solved the Rotate Array problem.
- I was also challenged to design an instant messaging application, similar to WhatsApp.
- We discussed my past projects.
Third interview
- I was asked to design a file system.
- The interview concluded with questions about my past projects.
The system design questions caught me a little off guard, as I wasn't expecting them for a new grad role based on other people's reviews.
A week later, I reached out to the recruiter, and she asked me to rank which teams I would like to receive an offer from. I responded with my ranking, followed up after two days, and was verbally extended an offer from my first preference team. I received the official offer letter three days later.
Interview Questions (9)
Write a program that takes as input a set of dictionary words and fits them all in a matrix of given size, such that all the words in the matrix are readable.
Implement a linked list that always remains sorted. This involves adding elements in the correct order and returning the newly created node.
Design an instant messaging application like WhatsApp.
Design a file system.
Preparation Tips
I've seen people talking about solving 500-600 LeetCode questions prior to interviews, which honestly scared me. However, I would recommend being consistent with practice instead, solving 1-2 questions everyday and noting what you did right and wrong. I was also really fortunate to have had very nice interviewers who were genuinely interested in bringing me on their teams (barring one specific interviewer).