SWE
Interview Date
22/9/25
Result
Rejected
Difficulty
Medium
Rounds
04
Drive Type
On-Campus
Topics asked
Detailed experience
Online Assessment (OA) The OA had multiple-choice questions from Aptitude, Operating Systems, and C Programming. There was negative marking, which I didn’t notice initially, so I attempted everything—but fortunately still performed well enough to get shortlisted for interviews. Interview Process I had two in-person interview rounds. 1 Round 1 The interviewer began with questions about my projects. After I explained them, she moved on to OS and OOPs topics: priority inversion, preemptive vs. non-preemptive scheduling, overloading, abstraction, etc. I answered these confidently. Then she asked me to write a custom implementation of memcpy. I wrote basic pseudocode using char pointers to copy data from source to destination, but she wasn’t satisfied—she pointed out the lack of buffer overflow checks and hinted there was a more robust implementation. I tried adding safety checks but couldn’t frame the correct syntax on the spot. Next, she asked me to write a function to merge two linked lists in a zig-zag manner (A1-B1-A2-B2-A3…). I proposed a recursive approach. She initially struggled to see how I handled edge cases with mismatched list lengths, so I walked her through a small example manually. She accepted it and then asked if I had any questions for her, which I did. Later, I heard that other candidates were asked much simpler linked-list questions like inserting a node at the beginning. It honestly frustrated me—the custom memcpy implementation was far more complex, and almost none of us could’ve written a perfect version under pressure. It felt a little unfair. 2 Round 2 The second interview was taken by a senior manager. After my introduction, he noticed I had worked with distributed systems in a NoSQL project and had been a TA for a Distributed Consensus and Blockchain course. He tried to connect the two topics—even though they’re mostly separate—and asked questions around consensual data sharing in distributed databases. I gave a reasonable explanation and answered several technical and semi-related questions. He then asked me about endianness. After I explained it, he asked me to write a C program to determine a system’s endianness. I came up with the approach on the spot, using a char* to inspect the byte representation of an integer. He agreed it was correct. Since the interview so far was heavy on C and pointers, I tried to steer the interview toward DSA to show broader capability. He agreed and gave me a classic question: “Swap two variables without using a third variable.” I acted as if I hadn't seen it before—first suggesting the C++ built-in swap, then writing the addition/subtraction method. He pointed out the risk of integer overflow, and I pretended to “realize” it. He hinted the optimal solution involved bitmasking, and after some thinking, I said “XOR?”. He was surprised that I figured it out and asked how I came up with it. I mentioned competitive programming, bitmasking techniques, common operations like checking powers of two, clearing bits, and how XOR is also used in encryption. He seemed genuinely impressed and even said: “We’ll likely meet at Qualcomm. You have great potential—I’ll put in a good word with HR.” I ended by asking him questions about his work. Result I wasn’t selected. Thoughts / Reflections I had to wait nearly two hours after Round 2 because they were still discussing whether to take another candidate. Not being selected hurt, especially since I felt I performed really well. But that’s how things go—until your name is on the list, you can’t rely on anyone’s words, not even a manager’s. For preparation: Use the IMT2019 Experience Document, which covers many frequently asked Qualcomm interview questions. Be strong with C programming, especially pointers, and core CS subjects like OS and OOPs.