Qualcomm
20+ Interview Questions and Answers
Q1. What is Min-Cut placement algorithm? Given some block sizes, use the algorithm to place them on a given chip area
Min-Cut placement algorithm is used to place blocks on a given chip area.
Min-Cut algorithm partitions the chip into two parts and minimizes the cut between them
It is a graph-based algorithm that uses a flow network to represent the chip and its blocks
The algorithm iteratively partitions the network until all blocks are placed
Example: Placing logic gates on a microprocessor chip
Q2. What is parity and how is it used? Draw the circuit diagram for a parity checker
Parity is a method of error detection in digital communication. It involves adding an extra bit to a data stream to ensure even or odd number of 1s.
Parity is used to detect errors in data transmission.
It involves adding a parity bit to a data stream.
The parity bit is set to 1 or 0 depending on whether the number of 1s in the data stream is even or odd.
If an error occurs during transmission, the parity bit will be incorrect and the receiver can detect the error.
Parity can be u...read more
Q3. Draw the state diagram and the clocked D-flipflop circuit for a 0110 sequence detector
State diagram and clocked D-flipflop circuit for a 0110 sequence detector.
The state diagram will have four states: S0, S1, S2, and S3.
The circuit will have four D-flipflops, one for each state.
The output of the circuit will be high when the sequence 0110 is detected.
The clock signal will be used to synchronize the flipflops.
The state diagram and circuit can be designed using software like Quartus or Xilinx.
Q4. Explain the difference between Moore and Mealy state models
Moore state model outputs depend only on the current state, while Mealy state model outputs depend on both current state and inputs.
Moore model: output is a function of current state only
Mealy model: output is a function of current state and inputs
Moore model has a separate output function, while Mealy model combines output and state transition functions
Example: vending machine can be modeled using Mealy model as output depends on both current state and input (money inserted)...read more
Q5. Given a clock waveform of frequency f, design a circuit to get an output of frequency f/3
Design a circuit to get an output of frequency f/3 from a clock waveform of frequency f.
Use a counter to divide the frequency by 3
Implement a flip-flop to toggle the output
Use logic gates to control the counter and flip-flop
Q6. Arrange the inputs to AND gates so that power usage is optimized/delay is optimized
To optimize power usage/delay in AND gates, arrange inputs based on their capacitance and resistance.
Arrange inputs with lower capacitance and resistance closer to the gate
Inputs with higher capacitance and resistance should be placed farther away
Consider the layout of the circuit and the routing of the wires
Simulation tools can be used to determine optimal input arrangement
Q7. Draw the CMOS circuit for a given logic equation and do the corresponding W/L sizing
Answering a question on drawing CMOS circuit and W/L sizing for a given logic equation.
Understand the logic equation and its truth table
Use CMOS inverter and NAND gates to implement the logic
Size the transistors based on their role in the circuit
Check the circuit for correct functionality
Examples: AND gate, OR gate, XOR gate
Q8. Given the delays for gates and wires, draw output waveforms for the given logic circuit
Draw output waveforms for a logic circuit given delays for gates and wires.
Identify the logic gates and their delays
Determine the propagation delay for each wire
Use the delays to calculate the output waveform
Draw the waveform using a timing diagram
Q9. Draw a circuit for a set of logic equations using PLA
A circuit for a set of logic equations using PLA
PLA stands for Programmable Logic Array
PLA is a type of digital circuit used to implement combinational logic circuits
The circuit consists of an AND array and an OR array
Inputs are fed into the AND array and the outputs are fed into the OR array
Example: A PLA circuit for a 2-input XOR gate would have 2 inputs, 2 AND gates, and 1 OR gate
Q10. Design a memory organization given the size and block units
Designing a memory organization based on size and block units.
Determine the size of the memory and the size of each block unit
Choose a suitable memory organization scheme such as direct mapping, associative mapping, or set-associative mapping
Implement the chosen scheme and test for efficiency and accuracy
Q11. Draw the circuit diagram for a random number generator
A random number generator circuit diagram can be created using a noise source and an amplifier.
Use a noise source such as a Zener diode or a reverse-biased transistor
Amplify the noise signal using an amplifier circuit
Use a comparator to convert the analog signal to a digital signal
Add a clock circuit to control the output frequency
Q12. Why linux kernel ? And About how to compile linux kernel?
Linux kernel is popular for its open-source nature, stability, security, and flexibility. Compiling it allows customization and optimization.
Linux kernel is widely used due to its open-source nature, allowing for customization and collaboration.
It is known for its stability, security, and flexibility, making it a preferred choice for many developers and organizations.
Compiling the Linux kernel involves configuring the kernel options, building the kernel image, and installing ...read more
Q13. What happens at stack/memory level when a null ptr is dereferenced?
When a null pointer is dereferenced, it leads to a segmentation fault or access violation, causing the program to crash.
Dereferencing a null pointer means trying to access the memory location pointed by the null pointer.
This results in a segmentation fault or access violation, as the null pointer does not point to a valid memory address.
The operating system detects the illegal memory access and terminates the program to prevent further issues.
The stack and memory remain unaff...read more
Q14. What is a Schmitt trigger/inverter?
A Schmitt trigger/inverter is a circuit that converts a noisy input signal into a clean digital output signal.
It has two threshold voltage levels: a high threshold and a low threshold
The output of the circuit changes state only when the input voltage crosses one of the threshold levels
It is commonly used in digital circuits to clean up noisy signals and to provide hysteresis
Examples include debouncing switches, signal conditioning, and waveform shaping
Q15. What is RTOS and how does it differ from OS?
RTOS stands for Real-Time Operating System. It is designed to handle time-sensitive tasks and provide deterministic behavior.
RTOS is optimized for real-time applications that require precise timing and responsiveness.
Unlike general-purpose operating systems, RTOS provides deterministic behavior, meaning tasks are guaranteed to be completed within a specific time frame.
RTOS typically uses priority-based scheduling algorithms to ensure critical tasks are executed on time.
Exampl...read more
Q16. Draw and talk about a basic SRAM cell
An SRAM cell is a type of memory cell that stores a single bit of data using two cross-coupled inverters.
Consists of two inverters connected in a feedback loop
Has two stable states, representing 0 and 1
Uses two access transistors to read and write data
Commonly used in cache memory and microprocessors
Q17. Count number of elements in an array in python.
Use len() function to count number of elements in an array in Python.
Use len() function with the array as argument to get the count of elements.
Example: array = ['apple', 'banana', 'cherry'] Count = len(array) # Output: 3
Q18. Write a program to print left view of binary tree
Program to print left view of binary tree
Use level order traversal (BFS) to traverse the tree
Keep track of the level of each node and only print the first node at each level
Use a queue to store nodes and their levels
Q19. Merge two arrays in sorted order.
Merge two sorted arrays nums1 and nums2 into nums1 in-place.
Initialize pointers for nums1 and nums2 at the end of their elements
Compare elements pointed by the two pointers and place larger element at end of nums1
Repeat until all elements from nums2 have been merged into nums1
Q20. What does malloc return?
malloc returns a pointer to a block of memory allocated from the heap.
malloc returns a void pointer (void*)
The returned pointer can be cast to the desired data type
If malloc fails to allocate memory, it returns NULL
Q21. Why not to use malloc?
malloc should be avoided due to potential memory leaks and security vulnerabilities.
malloc does not initialize memory, leading to potential bugs and crashes.
It does not provide any bounds checking, leading to buffer overflows.
Memory allocated with malloc must be explicitly freed with free() to avoid memory leaks.
Using malloc can be less efficient than using stack memory for small allocations.
Alternatives like calloc() and new in C++ provide safer and more convenient memory al...read more
Q22. Write a program to reverse a linked list
Program to reverse a linked list
Create a function to reverse the linked list by changing the next pointers
Use three pointers to keep track of current, previous, and next nodes
Iterate through the list and update the pointers accordingly
Example: 1->2->3->4->5 becomes 5->4->3->2->1 after reversal
Q23. Write a program to rotate a binary tree
Program to rotate a binary tree
Create a function to rotate the binary tree by swapping left and right child nodes
Recursively rotate each subtree of the binary tree
Update the parent nodes to point to the new child nodes after rotation
Q24. Difference between list and tuple
List is mutable, tuple is immutable in Python.
List can be modified after creation, tuple cannot.
List is defined using square brackets [], tuple using parentheses ().
List is used for collections of items that may change, tuple for fixed collections.
Example: list_example = [1, 2, 3], tuple_example = (4, 5, 6)
Q25. Merge two sorter linked list
Merge two sorted linked lists into a single sorted linked list
Create a new linked list to store the merged result
Iterate through both input linked lists and compare nodes to determine the order in which they should be merged
Update the next pointers of the nodes in the new linked list accordingly
Q26. Reverse words in String
Reverse words in a given string
Split the string into words using a space as delimiter
Reverse each word individually
Join the reversed words back together with a space in between
Q27. RF configurations and uses
RF configurations and uses
RF stands for Radio Frequency
RF configurations refer to the different ways in which radio frequency signals can be set up and utilized
RF is commonly used in wireless communication systems, such as Wi-Fi, Bluetooth, and cellular networks
RF configurations can include various parameters like frequency, modulation, bandwidth, and power levels
Different RF configurations are used for different applications, such as data transmission, voice communication, r...read more
Q28. WLAN Connection procedure
WLAN connection procedure involves scanning for available networks, selecting a network, entering the password, and connecting to the network.
Scan for available networks
Select a network to connect to
Enter the password for the selected network
Establish connection to the network
More about working at Qualcomm
Top HR Questions asked in null
Interview Process at null
Top Engineer Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month