I have been preparing for software engineering interviews for over three years and would like to share my experience. The interview process for Oracle's Associate Software Engineer position was conducted on-campus at my college. The process consisted of an aptitude test, followed by three technical interviews.
The aptitude test was conducted on their platform called proaptitude and included questions on logical reasoning, statistics, data analysis, CS Fundamentals, and English. The test was divided into sections with time limits for each subsection.
After the aptitude test, the selected candidates were invited for three rounds of interviews on the same day.
Round 2: Technical Interview 1 The first technical interview started with a basic introduction and a DSA question similar to the Maximum Subarray problem from Leetcode. After discussing the solution, the interviewer asked questions about Computer Networks and Operating Systems, including topics like Semaphores, Multithreading, and Multiprocessing. Since I have experience with Python, the interviewer also asked about Global Interpreter Lock, Deep Copy, and Shallow Copy in Python. The interview concluded with another DSA question similar to finding the Diameter of a Binary Tree from Leetcode.
Round 3: Technical Interview 2 The second technical interview began with an introduction. The interviewer asked about my experience with C++, but I honestly stated that my experience was primarily with Java, C, and Python. He then asked questions about C, including memory management (Stacks and Heaps), structs vs union, and other related topics. The interview continued with questions on Computer Networks and Operating Systems, such as Piggybacking, TCP/UDP examples, IPC, and how pipes function. The interviewer also inquired about my academic projects built using C and asked about sockets, SIGABRT signal, and a SQL query to return the second largest salary from an employee table.
Round 4: Technical Interview 3 The third technical interview was the most engaging and interactive. The interviewer focused on scenario-based questions to assess my thinking abilities. After a brief introduction, he asked a standard HR question about a time I improved the performance of a project. I shared an experience from my internship and explained how I addressed the challenge. He then inquired about my experience with cloud services like AWS, GCP, etc. He presented a scenario involving Big Data processing and asked me to suggest a solution. I discussed using Hadoop clusters and Spark for real-time data processing. He was satisfied with my answer and asked about my experience with MATLAB, Image Processing, Java Spring, and microservices. He also presented a scenario where I had to improve the read and write performance of a database. I suggested indexing, sharding, and caching as potential solutions. The interview concluded with the interviewer explaining the benefits of caching in this scenario.
Result: I received an offer for an Internship + Full Time role.
Suggestions