Preparing for an interview? Check out Cracking the Coding Interview
Published on

Engineer Qualcomm | Hyderabad

Author
  • Shared Anonymously

Current Experience : A big Tech Company, Bangalore India
Years of experience : 2.5 years
Verdict : Rejected
Note : Not entirely sure why this happened, maybe I couldn't make them believe that I would join qualcomm for sure, or a zillion other reasons. rounds went good, that I am sure about !

How : I reached to a recruiter after seeing a LinkedIn post, team works on NPU side [qualcomm's custom hardware] for laptop SOCs, and the rounds got scheduled.

Note : Since the team has tech stack written in "Python", Tech recruiter asked to write code in Python for better alignment.

Round 1 : [With a mid-senior level engineer, 1 hour]
A bunch of parsing + DSA mixtures

Question 1 [Python Parsing]

  • Do ls on a cli and copy the cli output and then get all the files which are greater than 800 bytes in size.

Question 2 [Implement Stack Class]

  • Used array as underlying data-structure.

Question 3 [Go from position 1 to position N, steps are 2x, or x - 1]
Example : if you at position 10, you can go to position 20 or position 9.
Hint : Think Greedy

Question 4 [Some more general stuff, don't remember]

Round 2 [With a senior developer, 1 hour]
Question 1 :

  • Given a array A, find the local maxima and local minimas.
  • local minima at idx i happens if A[i - 1] > A[i] < A[i + 1]
  • local maxima at idx i happens if A[i - 1] < A[i] > A[i + 1]

Question 2 : https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/description/

  • On similar minimas and maximas line, buy at local minima and sell at local maxima
  • Have to implement a binary search as well in bw; worked on the test cases; can't say for sure if this is how to do this !

Question 3 : [LLD, create a bank service]
Functional Requirements:

  1. Ability to open a new account
  2. Ability to onboard a new customer.
  3. Debit / Credit Transactions on the account per customer_id
  4. Check Balance

How to solve :

  1. Think major entites :
    Bank, Branch, Customer, Account, Transaction
    Credit inherits : Transaction
    Debit inherits : Transaction
    Check Balance inherits : Transaction

  2. Create CRUD classes for each entity, take DB as SQL type so 1:1 mapping from class to tables.

  3. Had to write just AccountService class and a function called openAccount(customer_id : str, initial_balance: float, branch : name) ; and interviewer figured out that I would be able to do this, so this got over.

Round 3 [Basics of CS with EM; highly ranked individual]
Questions :

  • What are some sorting algos that come to your mind, state time complexity !
  • What are types of trees that you are familiar with !
  • Remove duplicates from a SinglyLinkedList that is sorted on values.
  • Why qualcomm ?
  • Why moving ?
  • General Stuff !
ReportMark as Helpful