Oracle recently visited our college for an on-campus recruitment drive for the position of "Application Developer." The process consisted of 4 rounds, and over 200 students participated in the aptitude test, as all branches were eligible. The CGPA criteria was set at 7.0.
Round 1: Aptitude Test
There were 36 questions in total, including a coding question.
The coding question was similar to this problem on Unique Binary Search Trees but with a slight modification.
The test included reading comprehension questions and some related to interpreting bar graphs.
There were also technical questions related to OS, DBMS, etc.
Round 2: Technical Interview 1
20 students were shortlisted for this round, and I believe it was a diversity hire as 10 boys and 10 girls were selected. The interview started with a review of my resume, and the interviewer explained the structure of the round:
The structure was :
- In-depth questions about my internship experience.
- Analysis of my projects.
- DSA (Data Structures and Algorithms) skills.
- Questions related to Linux and its commands.
- Questions on DBMS.
He asked me to give a brief introduction, and I began enthusiastically. The interviewer then focused on my internship project, asking detailed questions about Spring Boot, including:
- Why Spring Boot?
- How do users access the features? (Answer: via API)
- How to write an API.
- The structure of an API.
- What are annotations? Why are they used?
- How do annotations work?
- Advantages of Spring Boot.
- In which file configuration is done and how ?
- What is dependency injection
Since I had an in-depth understanding of Spring Boot, I answered all these questions confidently.
Then, somehow, the conversation shifted towards Cloud technologies. The interviewer asked if I was familiar with SaaS, PaaS, and IaaS, and then moved on to Docker, Kubernetes, and related topics. I mentioned that I only had a basic understanding of these subjects, not in-depth knowledge. Despite this, he continued to ask questions about my basic understanding, and I was able to answer some of them.
Next, he moved on to my project, the Student Management System.Then he asked me working of the project, literally on every thing he was cross questioning.He asked me to draw database structure of the project, I did it, and asked questions about frameworks:
- What is React?
- Why React and not other technologies?
- How to pass props in React (all methods).
- Can Single Page Applications be made solely with React?
- How can inheritance be achieved in React?
- What are frameworks ?
Next he asked questions on Git :
- What is git ?
- Why to use it ?
- Difference between git and github and gitlab
- Advantages and disadvantages of git.
- Is git centralized or decentralized , why so ?
He then asked some questions related to Linux:
- How does Linux boot? (Grub and the boot process in depth).
- On the terminal, where do we set the username to display our specified name? (Answer: /etc/profile).
I answered most of these questions well, except for the second Linux question, where I gave a partial answer (/etc).
The interview then shifted to DSA:- What are the types of data structures?
- List all data structures.
- He listed 10 data structures and asked me to explain their applications, time and space complexity, and how they work.
- Scenario-based questions on which data structure to use when.
I was confident here, having studied DSA extensively, and answered all the questions.
The interviewer then moved to SQL:- What are the types of databases?
- What is the difference between NoSQL and SQL?
- What is an ER model?
- Foreign key concepts.
He gave me a practical task to connect two tables via a foreign key and asked about constraints.
The round went well, and I was confident I would be called for the third round.
Round 3: Technical Interview 2
The interviewer began by asking why I started playing the guitar, which surprised me as I thought the interview would start with my introduction. I answered and then moved on to discuss my project:
- Why did you use a NoSQL database in your project?
- How does role-based routing work?
- What is authentication, and what are you using for it?
- What is JWT?
He then mentioned that time was short, so we proceeded to puzzles.
Puzzle 1:
There were 5 columns representing lvl1, lvl2, and so on until lvl5. The rows contained data like Cloud, IT, SAAS, PAAS, IAAS in any order. The question was how to represent this data.
level1 | level2 | level3 | level4 | level5 |
|---|---|---|---|---|
Cloud | SAAS | PAAS | IAAS | IT services |
SAAS | IT Services | Cloud | IAAS | PAAS |
PAAS | Cloud | SAAS | IT Services | IAAS |
After thinking for a minute, I said that since the data is repeated, normalization would be a good approach. He agreed and encouraged me to proceed. I suggested representing the data in one table with two columns (Item, lvl) and applying a self-join. He said that was correct but pointed out that I was missing something and asked me to dry-run it.
During the dry run, I realized I needed another column (ID) for the table. He was satisfied with my solution and moved to the next puzzle.
Puzzle 2:
It was a long SQL query involving counting the number of records from a union of two joins. I figured out the answer and the interviewer was satisfied.
Query was like this :
select count(*) from
(
select * table1 join table2 on table1.id = table2.id
union
select * table1 join table2 on table1.id = table2.id
)
Puzzle 3:
He then presented the 8 Balls Problem. I solved it, and the interviewer seemed satisfied.
I was relieved, thinking the puzzles were over, but he moved on to another one.
Puzzle 4:
He asked the Daughters' Ages Puzzle. I solved it, and the interviewer was very happy with my performance, stating that it was impressive.
He then shifted towards DBMS , asked questions on
- What are index ?
- Why is indexing used ?
- Real life application of indexing
- Dense vs sparse index.
- Share a unique point about the difference between NoSQL and SQL that other candidates might not have mentioned. I explained the difference between vertical and horizontal scaling.
He asked if I had any questions, and I asked three: one technical question, one to express my appreciation for the interview, and one about the company to show my interest.
The round went amazingly well, and my confidence was at its peak. I stepped out, took a drink of water, and was instantly called in for the HR round.
Round 4: HR Interview
The HR round started with the typical question "Tell me about yourself"
I gave my introduction, spoke about my internship experience and related its tech stack to what the company needed, discussed my skills and recent awards, and highlighted my leadership abilities and hobbies, connecting them to the job. I also explained why I wanted to join Oracle.
The HR then asked:
- Have you visited Oracle's website?
- Can you name some Oracle products?
I mentioned a few products, including Oracle Live SQL, which I had personally used. He then asked if I had any questions, and I inquired about the company culture, the work expected from graduates, why Oracle leads in certain products, and the Oracle Accelerator Camp, which I brought up to demonstrate my eagerness to learn.
Throughout the entire interview process, I was energetic and enthusiastic. The results were announced at the end of the day after all the interview rounds, and I was fortunate to be one of the five selected candidates (2 girls and 3 boys), with my name first on the list.
Takeaways:
- Study theoretical concepts, especially in DSA. It might seem basic, but it's important.
- Prepare examples of DSA applications. Sometimes we overlook the basics, like real-life applications of hashmaps and sets.
- Have in-depth knowledge of the projects and skills listed on your resume.
- Be confident. If you don’t know something, be honest about it.
- Prepare puzzles from GFG; they can be very helpful.
- Connect everything you discuss to the job description.
- Study some topics as per the company, like for Oracle, I focused more on DBMS.
- Be energetic , Communication skills also matters at some point