Open In App

Qualcomm Interview Experience (On-Campus) 2022

Round 1: Online Round (Platform – HirePro)

Around 40 students were shortlisted including me.



Round 2: Interview Round

There were three questions from DSA.



1. A friend of Alex has gifted them a movie collection, and Alex is excited to watch them all as quickly as possible. The duration of the movies is given in array durations[n], where n is the number of movies, and each movie duration lies between 1.01 and 3.00 units of time (up to two decimal places). Every day, Alex wants to spend no more than 3.00 units of time watching the movies but also wants to complete the movies in the least number of days possible. Alex does not leave a movie in between. That is, if Alex has picked up a movie, Alex watches the complete movie on the same day. Find the minimum number of days needed to watch all the movies. 

For example, n = 5 durations = [1.90, 1.04, 1.25, 2.5, 1.75] 

Answer – 3, [ Considering 1-based indexing, Alex can watch the movies in a minimum of 3 days as: first and second movie: 1.90 + 1.04 = 2.94 < 3.00, Day 2: fourth movie: 2.5 <= 3.00, Day 3: third and fifth movie: 1.25 +1.75 = 3.00 <= 3.00]

2. Given two positive integers n and k, perform a circular shift on the binary representation of n by k positions.

For example, n = 13, k=1, so the result should be 11.

3. Complete the function allocateMemory() in the below code in C language. 

int main() {
int *ptr = NULL;
allocateMemory();
*ptr = 5;
printf(“%d”, *ptr);
return 0;
}

Then he asked me about Operating System questions. The questions were:

  1. What is mutex?
  2. Difference between mutex and semaphores.
  3. How do deadlocks occur and how do prevent deadlocks?
  4. What is virtual memory and how it is achieved?
  5. What is the advantage of using thread over process?

I could not clear this round because the coding section did not go well.

Article Tags :