I interviewed for an SDE position at Oracle in Santa Clara, California in February . I had contacted a few managers and directors on LinkedIn and one of them assigned me to a hiring manager.
Two weeks later, the hiring manager from the Oracle OCI - File Storage Service team in Santa Clara contacted me to schedule a 30-minute call to discuss my experience, skills and projects.
Telephonic Call with the Hiring Manager (30mins):
The hiring manager reviewed my resume and asked a few questions about my experience and projects I had done during my Masters. He explained what his team is working on and what my contribution to the team would be.
A week later, a recruiter contacted me to schedule a telephonic screening.
Telephonic screening with a Team Member (1 hour):
- The interviewer asked a few questions about OOP Principles (what is Inheritance, Polymorphism etc.).
- He asked a couple of questions on Python lists.
- He asked me to implement any in-place sorting algorithm.
The interview lasted for 40 minutes, after which the interviewer said he had no more questions and allowed me to ask a few questions.
Two days later, I received an email from the recruiter with an invite for the onsite interview. I scheduled it for February 3rd.
Onsite (5 rounds) :
-
Round 1 (Bartender interview, 1 hour) :
- The interviewer asked me to explain one project I had done during my Masters and asked lots of follow-up questions.
- He asked me to implement the Unix Grep command in C++ or Java. (https://en.wikipedia.org/wiki/Grep)
- He asked a couple of questions about OCI Values.
-
Round 2 (System Design, 1 hour) :
- Design a Whatsapp-like messaging app. The interviewer mainly asked me to explain one-to-one messaging, sent, delivered and read marks, Push Notification, and how I would handle image and video shares.
-
Round 3 (Lunch Interview with Hiring Manager, 1.5 hour) :
- The hiring manager allowed me to ask questions most of the time and asked a couple of behavioral questions like how I handle conflicts with a manager. He asked if I am a team player and to explain an instance where I had a conflict with a team member and how I resolved it.
-
Round 4 (OO Design, 1 hour) :
- Implement the Futoshiki puzzle. (https://en.wikipedia.org/wiki/Futoshiki)
- The interviewer mainly concentrated on how I designed classes and code implementation to verify the puzzle for correctness.
-
Round 5 (Coding, 1 hour) :
- The interviewer initially asked lots of questions about OCI values.
- Coding Problem - K closest point to origin (https://leetcode.com/problems/k-closest-points-to-origin/)
My thoughts:
- Focus on System Design and OO Design. I referred to Grokking the System Design Interview and Grokking the Object Oriented Design Interview from educative.io. Cracking the Coding Interview also has a good set of problems on these topics.
- For coding, do Oracle tagged questions on Leetcode.
- Keep talking to the interviewer when you are stuck, they will help you out. This is a mistake I made.
I received a rejection after the onsite interview.