Oracle visited my campus for Server Technology Role recently. The selection process involved a total of 4 rounds. 1 Written + 3 Interview Rounds.
The written round was an online MCQ round for 107 minutes. The exam was mainly divided into 5 sections:
• Computer Science Knowledge • Coding skills
Each section had a different time limit. Each section was further divided into many subsections and those subsections could be attempted in any order. The time limit of each such subsection is summed up to decide the time limit for the section.
The aptitude section contained questions from arithmetic, logical & verbal reasoning.
The Computer Science Knowledge section had some questions from OS(intermediate level), DBMS(intermediate to advanced level) and OOD.
The coding skills section contained a subsection of code snippets in which we had to predict the output or choose the right code snippet which shall go into the blank space given in questions and a sub-section of flow-chart where a problem was defined first in words then through a flow chart. Some boxes of flowcharts were blank and we had to choose the right option which would go into blank boxes.
Language sections had questions like unseen passages, arranging sentences in the right order, pointing out the errors in given sentences and a few questions on antonyms & synonyms.
This round required a sharp presence of mind and fast speed because each section was timed and questions were more in number hence you need to solve them as fast as you can.
Interview Round 1:
This was more of a theoretical and OOPS-based round. The interviewer started with my introduction. Then he quickly moved on to oops:
• What are some features of C++ you like(I had mentioned C++ in my resume)?
I told him about object-oriented programming, program re-usability, Encapsulation, Abstraction and Polymorphism. He was satisfied and asked me to stop there.
• How many types of polymorphism are there?
I explained static and dynamic polymorphism.
• What is an abstract class? How is it made? What is the purpose of abstract classes?
I enunciated all of it with an example of area class being inherited by rectangle and triangle class. I also explained virtual keywords and pure virtual functions.
• What is the interface? How it is different from abstract class?
• If we define a function with the same name and the same number of parameters in the derived class as in the base class(function is a virtual function in the base class) but we change the type of parameter, will it still be method overriding?
I answered no and explained why.
• What will happen if we call a derived class function(overridden) through a base class object?
*It was a tricky question but I was lucky to try it out just one night before the interview hence I knew that the answer was: an error message because method overriding can only be done by calling the method through a pointer of the base class. * • Write a program to reverse a string.
• Have you worked on full-stack development?
I explained a full-stack web application I made in my B.Tech. He was satisfied with my explanation.
This was the end of Round 1. I was confident enough that I will make it to the second round.
Interview Round 2:
• Why is there a gap of 1 year between your B.tech and Mtech.?
I took a drop of one year to prepare for the GATE Exam hence I explained to him the reason for the gap.
• What is your favourite programming language?
• Why do you not use python for programming?
I have worked on python a lot as almost all the projects I have done are in python but for algorithms, coding has been using C++ since my 12th standard as it was my optional subject in 12th.
• What are the advantages of pandas over lists?
I explained about the functions which come along with pandas data frame which make it much more powerful and fast.
• Tell me about a project you have done in python?
I again discussed the project I did in my Btech. It was on python-Django
• How sessions are maintained in Django?
• Code a simple session handling mechanism. Register a user with a username and password(also explain how will you store the password) and on every login display a welcome message to the user along with the number of times he/she has logged in before and what was his/her last login time.
I coded all of it and he seemed happy with my coding, fortunately, the code ran the first time without any error. I think maybe The Force was with Me :grinning:
• What will you choose between CPP and python?
It was a tough choice for me so I took my time explaining to him why it was a tough choice for me but at last, I chose python just because it has such a wide application domain.
• Two Rope puzzles. (https://www.geeksforgeeks.org/puzzle-1-how-to-measure-45-minutes-using-two-identical-wires/)
• Why did you want to do M.Tech?
• How do you feel M.tech has helped you in achieving what you wanted to achieve?
Interview Round 3:
This was more of a discussion round than a technical round. Though it did not involve any coding it tested your ability to come up with the solution.
• What do you know about Oracle?
I told about the first impression of Oracle I had since the first time I ever installed java on my system, a little window popped up which said over a million systems run on java and there was a pretty sign of oracle on that window. I also told him about the Solaris operating system.
• If you got so fascinated about Oracle because of Java then why is Java not in your Resume?
I explained him the first ever programming language I learnt was Cpp and I kind of picked it up as my primary coding language since my 12th standard and continued using it. Although I was taught java in my B.tech. but It is just a matter of fact that I kept C++ as my main coding language this does not mean that I do not know the power of java or its huge application.
• What do you know about cloud computing?
I knew only the basics of it hence I explained that much and informed the interviewer that I have never worked on it hence I know this much only.
• How will you implement SSO?
I explained the basic mechanism of a one-step login system
• Some questions on projects I mentioned in my Resume.
• What if my login credentials are coming from a place which is not my usual location, this could be a malicious login. How will you ensure the safety of my account in this case?
I gave him the solution of saving the mac address in the system but he was not convinced then I gave him a solution where we could add an extra step for sign-in by sending OTP to the user’s mobile number in case login credentials are coming from someplace which is not a common location for that user to login. He accepted this answer.
I received mail from Oracle late at night informing me that I was selected. The next day the same was informed by the Placement Cell of my college.
• Keep a strong grip on object-oriented concepts and on at least one object-oriented programming language.
• Know your basics very well.
• Be prepared for any question in any round. One question can be from your resume and the very next question can be some coding question.
• Know all the projects you have mentioned in your resume very well.
• Keep your mind open. Have a proper rest. Sleep at least 6 hours before the day of your interview.
I dedicate this article to My best friend Ayushi who helped me in my difficult time and always encouraged me to be optimistic during this trying time of the pandemic.
I would like to thank GeeksForGeeks and every single geek of this wonderful and so talented team. You guys rock. It is because of this forum(this website) guys like us dream to get our dream job. Every year so many students make their destiny so seriously, A very big Thanks to GeeksForGeeks for all this.