Initially, there was an online round which lasted for 1hr 30min (overall). It was conducted on Oracle’s platform which consisted of multiple choice questions on aptitude, Data Interpretation, Data Structures and Algorithms (mostly BST and AVL tree questions on given long codes), DBMS and OS. Each section had its own time limit. There was no coding section. Each section needed to be answered in a sequential manner with no switching allowed. They shortlisted 38 candidates for APPS role (26 shortlist+12 waitlist). I was one of the waitlisted candidates.
- Initially, the interviewer asked me about my interest in Computer Science. I had a minor in Computer Science which helped me a lot in convincing him. I had a project on process synchronization. We had a little chat over it. Further, he asked me about deadlock and semaphores. Then he started asking coding questions.
- Finding the smallest window in a string(A) containing all characters of another string(B). Characters in the chosen window of A should be in the same order as are in B. He only wanted to know my logic.
- Basic BST problem of searching a node in BST. https://www.geeksforgeeks.org/binary-search-tree-set-1-search-and-insertion/
- Given an array and an integer k, find the maximum for each and every contiguous subarray of size k. He expected me to write code in my preferred language. https://www.geeksforgeeks.org/sliding-window-maximum-maximum-of-all-subarrays-of-size-k/
- Find whether a given set can be partitioned into two subsets such that the sum of elements in both subsets is same. He asked me to write a c++ function to solve this problem. I initially wrote memoization based approach. He asked me to write bottom-up approach for the same code. Further, he discussed the pros and cons of both the approaches. https://www.geeksforgeeks.org/partition-problem-dp-18/
- Egg dropping puzzle with k eggs and n floors. He expected time complexity of O(k*n). Initially, I came up with O(k*n*n) using dp. Further, I was able to reduce it to O(k*n*log n) using dp and binary search. He asked me to think mathematically. Finally, I was able to do it in O(k*log n) using combinatorics. He was pretty much impressed by my logic. Further, he asked me to write code for the same.
- By the time I was writing code, he was asking me some simple puzzles.
- I was asked to write code to evaluate an infix expression. https://www.geeksforgeeks.org/expression-evaluation/
- The interviewer then gave me some puzzles.
- I had a course on DBMS mentioned in my resume. He asked me some basic questions on normalization and Codd’s rules. Further, he asked me to design a database schema for my institute.
- He asked to write some tricky SQL queries on the schema, I prepared in design followed by some questions on SQL triggers, procedures and stored functions. In the end, he asked me to write a simple procedure.
- He asked me to write the logic to avoid Deadlock (Banker’s algorithm).
- Later, he thoroughly went through my resume and asked me about my projects.
- Finally, he asked me if I had any questions.
Round 4 (HR round): General HR questions like why I wanted to join Oracle and so on. Later, she explained to me about work culture at Oracle.
Result: They gave an offer for APPS profile to 4 candidates. I was one of them. I thank GeeksforGeeks for its assistance in preparation for placements.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course. In case you are prepared, test your skills using TCS, Wipro, Amazon and Microsoft Test Serieses.