First round was a test that had 35 questions having negative marks.
The test consisted of aptitude, technical questions in dbms, os, programming questions, and there were 5 questions based on a case study which was about a language that was unlike sql and had different queries and operator styles, also different arguments. They had to be understood then and there in the paper and related questions were to be answered.
I got shortlisted and was called for the interview.
The panel consisted of two people. They first asked me to introduce myself. I mentioned my strengths being Theory of Computation, Operating systems, Data structures, DBMS.
- So they first asked me where was I comfortable in OS. I said, they could ask me anything from os. So the first person in the panel asked me about semaphores and why dont we use a simple lock instead of semaphores. I could answer that easily.
- Next they moved onto TOC and asked me how would we design a compiler for a text file that has about 50 lines of simple text. I answered that too explaining the various phases of designing a compiler.
- The other person in the panel then asked me a puzzle. It was the two trains in tunnel and a bird puzzle. Opera solutions expects you to be good at puzzles, considering the fact that they asked me puzzles in 2 consecutive rounds and even my friends were asked puzzles very often, at least two per round in the start.
- They asked me a simple DS question. They said that there is a database of aadhar numbers and corresponding names of the 1.2 billion population of india. What data structure would i use to store the database? I said a hash map and then they asked me why not an array. So we discussed a bit about complexities then.
- The next was a simple database question. They gave me two tables which had a common column. They asked me about how could i get the common entries in both the tables. I replied that we could join them both using that common column. They asked me to show the output of the join as well. I could do that easily. Then they asked me how could i get all the entries of the first table and only the common entries of the second table. I suggested them the left outer join which was good enough as per their satisfaction.
- Then they were looking at my resume and asked me to write the pseudo code for one of the projects which i made in my 1st year.
I cleared my round 1 and was subsequently called for the second round.
- They asked me a puzzle for which i knew the answer. It was a triangle and three balls probability puzzle.
- Then they asked me another puzzle which i couldn’t solve at all. I even took time but couldn’t get it. The question was that there was a function that returns a zero 40% of the times and returns one the rest 60% of the times. I was asked to modify the function so that it will return 0 and 1 with equal probability (i.e 50% each).
- They asked me a simple probability question. The probability of getting 3 heads and a tail in 4 tosses of a coin.
- Then they asked me data structures questions. The first was linked lists. They asked me to get to the second last node of the linked list in a single pass. This was easy.
- The next was using the same logic, could i detect a loop in a linked list. I said yes and explained them the logic. Floyd algo.
- Then there were two questions on arrays. They asked me to place the odd numbers first and the even numbers just after the odd ones from a given unsorted array of numbers and then sort the odd and even ones among themselves. I started off with using extra memory. They asked me to do it in place. So i thought for a while and told them that i will traverse the array and the first even number found by me would be replaced by the first odd number starting from the end of the array. And then when both the odd ones and even ones are in place, I would sort them. This was a convincing answer for them.
- Another question on arrays they asked. They gave me an array and asked me to print the product of the rest of the numbers other than the number at that index. The product was to be printed at that index only and the array of products had to be returned. The constraint they gave me was that i cannot use division of any sort and i could use any amount of space. I gave them the answer in the first go itself and they were convinced.
They asked me if i had any questions. I asked them about the job profile and got a clear idea what i would do in the company.
I cleared the 2nd round as well and was called for the 3rd round.
Opera solutions is a company all related to data and giving optimized solutions to clients. Since i wasn’t very much tested in DBMS and SQL till now, i was expecting that this was the round where i would be put to test in these areas.
- The panel in round 3 was looking at my resume and they asked if i had any experience in databases. I mentioned the projects of android apps which i had made which had a great use of databases and tables. The discussion of this project went for long and they just wanted to know how good i was with databases and joining tables and manipulating real time data. They were quite convinced with my answers. Then they asked if i had more experience in this area, to which i replied yes and talked about another project of mine.
Then they asked me about my internship and it was a general discussion about the experience with professionals
- Then they asked me if i knew python or did shell scripting, to which i replied no and said that i am well equipped with java, both core and advanced including hibernate framework. So they were fine with it.
- Then they asked me if i was good with concepts of oops. To which i said yes they could asked me. So they asked me about inheritance and how it is implemented in java. Differences between interface and abstract class.
That was all in round 3 which i cleared and went for my 4th round with the Asst Vice President of Opera solutions
- It was a general discussion with avp sir about what i was expecting from opera and about my technical rather than software development. He made it clear to me that opera is not the place for software developers . So I convinced him in the right way that i was a complete fit for the profile of a project analyst at opera. He was convinced and after a good discussion for about 10 mins, he asked me a random question of dbms.
- He asked me for a m:m relationship, how many tables are required, to which i promptly replied
- He cross questioned me and tried to test my confidence. But I sticked with my answer and firmly asserted that it was 3. He was fine with it and I was good to go.
I finally managed to get through all the rounds and got the job offer from opera.
The important topics opera expects you to be good at are your technical skills especially DS, algorithms, DBMS and SQL, operating systems, case studies that test your analytical skills and puzzles and problem solving approaches.
Thank you GeeksforGeeks for helping me get through the interview. I had prepared many of the questions asked in the interview from GeeksforGeeks website and it helped me a lot.
If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
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.