i
Cadence Design
Systems
Filter interviews by
Efficiently finding the median from a stream of integers requires maintaining a balanced data structure for dynamic data.
Use Two Heaps: Maintain a max-heap for the lower half and a min-heap for the upper half of the numbers to efficiently find the median.
Insertion: When a new number is added, decide which heap to insert it into based on its value relative to the current medians.
Balancing Heaps: After each insertio...
Sort an array of strings based on a user-defined order.
Define the custom order as a string, e.g., 'cba'.
Create a mapping of characters to their indices for quick lookup.
Use a sorting function that utilizes the mapping to sort the array.
Example: For array ['a', 'b', 'c'] and order 'cba', the result should be ['c', 'b', 'a'].
A copy constructor creates a new object as a copy of an existing object, ensuring proper resource management.
A copy constructor is a special constructor in C++ that initializes an object using another object of the same class.
Syntax: ClassName(const ClassName &obj) { /* copy data */ }
Used for deep copying when an object contains pointers to dynamically allocated memory.
Example: If class A has a pointer, the co...
Tree traversals are methods for visiting all nodes in a tree data structure, including pre-order, in-order, post-order, and level-order.
Pre-order Traversal: Visit root, then left subtree, then right subtree. Example: For tree (A, B, C), output is A, B, C.
In-order Traversal: Visit left subtree, then root, then right subtree. Example: For tree (A, B, C), output is B, A, C.
Post-order Traversal: Visit left subtree, th...
Friend functions in C++ are functions that are not members of a class but have access to its private and protected members.
Friend functions are declared inside a class with the keyword 'friend'.
They can access private and protected members of the class they are friends with.
Friend functions are not member functions of the class.
They can be standalone functions or functions of another class.
Example: friend void dis...
Diamond Problem is a common issue in multiple inheritance in C++ where a class inherits from two classes that have a common base class.
Diamond Problem occurs when a class inherits from two classes that have a common base class, leading to ambiguity in accessing members.
It can be resolved in C++ using virtual inheritance, where the common base class is inherited virtually to avoid duplicate copies of base class mem...
You are provided with 'N' pairs of integers, where the first number in each pair is less than the second number, i.e., in pair (a, b) -> a < b. A pair chain is defin...
Find the length of the longest pair chain that can be formed using the provided pairs.
Sort the pairs based on the second number in each pair.
Iterate through the sorted pairs and keep track of the maximum chain length.
Update the maximum chain length based on the conditions given in the problem statement.
Multitasking involves running multiple tasks concurrently, while multithreading allows multiple threads within a single process to run concurrently.
Multitasking allows multiple processes to run concurrently on a single processor, switching between them quickly.
Multithreading allows multiple threads within a single process to run concurrently, sharing resources like memory and CPU time.
Multitasking is at the proces...
TCP/IP is a set of rules governing the exchange of data over the internet.
TCP/IP stands for Transmission Control Protocol/Internet Protocol.
It is a suite of communication protocols used to connect devices on the internet.
TCP ensures that data is delivered reliably and in order, while IP handles the addressing and routing of data packets.
Examples of TCP/IP applications include web browsing (HTTP), email (SMTP), and...
Data abstraction is the process of hiding implementation details and showing only the necessary features of an object.
Data abstraction can be achieved through classes and objects in object-oriented programming.
It involves creating a class with private data members and public methods to access and modify those data members.
By using data abstraction, users can interact with objects without needing to know the intern...
I appeared for an interview in Mar 2025, where I was asked the following questions.
Sort an array of strings based on a user-defined order.
Define the custom order as a string, e.g., 'cba'.
Create a mapping of characters to their indices for quick lookup.
Use a sorting function that utilizes the mapping to sort the array.
Example: For array ['a', 'b', 'c'] and order 'cba', the result should be ['c', 'b', 'a'].
Efficiently finding the median from a stream of integers requires maintaining a balanced data structure for dynamic data.
Use Two Heaps: Maintain a max-heap for the lower half and a min-heap for the upper half of the numbers to efficiently find the median.
Insertion: When a new number is added, decide which heap to insert it into based on its value relative to the current medians.
Balancing Heaps: After each insertion, en...
A copy constructor creates a new object as a copy of an existing object, ensuring proper resource management.
A copy constructor is a special constructor in C++ that initializes an object using another object of the same class.
Syntax: ClassName(const ClassName &obj) { /* copy data */ }
Used for deep copying when an object contains pointers to dynamically allocated memory.
Example: If class A has a pointer, the copy co...
Tree traversals are methods for visiting all nodes in a tree data structure, including pre-order, in-order, post-order, and level-order.
Pre-order Traversal: Visit root, then left subtree, then right subtree. Example: For tree (A, B, C), output is A, B, C.
In-order Traversal: Visit left subtree, then root, then right subtree. Example: For tree (A, B, C), output is B, A, C.
Post-order Traversal: Visit left subtree, then ri...
I appeared for an interview in Sep 2021.
Round duration - 60 minutes
Round difficulty - Medium
Standard Data Structures and Algorithms round . One has to be fairly comfortable in solving algorithmic problems to pass this round with ease.
Given an integer array arr
and an integer Sum
, count and return the total number of pairs in the array whose elements add up to the given Sum
.
The first line contain...
Count and return the total number of pairs in the array whose elements add up to a given sum.
Use a hashmap to store the frequency of each element in the array.
Iterate through the array and for each element, check if (Sum - current element) exists in the hashmap.
Increment the count of pairs if the complement exists in the hashmap.
Given an array ARR
of N
integers, determine the minimum number of jumps required to reach the last index of the array (i.e., N - 1
). From any index i
, you can jump to an in...
The problem involves finding the minimum number of jumps required to reach the last index of an array, where each element indicates the maximum distance that can be jumped from that position.
Use a greedy approach to keep track of the farthest reachable index and the current end of the jump.
Iterate through the array, updating the farthest reachable index and incrementing the jump count when necessary.
Return the jump cou...
Round duration - 70 minutes
Round difficulty - Medium
This round was preety intense and went for over 1 hour . I was asked 2 preety good coding questions (one was from Graphs and the other one was from DP) . After that I was grilled on my Computer Networks and Operating System concepts but luckily I was able to answer all the questions and the interviewer was also quite impressed.
Determine if a given undirected graph can be divided into exactly two disjoint cliques. Print 1 if possible, otherwise print 0.
The first line ...
Check if a given undirected graph can be divided into exactly two disjoint cliques.
Create an adjacency list to represent the graph
Use BFS or DFS to check if the graph is bipartite
If the graph is bipartite, it can be divided into two disjoint cliques
You are provided with 'N' pairs of integers, where the first number in each pair is less than the second number, i.e., in pair (a, b) -> a < b. A pair chain is defi...
Find the length of the longest pair chain that can be formed using the provided pairs.
Sort the pairs based on the second number in each pair.
Iterate through the sorted pairs and keep track of the maximum chain length.
Update the maximum chain length based on the conditions given in the problem statement.
TCP/IP is a set of rules governing the exchange of data over the internet.
TCP/IP stands for Transmission Control Protocol/Internet Protocol.
It is a suite of communication protocols used to connect devices on the internet.
TCP ensures that data is delivered reliably and in order, while IP handles the addressing and routing of data packets.
Examples of TCP/IP applications include web browsing (HTTP), email (SMTP), and file...
DHCP Protocol is used to automatically assign IP addresses to devices on a network.
DHCP stands for Dynamic Host Configuration Protocol
It allows devices to obtain IP addresses and other network configuration information dynamically
DHCP servers assign IP addresses to devices for a specific lease period
DHCP uses a client-server model where the client requests an IP address and the server assigns one
DHCP uses UDP port 67 f...
Multitasking involves running multiple tasks concurrently, while multithreading allows multiple threads within a single process to run concurrently.
Multitasking allows multiple processes to run concurrently on a single processor, switching between them quickly.
Multithreading allows multiple threads within a single process to run concurrently, sharing resources like memory and CPU time.
Multitasking is at the process lev...
Round duration - 60 minutes
Round difficulty - Hard
This round majorly focused on past projects and experiences from my Resume and some standard System Design + LLD questions + some basic OOPS questions which a SDE-2 is expected to know .
Design a system like Pastebin for sharing text snippets
Use a web application framework like Django or Flask for the backend
Store text snippets in a database like MySQL or MongoDB
Generate unique URLs for each snippet to share with others
Implement features like syntax highlighting, expiration time, and password protection
Consider implementing user accounts for managing and organizing snippets
Data abstraction is the process of hiding implementation details and showing only the necessary features of an object.
Data abstraction can be achieved through classes and objects in object-oriented programming.
It involves creating a class with private data members and public methods to access and modify those data members.
By using data abstraction, users can interact with objects without needing to know the internal wo...
Diamond Problem is a common issue in multiple inheritance in C++ where a class inherits from two classes that have a common base class.
Diamond Problem occurs when a class inherits from two classes that have a common base class, leading to ambiguity in accessing members.
It can be resolved in C++ using virtual inheritance, where the common base class is inherited virtually to avoid duplicate copies of base class members.
...
Friend functions in C++ are functions that are not members of a class but have access to its private and protected members.
Friend functions are declared inside a class with the keyword 'friend'.
They can access private and protected members of the class they are friends with.
Friend functions are not member functions of the class.
They can be standalone functions or functions of another class.
Example: friend void displayD...
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
Top trending discussions
I appeared for an interview before May 2021.
Round duration - 90 Minutes
Round difficulty - Medium
DS, ALgo & Operating systems.
A race condition is a situation in which the outcome of a program depends on the timing of uncontrollable events.
Occurs when multiple threads or processes access shared data or resources concurrently
Can lead to unpredictable behavior and bugs in the program
Example: Two threads trying to increment the same variable simultaneously
Mutex is used for exclusive access to a resource by only one thread at a time, while semaphore can allow multiple threads to access a resource simultaneously.
Mutex is binary semaphore with ownership, used for mutual exclusion.
Mutex is typically used to protect critical sections of code.
Semaphore is a generalized synchronization primitive that can have a count greater than 1.
Semaphore can be used to control access to a ...
Determine whether a given integer N
is a power of two. Return true
if it is, otherwise return false
.
An integer 'N' is considered a power of two if it can be e...
Check if a given integer is a power of two or not.
Check if the given integer is greater than 0.
Check if the given integer has only one set bit (i.e., it is a power of 2).
Return true if the above conditions are met, else return false.
Round duration - 100 Minutes
Round difficulty - Medium
Focus on projects, Computer Architecture.
Round duration - 30 Minutes
Round difficulty - Easy
Tip 1 : Work on fundamentals of C, focus more on reading standard text like The C programming language by DR.
Tip 2 : Operating Systems is a must, use either galvin or tanenbaum.
Tip 3 : Focus on DS Like linked list, trees, stacks , queues and arrays.
Tip 1 : Include Operating system, computer architecture
Tip 2 : Include projects related to IOT
I applied via Recruitment Consultant and was interviewed before May 2020. There were 3 interview rounds.
Clone a linked list with random pointers.
Create a new node for each node in the original list.
Store the mapping between the original and cloned nodes in a hash table.
Traverse the original list again and set the random pointers in the cloned list using the hash table.
Return the head of the cloned list.
I appeared for an interview in Aug 2017.
I appeared for an interview in Aug 2017.
I lack experience in a specific technology required for the role.
I may not have experience with a specific programming language or framework mentioned in the job description.
I may not have worked on projects similar to what your company is working on.
I may not have experience with certain tools or technologies that are crucial for the role.
I appeared for an interview before May 2016.
I applied via Campus Placement and was interviewed in Dec 2016. There were 5 interview rounds.
AC and DC are two types of electrical current with different characteristics.
AC stands for Alternating Current, while DC stands for Direct Current.
AC periodically changes direction, while DC flows in one direction.
AC is commonly used in household electrical systems, while DC is used in batteries and electronic devices.
AC can be easily transformed to different voltage levels using transformers, while DC requires convert...
Fill the cells in the pyramid
The pyramid is a pattern of numbers or characters arranged in a triangular shape
Each row of the pyramid has one more cell than the previous row
Start filling the pyramid from the top and move downwards
The cells can be filled with any desired numbers or characters
An alternator and generator are devices that convert mechanical energy into electrical energy.
Both alternators and generators are used to generate electricity.
They work on the principle of electromagnetic induction.
Alternators are commonly used in modern vehicles to charge the battery and power the electrical systems.
Generators are often used as backup power sources during power outages.
Examples of alternators include ...
Quick sort has an average and worst-case time complexity of O(n log n).
Quick sort is a divide-and-conquer algorithm.
It selects a pivot element and partitions the array around the pivot.
The average and worst-case time complexity is O(n log n).
However, in the worst-case scenario, it can have a time complexity of O(n^2).
I developed a mobile app for tracking daily water intake and hydration levels.
Researched best practices for hydration tracking
Designed user-friendly interface for inputting water intake
Implemented data visualization for tracking hydration levels
Tested app with focus groups for feedback
Continuously updated app based on user suggestions
SHA Algorithm is a cryptographic hash function that takes an input and produces a fixed-size output.
SHA stands for Secure Hash Algorithm.
It is widely used in various security applications and protocols.
SHA-1, SHA-256, SHA-384, and SHA-512 are common variants of SHA.
It generates a unique hash value for each unique input.
The output is a fixed length, regardless of the input size.
SHA is used for data integrity, password h...
To delete a node in a linked list, we need to adjust the pointers of the previous node and the next node.
Find the node to be deleted
Adjust the pointers of the previous node and the next node
Free the memory of the deleted node
I am a passionate software engineer with experience in developing web applications and a strong background in computer science.
Experienced in developing web applications using technologies like HTML, CSS, JavaScript, and React
Strong background in computer science with knowledge of data structures and algorithms
Proficient in programming languages such as Java, Python, and C++
Familiar with Agile development methodologies...
As an intern supervisor, I faced challenges in terms of communication, technical skills, and time management.
Communication barriers due to language or cultural differences
Lack of technical skills or knowledge required for the job
Difficulty in managing time and meeting deadlines
Inability to work independently or as part of a team
Resistance to feedback or constructive criticism
Limited exposure to real-world scenarios and...
I prefer a job place that offers a collaborative and innovative work environment.
Prefer a workplace that encourages teamwork and communication
Value opportunities for learning and growth
Seek a company that fosters creativity and innovation
I will solve disputes by promoting open communication, active listening, and finding mutually beneficial solutions.
Encourage open and honest communication between parties involved
Actively listen to each party's concerns and perspectives
Identify common goals and interests to find mutually beneficial solutions
Mediate discussions and facilitate negotiations if necessary
Document agreements and ensure follow-up to prevent f...
Qualcomm is a leading semiconductor and telecommunications equipment company.
Qualcomm is known for its expertise in wireless technologies and mobile chipsets.
They have developed popular Snapdragon processors used in smartphones and tablets.
Qualcomm has made significant contributions to the advancement of 5G technology.
The company has a strong patent portfolio and is involved in licensing its technology to other manufac...
I appeared for an interview in Dec 2016.
I appeared for an interview in Sep 2016.
Code for scheduling in C
Define a struct for the task with fields like start time, end time, priority, etc.
Create an array of tasks and sort them based on priority and start time
Implement a scheduling algorithm like Round Robin or Priority Scheduling
Use system calls like fork() and exec() to create and execute processes
Implement synchronization mechanisms like semaphores or mutexes to avoid race conditions
based on 1 interview experience
Difficulty level
Duration
based on 1 review
Rating in categories
Lead Software Engineer
159
salaries
| ₹25.2 L/yr - ₹43.4 L/yr |
Principal Software Engineer
118
salaries
| ₹34 L/yr - ₹60 L/yr |
Software Engineer2
114
salaries
| ₹16.6 L/yr - ₹29 L/yr |
Software Engineer
91
salaries
| ₹14.1 L/yr - ₹25.7 L/yr |
Lead Engineer
71
salaries
| ₹24.2 L/yr - ₹35.8 L/yr |
Synopsys
Qualcomm
Intel
Molex