Hi everyone,
In this interview experience, I'm going to be telling about my experience with Amdocs for the role of Associate Software Engineer as a part of my on-campus hiring drive.
Eligibility Criteria: No Active Back logs, CGPA>7.5
Round 1: HackerRank Test
After about one week of applying for the role, we got a notification of a HackerRank test conducted by the company. The test was of 150 minutes and there were 4 questions:
Section 1: MCQs (41 questions)
From the total span of 150 minutes, we were given 95 minutes to solve the MCQs. Within these, there were sections which comprised of almost every technical subject you can think of including- DBMS, SQL, OOP, COA, C++, Java, Algorithm, Quants, Verbal, and Logical. Each section of these subjects were time based. Eg. for quants there were 4 questions to be solved in 7 minutes and 5 debugging questions to be solved in 18 minutes. So, this was the drill for this section.
Please Note: It is important for you to maintain accuracy and precision in each section, because the cumulative score is based on that only.
Section 2: Coding (1 question)
Next was to solve a coding question in about 30 minutes. Everyone of my batch received different coding problems. I got the one that involved a lot of Object Oriented Programming(medium difficulty). Less than testing my coding skills in C++, they were actually testing my compatibility skills for writing an optimized code and modifying/debugging the existing one.
Although, I was unable to solve the question completely, my code successfully ran for 6/8 test cases.
Please Note: Even if you're unable to solve the complete code, it is important that you show the examiner how well-verse you are with your problem-solving skills. Mention your approach in comments and try to run for more than 60% of the test cases. If you performance is good in the rest sections, you might be able to clear this.
Section 3: SQL (2 questions)
Finally, in this section we were given 2 SQL questions of medium to easy level. They were to be solved in about 25 minutes. One was a simple one that included the use of aggregate functions and range functions. Other one was a bit complex that involved almost 4 tables and usage of joins was repetitively complex. However, I was able to solve both and ran 100% test cases.
Please Note: If you want to clear this round, it is important that you solve at least 1.5 SQL questions.
Round 2: Technical Interview
Out of almost 85 students, only 13 students got invited for the technical interview. The platform was MS teams, so you should be familiar with using it as you may have to share your screen and perform live coding.
Well, I have given many interviews including the one with Microsoft, but this technical interview was by far the most comprehensive one. Seriously, they did not leave even a single topic! This includes OOP concepts, basic and advanced C++, Java basics, SQL queries and theory, DBMS theory, coding 2-3 questions, writing SQL queries, Unix and Linux, and what not!
The interview went for about one hour and it was pretty systematic. Most of the times, the interviewee is not prepared with questions, but this one was not. It began with a formal introduction from his side, and I did the same. Then, he asked my preferred programming language, to which I said C++. Then he went on and asked the below questions:
- Difference between C and C++
- Why is it Object Oriented?
- What is iostream and stdio?
- What are vectors in C++? How are they different from arrays?
- How does memory allocation works in C++?
- New and Delete keywords? How do you use them?
There were indeed more questions on C++ from his part, but I can't recall every question since it's been a long time. It's better if you read that whole book because they'll just keep on asking.
Then he moved over to Object Oriented Programming with the following questions:
- Why did we move towards OOP?
- Loopholes of procedural programming?
- Languages that support OOP?
- Difference between structure and class?
- How do you instantiate classes?
- What are constructors and destructors?
- Can classes work without main program?
- Order of creation and destruction of objects?
- Pillars?
- What are they? Explain each.
- Live example of each.
Again, there were more questions in this part. It's good if you have a grasp on the theoretical part of OOP.
This followed SQL with questions like:
- What are databases? Relational and non-relational?
- SQL is which one?
- Examples of both.
- Major queries of SQL.
- DDL, DCL, DML, TCL commands.
- Rollback command
- Joins
- Normalization
- ...and much more
After this, he asked me to share my screen to perform some live coding questions. I'd say the questions were easy and not difficult if you practice DSA questions on a daily basis and have an understanding of code optimization. The questions involved 2 LeetCode easy level questions on combinatorics and algebra. After that, he asked me to write a program to demonstrate all the functions I know on a vector. This was all done on an online Notepad and not an online compiler. After each program, I was asked to dry run it and write the output.
After coding, he asked me to write 2 SQL queries in the chat itself, which I did. Now, he moved on to asking basic Java questions like JVM, JDK, its workflow, memory management, and much more. After that, he asked me about some of the basic Unix commands. The interview lasted more than an hour and in the end, he gave me a positive feedback.
Please Note: If you are not proficient in any domain, let's say in Unix, then say it out loud. Be honest with the interviewer. This will not only save his time, but also allow you to remain focused, stay confident with whichever answers you are giving, and provide a positive impact on him that you are not bluffing your skills just for the sake of the job. I was not proficient with Java and I said that, he respected that and limited the questions to only the basics and moved over to the next segment.
Round 3: Group Discussion
After the technical interview round, only 7 students were shortlisted out of 13. Moving further, we were invited for a virtual GD round. Again, it was an MS teams call with everyone on the same call and a panel of almost 5-6 experts. Each one of them was judging something or the other. We all were given a topic ' Rise of Generative AI' and we were asked to talk about it and discuss our views on the same. This went on for about 40 minutes.
Please Note: Even if you do not know much about the topic, it's important that you participate in the conversation. Listen to what others are saying, analyze it, and finally make your own points.
Round 4: HR Discussion
If you have cleared the GD, it's pretty much just to discuss your offer and work preferences. Of the 7 students, 5 received the offer to work with Amdocs. It went on for about 15-20 minutes and involved just basic discussion about my location preferences and salary structure.
Verdict: Selected!
So, if you want to clear this hiring program, it's important that you not only have coding proficiency but theoretical grasp on the subject too. Hope my experience helps you!