Table of contents
I recently gave an interview for the SWE role at Oracle India. It was an on-campus opportunity. In this blog, I’ll talk about the whole process, the questions that were asked in both the OT and offline interview and the mistakes I made that got me rejected just before the HR round.
The Process
The whole process consisted of 1 online test and 4 offline interview rounds, where 3 were technical and 1 was HR. The initial shortlisting was done based on CGPA and resumes.
Round 1
The 90-minute online test was hosted on HackerRank and consisted of MCQs on aptitude, verbal ability and CS fundamentals, along with some DBMS. There were two coding questions, Longest Increasing Subsequence and REST API: Countries by Region. It was relatively easy, and the coding questions were not that difficult.
The results came the next day, where only 40 students were shortlisted for the offline interviews.
Round 2
The interviews were scheduled for the next day, beginning at 9 o'clock.
Before the interviews, they presented their PPT, which talked about everything Oracle and the CTC breakdown.
The interviews were mentally exhausting, and I got my call after 6 hours of sitting there. The first interviewer, though, seemed to be in a hurry, his demeanour far from warm and fuzzy. He was all business, diving right into the heart of the interview with the classic question: "Tell me about yourself." I discussed my background and then moved on to the details of my resume, mentioning the programming languages I was proficient in.
The interviewer quickly switched gears, posing a technical question: "Can you explain the difference between call by reference and call by value?". As I attempted to articulate my understanding, he steered the conversation towards socket programming, asking me to draft a code snippet for a client-server application. As we delved deeper into object-oriented programming (OOP) concepts, the challenges kept coming. Topics like polymorphism, inheritance, and even the infamous 'diamond problem' were on the agenda.
Finally, we arrived at the coding section, and I was presented with a seemingly straightforward array problem. Given an unsorted array containing both positive and negative numbers, the task was to separate the positives from the negatives, all without using any sorting algorithms.
Since the interview was conducted in person, I had to articulate and illustrate everything on paper, which was a novel experience.
Round 3
This was the most challenging round as the questions that were asked were more in-depth, hovering around the OOPs concepts and functioning of classes and objects in inheritance. He wrote several code snippets and asked me to determine their time/space complexities and improve them with more optimized code.
Questions based on the basic working of the compiler, differences between runtime and compile time errors, string pools, memory management and stack/heap memory were asked.
The panellist was very helpful along the way, providing me with hints if he felt I was stuck. Lastly, he went on to ask me a Leetcode hard problem on strings. I started by giving the brute force answer with the worst complexity and then optimised it further with O(nlogn) complexity. Honestly, it didn't feel like he was expecting a correct answer from the start, but he wanted me to struggle while coming up with a logic.
Round 4
This was the most chill round of them all, and I thoroughly enjoyed it. The interviewer was friendly and asked me about my background and college life. Most of the questions were behavioural, and very few CS questions were asked. He then proceeded to give me The burning rope problem. Now that I look back, the problem seems pretty simple, but in that environment, I could not come up with a solution.
He asked me to write a code to make a linked list from scratch. He was very keen on the syntax and asked me about every keyword I wrote. Adding on to this question, he asked me to create a function whose argument will be the number of nodes, and that will return a singly linked list.
After this, he asked me If I had any questions for him, which I did. Then, the interview was over, and I was told to wait. I felt pretty confident about my performance but as luck would have it, I was asked to leave before the HR round. Although, I did feel bitter at first but it was a fun experience.
Tips/Suggestions
Your key takeaway should be:
To hold composure during the interviews.
Pretend that you're teaching about the concept to the interviewer.
Don't shy away from asking for hints.
Try to write as much as you can with examples while explaining.
Be aware of your resume and working of your projects.
Be a little diplomatic when it comes to answering behavioural questions.
Study the job description to know what type of candidate they are looking for and try to imitate those qualities.
Well, this was all from my side. Hope you find this helpful.
You can reach out to me on Twitter for further queries/questions.