Qualcomm Interview Experience 2019 (on campus)

Round 1 – Written test

In this round, we were judged on aptitude, basic concepts of core computer science, output based questions in C (all medium level).

Round 2 – Technical 1



In this round, my basic programming skills, Operating System concepts and Computer Networks concepts were tested.

Coding

Explain the logic and implementation of finding a intersection point in two linked list ( https://www.geeksforgeeks.org/write-a-function-to-get-the-intersection-point-of-two-linked-lists/).

I explained two approaches,

  1. Using extra space, i.e. use a HashSet, add all the elements of the first list and then add the elements from the second list. Whenever we find an element which is already present in the HashSet, we find the intersection point.

Obviously, the interviewer asked me not to use extra space. So I explained the other approach,

  1. Find lengths of both the linked lists and find the difference ‘d’ between both the lengths. Traverse the longer linked list by ‘d’ and then traverse both the list together and in each iteration check if both the nodes are equal. If they are equal, we have our intersection point.

He was satisfied with the answer but he did not want these many operations, so he asked me another approach. While I was thinking about the solution, he asked me if I can detect a loop in the linked list. After I told him about the loop detection using fast and slow pointers, he asked me if I can use the loop detection in the solution of the first problem. The answer to that is to connect the last node the linked list to the first node of any of the linked list which will just create a loop in the linked list and the problem boils down to finding the loop node in the linked list.

Operating System

The interviewer asked me

  • Priority Inversion and ways to tackle it
  • To explain race condition, deadlock, critical section problem with examples
  • Questions related to threads and processes
  • Design the memory layout of a C program that he wrote

Computer Networks

He asked me to explain all the layers of the TCP/IP protocol suite and went deep in the data link layer (responsibilities and methods used in it).


Project – The interviewer asked me to explain one of my projects in detail.

Round 3 – Technical 2

This round was also about coding and operating systems.

Coding

The interviewer asked me to explain and write production level code for this https://www.geeksforgeeks.org/check-for-balanced-parentheses-in-an-expression/ problem.

Operating System

  • A lot of questions were asked on shared memory systems (like how exactly the memory is shared between processes in different scenario)
  • I don’t remember the question completely but it was something like – How to copy the contents of two clocks one of which changes every millisecond while the other changes every second in two registers without using any temporary registers. I could not answer it properly but he was satisfied with my thought process.
  • A few more questions on virtual memory and paging.

HR round

The last round looked like a formality where the HR just asked me to introduce myself, asked my preferences in terms of work and location. I also asked a few questions about Qualcomm and the work I am gonna do there.

Final result

Received placement offer for the position of Engineer (Software).

Write your Interview Experience or mail it to contribute@geeksforgeeks.org



My Personal Notes arrow_drop_up

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.