I applied for Off Campus placement at Qualcomm through their job portal(jobs.qualcomm.com) in October 2019. The opening was for Fresh Grad 2019. i.e. for fresher (no experience required).
I received a mail from them after around a month and it was for an online coding round. The coding round was scheduled on the next day.
Online Round :
The coding round was scheduled on HackerRank. There were 5 questions. The given time was 75 minutes. Difficulty level varied from moderate to high. Few of the questions were as follows.
- In an array find a triplet with some equal to k and the triplets must be in ascending order in the original array.
- Find maximum xor using k numbers from 1 to n.
I gave this round and after two days I again received a mail citing that I have an interview scheduled at Qualcomm, Hyderabad ( within 4 days). You don’t need to worry about flight tickets, cabs or anything. Qualcomm will take care of all your expenses from the picking you up from your house before interview to dropping you off at your house after interviews.
Round 1 (F2F):
I reached the Qualcomm Hyderabad (building) and they asked me to sit. Around 200 people were there for interviews for various roles including experience roles. After around waiting for an hour they called me and I went for the interview.
Interviewer asked me about myself and my education and work experience. I told him all the things. He then started asking about C and C++ and then asked some questions regarding bit manipulation. Below are the question asked by him.
- What happens when a C program is executed?
- How the memory is allocated during the lifetime of a C program?
- What is a Global variable?
- What are the differences between Global, Extern, Static and Volatile keywords?
- Swap two nibbles.
- Set Kth bit of a number.
- Identify weather a machine is Little ENDian or Big ENDian.
As I was aware with C and C++ as well as Bit Manipulation, I was able to answer all the questions and he seemed happy with my answers. After all these questions he said Thanks and asked me to wait outside.
Takeaways from this round : They ask about C and C++ in depth. You need to explain everything in detail as they want to know how well do you understand the basic concepts.
Around 30 minutes after the first round, they called me again for the second round. The interviewer was very nice. He asked me weather I knew OS(Operating System) or not. I said YES and then he started the questions.
- What is thread?
- Difference between process and thread.
- What is Critical section problem and how to solve it?
- What is semaphore?
- Deadlock avoidance and prevention.
- What is external and internal fragmentation.
- What is Page Fault and how to reduce it?
- Flip Kth Bit of a number.
- Few more questions regarding Bit Manipulation which I don’t remember exactly.
I was very familiar with OS so I answered all of the question with depth details. Few coding question he asked from Bit Manipulation and one question from array. They were of easy level and I solved them. He seemed happy and asked me to wait outside for the next round. Again the catch is you need to explain everything in depth. They don’t want to know how many thing you know, all they want is whatever thing you know, you should be able to explain them in depth.
After waiting for more than 2 hours. I was called for the 3rd round. It was the last technical round. The interviewer was me about my previous experience details and reason for switching organisation. He asked me questions from ML as I mentioned it in my CV. Asked me to explain my projects(academic as well as professional one) in detail. Then he started asking question from OOPs.
- What is polymorphism?
- What is inheritance?
- Diamond Problem.
- Virtual Function and it’s use.
- Generic templates.
- Some questions on stack and queues.
- One question on graph. There are n courses that needs to be completed by a student. Few courses depends on others. i.e. y is dependent on x means you can’t avail course y before availing course x. i.e. both x and y can not be in the same semester. x needs to be in a prior semester than y. Given number of courses and all the dependencies find the minimum number of semester for the student to complete all the courses satisfying all the dependencies.
Example:- Input:- n = 7
[means there are 7 courses namely c1, c2, c3, c4, c5, c6, c7],
number of dependencies k = 3 [means there are 3 dependencies]
dependencies, 3 1, 4 6, and 7 5 [means c3 depends on c1, c4 depends on c6 and c7 depends on c5]
Output:- output should be the minimum number of semesters required to complete all courses. in this case the output = 2 having semester 1 :- c1, c2, c5, c6 semester 2 :- c3, c4, c7
This was a very tough one I somehow answered it using Graphs by drawing cycles. He was just curious about my approach. After this question he asked me to ask about Qualcomm and why do I want to join Qualcomm. After he said “Thanks for coming” and told me to leave and the HR will contact me in future, if needed.
After 3 rounds, the interview was over and they escorted us to the Airport where we had our returning flight.
After 2 weeks, I again received a mail from the HR saying that my HR round will be telephonic
Round 4 HR(Telephonic):
This round was telephonic, the HR asked me why I am leaving my previous job and why do I want to join Qualcomm. What are my expectations. She asked me about my previous package and offered their package according to their standards. She said that I have been selected for employment. Gave me a form to fill and told me that I will receive an offer letter from their side within 2 weeks.
I was very happy after listening these words. I was trying hard to switch to a Product based company in recent times( as I was in a service based company). Finally I got what I wanted. After two weeks I received offer letter from their side. She asked me to decide the joining date. I picked 27th Jan as the joining date.
I joined Qualcomm on 27th Jan 2020 and now here I am working at Qualcomm. It took around 3 months from applying at Qualcomm to joining Qualcomm. The interview process was very lengthy but at every point they will provide you with all the things that you need. During the entire procedure you don’t need to worry about anything. They will take care of everything.
Important Topics: C/C++, OS, OOP, Bit Manipulation, Arrays, Data Structures.
Tips & Tricks: Be patient, the entire process will take time. Always be confident during the interview. If you don’t know something just say NO. Do a in-depth study of the topics because whatever topics you pick they will ask you to explain it deeply.