Filter interviews by
Clear (1)
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
posted on 12 Jul 2016
I applied via Campus Placement
The question is about finding the minimum steps to reach from a source string to a destination string using three operations.
BFS and DFS are graph traversal techniques that can be used to solve this problem.
BFS is typically used when finding the shortest path or exploring all possible paths in a graph.
DFS is useful when searching for a specific path or exploring deeply into a graph.
In this case, BFS can be used to find...
I was interviewed in Nov 2016.
Need more context. What needs to be done with the large rectangle?
What are the dimensions of the rectangle?
Is it a 2D or 3D object?
What is the context of the problem?
Are there any constraints or limitations?
What tools or programming languages can be used?
Derive a formula to determine how many smaller rectangles fit into a bigger rectangle given their dimensions.
Calculate the number of times the smaller rectangle can fit into the bigger rectangle horizontally and vertically
Divide the width of the bigger rectangle by the width of the smaller rectangle to get the horizontal count
Divide the height of the bigger rectangle by the height of the smaller rectangle to get the ve...
At least 4 points are required to draw a rectangle.
A rectangle has 4 sides and 4 corners, so at least 4 points are needed to define those corners.
The points must be arranged in a specific order to form a closed shape with 4 sides.
Additional points can be used to add details or modify the shape of the rectangle.
The number of points required may vary depending on the software or tool used to draw the rectangle.
Answering how to calculate new coordinates of a scaled rectangle and providing a program for it.
To calculate new coordinates, multiply the original coordinates by the scaling factor
Scaling factor can be calculated by dividing the new length/breadth by the original length/breadth
Program can take input of original coordinates, scaling factor, and output new coordinates
Example: Original coordinates: (0,0), (0,5), (5,5), (...
posted on 10 May 2015
Locate sum of 2 numbers in a linear array (unsorted and sorted) and their complexities
For unsorted array, use nested loops to compare each element with every other element until the sum is found
For sorted array, use two pointers approach starting from the beginning and end of the array and move them towards each other until the sum is found
Complexity for unsorted array is O(n^2) and for sorted array is O(n)
Pointers are used to manipulate memory addresses and values in C++. Increment/decrement, address of and value at operators are commonly used.
Incrementing a pointer moves it to the next memory location of the same data type
Decrementing a pointer moves it to the previous memory location of the same data type
The address of operator (&) returns the memory address of a variable
The value at operator (*) returns the value sto
To determine if a point is inside or outside a rectangle, we check if the point's coordinates fall within the rectangle's boundaries.
Check if the point's x-coordinate is greater than the left edge of the rectangle
Check if the point's x-coordinate is less than the right edge of the rectangle
Check if the point's y-coordinate is greater than the top edge of the rectangle
Check if the point's y-coordinate is less than the b...
To find line that divides rectangle into 2 equal halves through a point inside it.
Find the center of the rectangle
Draw a line from the center to the given point
Extend the line to the opposite side of the rectangle
The extended line will divide the rectangle into 2 equal halves
There are multiple combinations of 8-bit and 16-bit signed numbers. How many such combinations are possible?
There are 2^8 (256) possible combinations of 8-bit signed numbers.
There are 2^16 (65,536) possible combinations of 16-bit signed numbers.
To find the total number of combinations, we can add the number of combinations of 8-bit and 16-bit signed numbers.
Therefore, the total number of possible combinations is 256 +
Find duplicates in an array of elements in 0(n) time and 0(1) space.
Use the property of inputs to your advantage
Iterate through the array and mark elements as negative
If an element is already negative, it is a duplicate
Return all the negative elements as duplicates
posted on 13 Aug 2024
3 rounds online, dsa, hr
posted on 22 Aug 2024
I applied via Campus Placement and was interviewed in Feb 2024. There were 3 interview rounds.
It was online coding test consist of 2 question
One from DP and other graph
One question of DP within in 45 min time constraints
Floor value of square root of a number is the largest integer less than or equal to the square root.
The floor value of square root of a number can be found using mathematical functions like floor() or integer division.
For example, the floor value of square root of 16 is 4, as sqrt(16) = 4.
For non-perfect square numbers, the floor value of square root can be calculated using approximation methods.
posted on 6 Oct 2023
I applied via Campus Placement and was interviewed in Apr 2023. There were 2 interview rounds.
Level was medium to hard
To print a tree in anticlockwise direction, start from the bottom left and traverse each level from right to left.
Start from the bottom left of the tree
Traverse each level from right to left
Print the nodes as you traverse
based on 1 interview
Interview experience
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