Filter interviews by
Forgot the specifics but it had several OS, Digital Design and Computer Architecture questions followed by one coding implementation.
Rainwater problem involves calculating the amount of rainwater that can be trapped between buildings.
Calculate the maximum height of water that can be stored at each index
Calculate the water trapped at each index by subtracting the height of the building at that index from the minimum of the maximum heights on the left and right
Sum up the water trapped at each index to get the total amount of rainwater trapped
I applied via Campus Placement and was interviewed in Aug 2024. There were 4 interview rounds.
30 Questions, each of 6Marks
2 coding question, 1 finding all pairs in whose GCD = K, 2nd was debugging
Move 0's from middle of array to the end while maintaining order
Iterate through the array and move 0's to the end while keeping the order intact
Use two pointers to track the current position and the position to move 0's to
Example: Input: ['a', 'b', '0', 'c', '0', 'd'], Output: ['a', 'b', 'c', 'd', '0', '0']
I applied via Campus Placement and was interviewed in Apr 2024. There was 1 interview round.
42 mcq questions on core qubject, 1.5 hr
Siemens EDA interview questions for popular designations
I applied via Campus Placement and was interviewed before Aug 2023. There were 3 interview rounds.
Question on Recursion and Trees
I applied via Company Website and was interviewed in Mar 2022. There were 3 interview rounds.
I was given a word document that contained rough process details about working of an electronic design software.
Was given 24 hours time and I had to understand that rough process and then convert that to proper user manual. A different user manual was given for reference.
Top trending discussions
To check if a directed graph is cyclic or not
Use Depth First Search (DFS) algorithm to traverse the graph
Maintain a visited set to keep track of visited nodes
Maintain a recursion stack to keep track of nodes in the current DFS traversal
If a node is visited and is already in the recursion stack, then the graph is cyclic
If DFS traversal completes without finding a cycle, then the graph is acyclic
Return a random byte from a stream of bytes with equal probability.
Create a variable to store the count of bytes read
Create a variable to store the current random byte
For each byte read, generate a random number between 0 and the count of bytes read
If the random number is 0, store the current byte as the random byte
Return the random byte
Check if a binary tree is a binary search tree or not.
Traverse the tree in-order and check if the values are in ascending order.
For each node, check if its value is greater than the maximum value of its left subtree and less than the minimum value of its right subtree.
Use recursion to check if all nodes in the tree satisfy the above condition.
Algorithm to find Nth-to-Last element in a singly linked list of unknown length
Traverse the list and maintain two pointers, one at the beginning and one at Nth node from beginning
Move both pointers simultaneously until the second pointer reaches the end of the list
The first pointer will be pointing to the Nth-to-Last element
If N=0, return the last element
Parse the list only once
Print all possible permutations of an array of integers
Use recursion to swap elements and generate permutations
Start with the first element and swap it with each subsequent element
Repeat the process for the remaining elements
Stop when all elements have been swapped with the first element
Print each permutation as it is generated
Design a stack that prints the minimum element pushed in O(1)
Use two stacks, one for storing elements and another for storing minimums
When pushing an element, compare it with the top of minimum stack and push the smaller one
When popping an element, pop from both stacks
To get the minimum element, just return the top of minimum stack
To find the starting point of a loop in a linked list, use Floyd's cycle-finding algorithm.
Use two pointers, one moving at twice the speed of the other.
When they meet, move one pointer to the head of the list and keep the other at the meeting point.
Move both pointers one step at a time until they meet again, which is the starting point of the loop.
To find a number in a matrix where all rows and columns are sorted non-decreasingly. Complexity of the solution.
Use binary search to find the number in each row and column
Start from the top-right corner or bottom-left corner to optimize search
Time complexity: O(m log n) or O(n log m) depending on the starting corner
I was interviewed in Jul 2017.
Code to print * in five consecutive lines
Use a loop to iterate five times
Inside the loop, print a string containing a single * character
Code to calculate number of bounces a ball goes through until it comes to rest.
Use a loop to simulate the bounces until the ball stops bouncing
Calculate the height of each bounce using the given formula
Keep track of the number of bounces in a counter variable
The best and less time consuming way to calculate factorial of a number is using iterative approach.
Iteratively multiply the number with all the numbers from 1 to the given number
Start with a result variable initialized to 1
Multiply the result with each number in the range
Return the final result
Code to find factorial using function recursion
Define a function that takes an integer as input
Check if the input is 0 or 1, return 1 in that case
Otherwise, call the function recursively with input-1 and multiply it with the input
posted on 14 Jul 2017
based on 6 interviews
Interview experience
based on 41 reviews
Rating in categories
Senior Member of Technical Staff
42
salaries
| ₹0 L/yr - ₹0 L/yr |
Member Technical Staff
19
salaries
| ₹0 L/yr - ₹0 L/yr |
Technical Staff Member Lead
12
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Engineer
9
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Developer
7
salaries
| ₹0 L/yr - ₹0 L/yr |
Cadence Design Systems
Synopsys
Mentor Graphics
Ansys Software Private Limited