Summary
I interviewed with Qualcomm for a Senior Engineer position in Hyderabad in March 2024 and received an offer in early April. However, I ultimately declined the offer to accept a competing offer from Amazon.
Full Experience
Introduction
In March 2024, I had the opportunity to interview with Qualcomm for the position of Senior Engineer in their Display team. With 3.2 years of prior experience as an SDE 2 at a product-based MNC, I was excited to explore this new opportunity.
Application and Initial Contact
I applied through Qualcomm’s career page in late February. Within 10 days, I received a call from a recruiter. The interview process moved swiftly, with the first two rounds scheduled back-to-back on the same day. Surprisingly, there were no written or online assessments.
- Company: Qualcomm
- Position: Senior Engineer
- Team: Display
- Date: March 2024
- Offer Date: 1st week of April 2024
Round 1: Coding (1 hour 10 minutes)
We began with introductions and a discussion about my work and projects for about 10 minutes. For the next 45 minutes, we delved into fundamental C++ and C concepts, including processes, threads, dangling pointers, etc. We covered polymorphism in detail, including types, examples, and code samples. Virtual and friend keywords were also discussed. The technical discussion involved MCQ-style questions on code output, compilation, and run-time errors.
For the coding challenge, I was asked to solve Merge k sorted lists. I wrote the entire solution on a shared whiteboard, followed by a time complexity analysis and code walkthrough.
Round 2: Design (2 hours 5 minutes)
This round started with introductions and a detailed discussion of my current work and projects for about 20 minutes.
Question 1: Low-Level Algorithmic Discussion (1 hour)
I was presented with a scenario involving a CRT display panel and an SoC chipset. Both share a single memory buffer: the SoC writes the next frame (producer), and the panel reads from it (consumer). Assume 120 FPS and a 1ms turnaround time (TAT). In CRT technology, the panel displays frames line by line. Imagine the previous frame showed an "A" and the new frame needs a "V." During line-by-line display, if someone takes a screenshot, it might capture parts of both frames (like "> < "), causing screen tearing. My task was to design an algorithm to address this screen tearing. I presented three distinct solutions, each with its advantages and disadvantages. We had a thorough discussion about synchronization, similar to the reader-writer problem.
Question 2: Low-Level Design (30 minutes)
I was asked to design a text editor that supports up to 10 undo/redo operations.
Initial Assumption: Users cannot edit previously written letters. A follow-up question asked how I would modify the design to allow editing and deleting.
The final five minutes were reserved for any questions I had.
Intermediate Feedback
Within two hours, HR contacted me to inform me of positive feedback and schedule a third round. I requested it to be held the next day.
Round 3 (Hiring Manager) (25 minutes)
The interview began with introductions. While I anticipated a technical round, the hiring manager posed two distinct questions:
Question 1: Door Flip Puzzle
I was given a scenario with N doors, all initially closed. There are also N people numbered from 1 to N.
- Person 1 flips all doors that are multiples of 1.
- Person 2 flips all doors that are multiples of 2.
- ...
- Person
Nflips all doors that are multiples ofN.
Task: Which doors will remain open after all N steps?
I solved this quickly, identifying perfect squares as the answer, providing an example for N = 10, and proving it generally by stating that doors with an odd number of factors will be open.
Question 2: Divisibility Rule of 11
I was asked to explain the divisibility rule of 11. I presented a clear explanation.
The interview was scheduled for 45 minutes but concluded within 25 minutes. The hiring manager provided verbal positive feedback.
Overall Feedback and Result
The next business day, I received a hire via email, and compensation details were finalized within 3-4 days. I humbly declined the offer from Qualcomm, as I had also received a competing offer from Amazon around the same time, which I ultimately accepted.
Interview Questions (5)
Consider a CRT display panel and an SoC chipset. Both share a single memory buffer: the SoC writes the next frame (producer), and the panel reads from it (consumer). Assume 120 FPS and a 1ms turnaround time (TAT). In CRT technology, the panel displays frames line by line. Imagine the previous frame showed an "A" and the new frame needs a "V." During line-by-line display, if someone takes a screenshot, it might capture parts of both frames (like "> < "), causing screen tearing. Design an algorithm to address screen tearing.
Design a text editor that supports up to 10 undo/redo operations.
Initial Assumption: Users cannot edit previously written letters. Follow-Up Question: How would you modify the design to allow editing and deleting?
You are given N doors, all initially closed. There are also N people numbered from 1 to N.
- Person 1 flips all doors that are multiples of 1.
- Person 2 flips all doors that are multiples of 2.
- ...
- Person
Nflips all doors that are multiples ofN.
Task: Which doors will remain open after all N steps?
Explain the divisibility rule of 11.